[all-commits] [llvm/llvm-project] 3d84b7: [lldb] Add GetMangledTypeName to TypeSystem/Compil...
Amir Ayupov via All-commits
all-commits at lists.llvm.org
Thu Nov 7 07:53:27 PST 2024
Branch: refs/heads/users/aaupov/spr/bolttest-add-callcont-fallthrutest
Home: https://github.com/llvm/llvm-project
Commit: 3d84b74cb3543428c35fc39e889684497286d482
https://github.com/llvm/llvm-project/commit/3d84b74cb3543428c35fc39e889684497286d482
Author: Augusto Noronha <anoronha at apple.com>
Date: 2024-10-18 (Fri, 18 Oct 2024)
Changed paths:
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/source/Symbol/CompilerType.cpp
M lldb/source/Symbol/TypeSystem.cpp
Log Message:
-----------
[lldb] Add GetMangledTypeName to TypeSystem/CompilerType (#113006)
Swift types have mangled names, so there should be a way to read those
from the compiler type.
This patch upstreams these two changes from swiftlang/llvm-project
(which were added there since at least 2016).
Commit: d8b17f2fb6129dba99c2ef843e5c38cc4414ae67
https://github.com/llvm/llvm-project/commit/d8b17f2fb6129dba99c2ef843e5c38cc4414ae67
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/test/CodeGen/AArch64/GlobalISel/combine-shift-immed-mismatch-crash.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-shifts-undef.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-unmerge.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector-widen-crash.ll
M llvm/test/CodeGen/AArch64/add.ll
M llvm/test/CodeGen/AArch64/andorxor.ll
M llvm/test/CodeGen/AArch64/arm64-extract-insert-varidx.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/concat-vector.ll
M llvm/test/CodeGen/AArch64/fptoi.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-scalar.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-scalar.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/load.ll
M llvm/test/CodeGen/AArch64/mul.ll
M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
M llvm/test/CodeGen/AArch64/sext.ll
M llvm/test/CodeGen/AArch64/sub.ll
M llvm/test/CodeGen/AArch64/xtn.ll
M llvm/test/CodeGen/AArch64/zext.ll
Log Message:
-----------
[GlobalISel] Combine G_UNMERGE_VALUES with anyext and build vector (#112370)
G_UNMERGE_VALUES (G_ANYEXT (G_BUILD_VECTOR))
ag G_UNMERGE_VALUES llvm/test/CodeGen/AArch64/GlobalISel | grep ANYEXT
[ANYEXT] is build vector or shuffle vector
Prior art:
https://reviews.llvm.org/D87117
https://reviews.llvm.org/D87166
https://reviews.llvm.org/D87174
https://reviews.llvm.org/D87427
; CHECK-NEXT: [[BUILD_VECTOR2:%[0-9]+]]:_(<8 x s8>) = G_BUILD_VECTOR
[[C2]](s8), [[C2]](s8), [[C2]](s8), [[C2]](s8), [[DEF1]](s8),
[[DEF1]](s8), [[DEF1]](s8), [[DEF1]](s8)
; CHECK-NEXT: [[ANYEXT1:%[0-9]+]]:_(<8 x s16>) = G_ANYEXT
[[BUILD_VECTOR2]](<8 x s8>)
; CHECK-NEXT: [[UV10:%[0-9]+]]:_(<4 x s16>), [[UV11:%[0-9]+]]:_(<4 x
s16>) = G_UNMERGE_VALUES
[[ANYEXT1]](<8 x s16>)
Test:
llvm/test/CodeGen/AArch64/GlobalISel/combine-unmerge.mir
Commit: 5e81437f2ba03ee0ab93b26a9654da9b95dab3b0
https://github.com/llvm/llvm-project/commit/5e81437f2ba03ee0ab93b26a9654da9b95dab3b0
Author: BrnBlrg <BenjaminAaronBlumer at gmail.com>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M clang/docs/analyzer/user-docs/CommandLineUsage.rst
Log Message:
-----------
[analyzer][doc] Fix typo in "translation unit" in analyzer doc CommandLineUsage.rst (#112966)
Commit: faed85b8e4961e853bfb10cd8ed1544e179ade0a
https://github.com/llvm/llvm-project/commit/faed85b8e4961e853bfb10cd8ed1544e179ade0a
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
Log Message:
-----------
[lldb][test][NFC] Document DYLIB_NAME Makefile variable (#112735)
Got caught out by this because simply specifying `DYLIB_CXX_SOURCES`
(without specifying `DYLIB_NAME`) resulted in linker errors because the
dylib was never built (and linked). We should probably make that a
Makefile error (though I haven't audited when exactly not specifying
`DYLIB_NAME` is valid; looked like that can happen when we specify
`FRAMEWORK`).
Commit: aa320600e2b7136f5156dd0c31f98ec0f8d5bce1
https://github.com/llvm/llvm-project/commit/aa320600e2b7136f5156dd0c31f98ec0f8d5bce1
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp
Log Message:
-----------
[lldb][ClangASTImporter][NFC] Emit a log message when we break MapImported invariant (#112748)
This patch emits a warning into the expression log when we call
`MapImported` on a decl which has already been imported, but with a new
`to` destination decl. In asserts builds this would lead to triggering
this [ASTImporter::MapImported
assertion](https://github.com/llvm/llvm-project/blob/6d7712a70c163d2ae9e1dc928db31fcb45d9e404/clang/lib/AST/ASTImporter.cpp#L10493-L10494).
In no-asserts builds we will likely crash, in potentially non-obvious
ways. The hope is that the log message will help in diagnosing this type
of issue in the field.
The underlying issue is discussed in more detail in:
https://github.com/llvm/llvm-project/pull/112566.
In a non-asserts build, the last few expression log entries would look
as follows:
```
CompleteTagDecl on (ASTContext*)scratch ASTContext Completing (TagDecl*)0x00000001132d31d0 named Foo
CTD Before:
CXXRecordDecl 0x1132d31d0 <<invalid sloc>> <invalid sloc> <undeserialized declarations> struct Foo
[ClangASTImporter] WARNING: overwriting an already imported decl '0x000000014378fd80' ('Foo') from '0x0000000143790c00' with 0x00000001132d31d0. Likely due to a name conflict when importing 'Foo'.
[ClangASTImporter] Imported (FieldDecl*)0x0000000143790220, named service (from (Decl*)0x0000000143791270), metadata 271
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001132c8c00
FindExternalLexicalDecls on (ASTContext*)0x0000000143c1f600 'scratch ASTContext' in 'Foo' (CXXRecordDecl*)0x000000014378FD80
FELD Original decl (ASTContext*)0x00000001132c8c00 (Decl*)0x0000000143790c00:
CXXRecordDecl 0x143790c00 <<invalid sloc>> <invalid sloc> struct Foo definition
|-DefinitionData pass_in_registers aggregate standard_layout trivially_copyable pod trivial literal
| |-DefaultConstructor exists trivial needs_implicit
| |-CopyConstructor simple trivial has_const_param needs_implicit implicit_has_const_param
| |-MoveConstructor exists simple trivial needs_implicit
| |-CopyAssignment simple trivial has_const_param needs_implicit implicit_has_const_param
| |-MoveAssignment exists simple trivial needs_implicit
| `-Destructor simple irrelevant trivial needs_implicit
|-FieldDecl 0x143791270 <<invalid sloc>> <invalid sloc> service 'Service *'
`-FieldDecl 0x1437912c8 <<invalid sloc>> <invalid sloc> mach_endpoint 'int'
FELD Adding [to CXXRecordDecl Foo] lexical FieldDecl FieldDecl 0x143791270 <<invalid sloc>> <invalid sloc> service 'Service *'
FELD Adding [to CXXRecordDecl Foo] lexical FieldDecl FieldDecl 0x1437912c8 <<invalid sloc>> <invalid sloc> mach_endpoint 'int'
[ClangASTImporter] Imported (FieldDecl*)0x0000000143790278, named mach_endpoint (from (Decl*)0x00000001437912c8), metadata 280
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001132c8c00
```
Note how we start "completing" `Foo`. Then emit our new `WARNING`.
Shortly after, we crash, and the log abruptly ends.
rdar://135551810
Commit: 1bbf3a37056761ec407031431e28f856428566f0
https://github.com/llvm/llvm-project/commit/1bbf3a37056761ec407031431e28f856428566f0
Author: Hui <hui.xie1990 at gmail.com>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M libcxx/include/__iterator/reverse_iterator.h
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/equal.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/greater-equal.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/greater.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/less-equal.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/less.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/not-equal.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cons/assign.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cons/ctor.default.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cons/ctor.iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cons/ctor.reverse_iterator.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.conv/base.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.elem/arrow.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.elem/bracket.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.elem/dereference.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nav/decrement-assign.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nav/increment-assign.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nav/minus.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nav/plus.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nav/postdecrement.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nav/postincrement.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nav/predecrement.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nav/preincrement.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/make_reverse_iterator.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/minus.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/plus.pass.cpp
Log Message:
-----------
[libc++] Fix `reverse_iterator` when underlying is c++20 `bidirectional_iterator` but not `Cpp17BidirectionalIterator` (#112100)
`reverse_iterator` supports either c++20 `bidirectional_iterator` or
`Cpp17BidirectionalIterator `
http://eel.is/c++draft/reverse.iter.requirements
The current `reverse_iterator` uses `std::prev` in its `operator->`,
which only supports the `Cpp17BidirectionalIterator` properly.
If the underlying iterator is c++20 `bidirectional_iterator` but does
not satisfy the named requirement `Cpp17BidirectionalIterator`,
(examples are `zip_view::iterator`, `flat_map::iterator`), the current
`std::prev` silently compiles but does a no-op and returns the same
iterator back. So `reverse_iterator::operator->` will silently give a
wrong answer.
Even if we fix the behaviour of `std::prev`, at best, we could fail to
compile the code. But this is not ok, because we need to support this
kind of iterators in `reverse_iterator`.
The solution is simply to not use `std::prev`.
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 1775b98de719299b653c12999d49ca04a9f4f65b
https://github.com/llvm/llvm-project/commit/1775b98de719299b653c12999d49ca04a9f4f65b
Author: Finlay <finlay.marno at codeplay.com>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBarrierOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVMiscOps.td
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
A mlir/test/Conversion/SPIRVToLLVM/barrier-ops-to-llvm.mlir
Log Message:
-----------
[mlir][spirv] Add spirv-to-llvm conversion for OpControlBarrier (#111864)
The conversion is based on the expected llvm function from the
LLVM/SPIRV translation tool.
Commit: 8fe49b0bbef5134c87adc2719165392fca1865c3
https://github.com/llvm/llvm-project/commit/8fe49b0bbef5134c87adc2719165392fca1865c3
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M mlir/docs/Dialects/Linalg/_index.md
Log Message:
-----------
[mlir][docs] Fix name of `mlir-linalg-ods-yaml-gen`(NFC) (#113029)
Commit: 5785cbb40570c3847aa994b2d2b7e03321eee7eb
https://github.com/llvm/llvm-project/commit/5785cbb40570c3847aa994b2d2b7e03321eee7eb
Author: Alex Rønne Petersen <alex at alexrp.com>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/ARM/fmuladd-soft-float.ll
A llvm/test/CodeGen/Mips/fmuladd-soft-float.ll
A llvm/test/CodeGen/SPARC/fmuladd-soft-float.ll
A llvm/test/CodeGen/SystemZ/fmuladd-soft-float.ll
A llvm/test/CodeGen/X86/fmuladd-soft-float.ll
Log Message:
-----------
[llvm] Ensure that soft float targets don't emit `fma()` libcalls. (#106615)
The previous behavior could be harmful in some edge cases, such as
emitting a call to `fma()` in the `fma()` implementation itself.
Do this by just being more accurate in `isFMAFasterThanFMulAndFAdd()`.
This was already done for PowerPC; this commit just extends that to Arm,
z/Arch, and x86. MIPS and SPARC already got it right, but I added tests
for them too, for good measure.
Note: I don't have commit access.
Commit: 5aec88f0e6920b27dbc6cf7b4625088291441210
https://github.com/llvm/llvm-project/commit/5aec88f0e6920b27dbc6cf7b4625088291441210
Author: Nico Weber <thakis at chromium.org>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M compiler-rt/lib/hwasan/CMakeLists.txt
M llvm/utils/gn/secondary/compiler-rt/lib/hwasan/BUILD.gn
Log Message:
-----------
[hwasan], [gn]: Fix formatting of hwasan cmake; re-sync gn file for b515d9ea1e43
Commit: 0f0a96b8621fcc8e1d6b6a3d047c263bb17a7f39
https://github.com/llvm/llvm-project/commit/0f0a96b8621fcc8e1d6b6a3d047c263bb17a7f39
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M clang/test/CodeGenCUDA/bf16.cu
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/LoadStoreVectorizer.ll
M llvm/test/CodeGen/NVPTX/activemask.ll
M llvm/test/CodeGen/NVPTX/addr-mode.ll
M llvm/test/CodeGen/NVPTX/aggregate-return.ll
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions-approx.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/bswap.ll
M llvm/test/CodeGen/NVPTX/call-with-alloca-buffer.ll
M llvm/test/CodeGen/NVPTX/call_bitcast_byval.ll
M llvm/test/CodeGen/NVPTX/chain-different-as.ll
M llvm/test/CodeGen/NVPTX/cmpxchg.ll
M llvm/test/CodeGen/NVPTX/combine-mad.ll
M llvm/test/CodeGen/NVPTX/compute-ptx-value-vts.ll
M llvm/test/CodeGen/NVPTX/convert-int-sm20.ll
M llvm/test/CodeGen/NVPTX/copysign.ll
M llvm/test/CodeGen/NVPTX/dot-product.ll
M llvm/test/CodeGen/NVPTX/dynamic_stackalloc.ll
M llvm/test/CodeGen/NVPTX/elect.ll
M llvm/test/CodeGen/NVPTX/extractelement.ll
M llvm/test/CodeGen/NVPTX/f16-instructions.ll
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i128-param.ll
M llvm/test/CodeGen/NVPTX/i128-retval.ll
M llvm/test/CodeGen/NVPTX/i128-struct.ll
M llvm/test/CodeGen/NVPTX/i128.ll
M llvm/test/CodeGen/NVPTX/i16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
M llvm/test/CodeGen/NVPTX/indirect_byval.ll
M llvm/test/CodeGen/NVPTX/jump-table.ll
M llvm/test/CodeGen/NVPTX/ldparam-v4.ll
M llvm/test/CodeGen/NVPTX/local-stack-frame.ll
M llvm/test/CodeGen/NVPTX/lower-alloca.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
M llvm/test/CodeGen/NVPTX/lower-args.ll
M llvm/test/CodeGen/NVPTX/math-intrins.ll
M llvm/test/CodeGen/NVPTX/mulhi-intrins.ll
M llvm/test/CodeGen/NVPTX/nvvm-reflect-arch-O0.ll
M llvm/test/CodeGen/NVPTX/param-load-store.ll
M llvm/test/CodeGen/NVPTX/param-overalign.ll
M llvm/test/CodeGen/NVPTX/param-vectorize-device.ll
M llvm/test/CodeGen/NVPTX/proxy-reg-erasure-ptx.ll
M llvm/test/CodeGen/NVPTX/rcp-opt.ll
M llvm/test/CodeGen/NVPTX/rotate.ll
M llvm/test/CodeGen/NVPTX/rotate_64.ll
M llvm/test/CodeGen/NVPTX/sad-intrins.ll
M llvm/test/CodeGen/NVPTX/sext-setcc.ll
M llvm/test/CodeGen/NVPTX/st-param-imm.ll
M llvm/test/CodeGen/NVPTX/store-undef.ll
M llvm/test/CodeGen/NVPTX/tex-read-cuda.ll
M llvm/test/CodeGen/NVPTX/tid-range.ll
M llvm/test/CodeGen/NVPTX/unaligned-param-load-store.ll
M llvm/test/CodeGen/NVPTX/unfold-masked-merge-vector-variablemask.ll
M llvm/test/CodeGen/NVPTX/vaargs.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
M llvm/test/CodeGen/NVPTX/vec-param-load.ll
M llvm/test/CodeGen/NVPTX/vector-args.ll
M llvm/test/CodeGen/NVPTX/vector-call.ll
M llvm/test/CodeGen/NVPTX/vector-returns.ll
M llvm/test/DebugInfo/NVPTX/dbg-declare-alloca.ll
M llvm/test/Transforms/NaryReassociate/NVPTX/nary-slsr.ll
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/nvptx-basic.ll.expected
Log Message:
-----------
[llvm][NVPTX] Strip unneeded '+0' in PTX load/store (#113017)
Remove the extraneous '+0' immediate offset part in PTX load/stores, to
improve readability of output PTX code.
Commit: 02bf3b54c02643069ad1a952c19f97cab00a3241
https://github.com/llvm/llvm-project/commit/02bf3b54c02643069ad1a952c19f97cab00a3241
Author: Felix Schneider <fx.schn at gmail.com>
Date: 2024-10-19 (Sat, 19 Oct 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/roundtrip.mlir
Log Message:
-----------
[mlir][linalg] Add quantized conv2d operator with FCHW,NCHW order (#107740)
This patch adds a quantized version of the `linalg.conv2d_nchw_fchw` Op.
This is the "channel-first" ordering typically used by PyTorch and
others.
Commit: 697a455e6fecf364c1ac4ff9874aefddf2952454
https://github.com/llvm/llvm-project/commit/697a455e6fecf364c1ac4ff9874aefddf2952454
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M lldb/include/lldb/Core/Module.h
M lldb/source/Core/Module.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
A lldb/test/Shell/SymbolFile/DWARF/TestDedupWarnings.test
Log Message:
-----------
More aggressively deduplicate global warnings based on contents. (#112801)
I've been getting complaints from users being spammed by -gmodules
missing file warnings going out of control because each object file
depends on an entire DAG of PCM files that usually are all missing at
once. To reduce this problem, this patch does two things:
1. Module now maintains a DenseMap<hash, once> that is used to display
each warning only once, based on its actual text.
2. The PCM warning itself is reworded to include less details, such as
the DIE offset, which is only useful to LLDB developers, who can get
this from the dwarf log if they need it. Because the detail is omitted
the hashing from (1) deduplicates the warnings.
rdar://138144624
Commit: f87f3ad6ea8bb80cba9ce009079e1b6c7486feac
https://github.com/llvm/llvm-project/commit/f87f3ad6ea8bb80cba9ce009079e1b6c7486feac
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M .github/workflows/containers/github-action-ci/stage1.Dockerfile
Log Message:
-----------
[Github] Bump CI compiler version to 19.1.2 (#113016)
Commit: ef91cd3f018411e0ba7989003d7617041e35f650
https://github.com/llvm/llvm-project/commit/ef91cd3f018411e0ba7989003d7617041e35f650
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/fold-fi-operand-shrink.mir
M llvm/test/CodeGen/AMDGPU/fold-operands-frame-index.gfx10.mir
M llvm/test/CodeGen/AMDGPU/fold-operands-frame-index.mir
M llvm/test/CodeGen/AMDGPU/frame-index-elimination.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.gfx10.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
Log Message:
-----------
AMDGPU: Handle folding frame indexes into add with immediate (#110738)
Commit: 06fce61e03d87fcd6b3c2dfb187cdeeaa0d1e20e
https://github.com/llvm/llvm-project/commit/06fce61e03d87fcd6b3c2dfb187cdeeaa0d1e20e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/X86.td
Log Message:
-----------
[X86] X86.td - whitespace cleanup. NFC.
Commit: 93ec08d62971d51a239fba8468d3cf9cb9e54fb0
https://github.com/llvm/llvm-project/commit/93ec08d62971d51a239fba8468d3cf9cb9e54fb0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[DAG] Move SIGN_EXTEND_INREG constant folding inside FoldConstantArithmetic
Update visitSIGN_EXTEND_INREG to call FoldConstantArithmetic instead of getNode.
Commit: 093d4db2f3c874d4683fb01194b00dbb20e5c713
https://github.com/llvm/llvm-project/commit/093d4db2f3c874d4683fb01194b00dbb20e5c713
Author: Campbell Barton <ideasman42 at gmail.com>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M clang/tools/clang-format/clang-format.el
Log Message:
-----------
Add "clang-format-on-save-mode" minor mode to clang-format.el (#104533)
Add an minor mode which can be optionally used to run clang-format on
save.
Formatting before saving works well and is convenient to avoid having to
remember to manually run clang format.
I've written this as it's own package but it's probably better if the
functionality is supported by clang-format.el.
See: https://github.com/melpa/melpa/pull/8762
Commit: 10f6d01e3d6cd6963bb2ec8729ab4f0aff9fdb5f
https://github.com/llvm/llvm-project/commit/10f6d01e3d6cd6963bb2ec8729ab4f0aff9fdb5f
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/extract-subvec-combine.ll
Log Message:
-----------
[GlobalISel][AArch64] Legalize G_EXTRACT_SUBVECTOR (#112946)
for future combines
Commit: 8819267747c868309d606f58cb616b05217622eb
https://github.com/llvm/llvm-project/commit/8819267747c868309d606f58cb616b05217622eb
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Log Message:
-----------
[InstCombine] Simplify code with SmallMapVector::operator[] (NFC) (#113022)
Commit: ca9f396cac0371a398eeef73182987a55a21e4a1
https://github.com/llvm/llvm-project/commit/ca9f396cac0371a398eeef73182987a55a21e4a1
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M lldb/source/Core/DataFileCache.cpp
Log Message:
-----------
[lldb] Avoid repeated hash lookups (NFC) (#113024)
Commit: f4136b326514b0732054e17eadc646b45925192d
https://github.com/llvm/llvm-project/commit/f4136b326514b0732054e17eadc646b45925192d
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M llvm/tools/llvm-diff/lib/DifferenceEngine.cpp
Log Message:
-----------
[llvm-diff] Avoid repeated hash lookups (NFC) (#113025)
Commit: b26df3e463cd1d65adadcd469fcd4b203484e39f
https://github.com/llvm/llvm-project/commit/b26df3e463cd1d65adadcd469fcd4b203484e39f
Author: Martin Storsjö <martin at martin.st>
Date: 2024-10-20 (Sun, 20 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx2-arith.ll
M llvm/test/CodeGen/X86/combine-sra.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
M llvm/test/CodeGen/X86/min-legal-vector-width.ll
M llvm/test/CodeGen/X86/pmul.ll
M llvm/test/CodeGen/X86/prefer-avx256-wide-mul.ll
M llvm/test/CodeGen/X86/psubus.ll
M llvm/test/CodeGen/X86/sat-add.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-sse41.ll
M llvm/test/CodeGen/X86/vector-trunc-packus.ll
M llvm/test/CodeGen/X86/vector-trunc-ssat.ll
M llvm/test/CodeGen/X86/vector-trunc-usat.ll
Log Message:
-----------
Revert "[DAG] isConstantIntBuildVectorOrConstantInt - peek through bitcasts (#112710)"
This reverts commit a630771b28f4b252e2754776b8f3ab416133951a.
This caused compilation to hang for Windows/ARM, see
https://github.com/llvm/llvm-project/pull/112710 for details.
Commit: 2eb1699184cf4d5de69f7825f66d7b3c04827f77
https://github.com/llvm/llvm-project/commit/2eb1699184cf4d5de69f7825f66d7b3c04827f77
Author: Tor Shepherd <tor.aksel.shepherd at gmail.com>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M clang-tools-extra/clangd/Config.h
M clang-tools-extra/clangd/ConfigCompile.cpp
M clang-tools-extra/clangd/ConfigFragment.h
M clang-tools-extra/clangd/ConfigYAML.cpp
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clangd] Add inlay hints for default function arguments (#95712)
The new inlay hints have the `DefaultArguments` kind and can be enabled in config similar to other inlay kint kinds.
Commit: dde26e361f50df4b999ac117222c74f2c100f817
https://github.com/llvm/llvm-project/commit/dde26e361f50df4b999ac117222c74f2c100f817
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M libunwind/src/UnwindCursor.hpp
Log Message:
-----------
[libunwind][AIX] Call dlclose only when dlsym() fails (#112768)
The personality routine `__xlcxx_personality_v0` in `libc++abi` is
hard-coded in the unwinder as the handler for EH in applications
generated by the legacy IBM C++ compiler. The symbol is resolved
dynamically using `dlopen` to avoid a hard dependency of `libunwind` on
`libc++abi` for cases such as non-C++ applications. However, `dlclose`
was incorrectly called after `dlsym` succeeded, potentially invalidating
the function pointer obtained from `dlsym` when the memory allocated for
the `dlopen` is reclaimed. This PR changes to call `dlclose` only when
`dlsym` fails.
Commit: cd938bf3279b6d2f1c0a8c82b6371a384d744378
https://github.com/llvm/llvm-project/commit/cd938bf3279b6d2f1c0a8c82b6371a384d744378
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M lldb/include/lldb/Target/Language.h
M lldb/source/Target/ThreadPlanStepOverRange.cpp
Log Message:
-----------
[lldb] Introduce Language::AreEquivalentFunctions (#112720)
This allows languages to provide an opinion on whether two symbol
contexts are equivalent (i.e. belong to the same function).
It is useful to drive the comparisons done by stepping plans that need
to ensure symbol contexts obtained from different points in time are
actually the same.
Commit: 2deb3a26fa47a4640962489e5473726d7a8bf12b
https://github.com/llvm/llvm-project/commit/2deb3a26fa47a4640962489e5473726d7a8bf12b
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Fixup IV users only once during epilogue vectorization. (NFC)
Induction users only need to be updated when vectorizing the epilogue.
Avoid running fixupIVUsers when vectorizing the main loop during
epilogue vectorization.
Commit: fe8af49a1bf73055941d7aba5d1d2f8e894e8022
https://github.com/llvm/llvm-project/commit/fe8af49a1bf73055941d7aba5d1d2f8e894e8022
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-20 (Sun, 20 Oct 2024)
Changed paths:
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/LinkerScript.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Symbols.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Writer.cpp
Log Message:
-----------
[ELF] Pass Ctx & to Defined & CommonSymbol
Commit: cba5c77a715cfa5892c69b6c646556825932575b
https://github.com/llvm/llvm-project/commit/cba5c77a715cfa5892c69b6c646556825932575b
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Mark unreachable code path when retrieving the scalar PH. (NFCI)
Commit: 1336e3d0b9a361fbbe2d97f225ef6757d20df51a
https://github.com/llvm/llvm-project/commit/1336e3d0b9a361fbbe2d97f225ef6757d20df51a
Author: c8ef <c8ef at outlook.com>
Date: 2024-10-20 (Sun, 20 Oct 2024)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
A llvm/test/Transforms/InstCombine/ilogb.ll
Log Message:
-----------
[ConstantFold] Fold `ilogb` and `ilogbf` when the input parameter is a constant value. (#113014)
This patch adds support for constant folding for the `ilogb` and
`ilogbf` libc functions.
Commit: 4a011ac84fa16f7eed34c309bdac5591d9553da7
https://github.com/llvm/llvm-project/commit/4a011ac84fa16f7eed34c309bdac5591d9553da7
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-10-20 (Sun, 20 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/test/CoverageMapping/branch-constfolded.cpp
M clang/test/CoverageMapping/if.cpp
M clang/test/CoverageMapping/macro-expansion.c
M clang/test/CoverageMapping/mcdc-scratch-space.c
M clang/test/CoverageMapping/mcdc-system-headers.cpp
M clang/test/CoverageMapping/switch.cpp
M clang/test/CoverageMapping/switchmacro.c
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/test/tools/llvm-cov/branch-c-general.test
M llvm/tools/llvm-cov/CoverageExporterJson.cpp
M llvm/tools/llvm-cov/CoverageExporterLcov.cpp
M llvm/tools/llvm-cov/CoverageSummaryInfo.cpp
M llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
M llvm/tools/llvm-cov/SourceCoverageViewText.cpp
Log Message:
-----------
[Coverage] Introduce "partial fold" on BranchRegion (#112694)
Currently both True/False counts were folded. It lost the information,
"It is True or False before folding." It prevented recalling branch
counts in merging template instantiations.
In `llvm-cov`, a folded branch is shown as:
- `[True: n, Folded]`
- `[Folded, False n]`
In the case If `n` is zero, a branch is reported as "uncovered". This is
distinguished from "folded" branch. When folded branches are merged,
`Folded` may be dissolved.
In the coverage map, either `Counter` is `Zero`. Currently both were
`Zero`.
Since "partial fold" has been introduced, either case in `switch` is
omitted as `Folded`.
Each `case:` in `switch` is reported as `[True: n, Folded]`, since
`False` count doesn't show meaningful value.
When `switch` doesn't have `default:`, `switch (Cond)` is reported as
`[Folded, False: n]`, since `True` count was just the sum of `case`(s).
`switch` with `default` can be considered as "the statement that doesn't
have any `False`(s)".
Commit: 861bd36bce3c3e1384b87b0366cf83e2c022c325
https://github.com/llvm/llvm-project/commit/861bd36bce3c3e1384b87b0366cf83e2c022c325
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M lld/ELF/AArch64ErrataFix.cpp
M lld/ELF/ARMErrataFix.cpp
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Arch/AVR.cpp
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Arch/Mips.cpp
M lld/ELF/Arch/PPC.cpp
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Arch/SystemZ.cpp
M lld/ELF/Arch/X86.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/MapFile.cpp
M lld/ELF/OutputSections.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/Symbols.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Thunks.cpp
M lld/ELF/Writer.cpp
Log Message:
-----------
[ELF] Pass Ctx & to Symbol::getVA
Commit: 5d928ffce22d976b6594496f14351e00c2e4dd78
https://github.com/llvm/llvm-project/commit/5d928ffce22d976b6594496f14351e00c2e4dd78
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M lld/ELF/OutputSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
Log Message:
-----------
[ELF] Remove error-prone RelocationBaseSection::classof
Commit: e6625a2c106f6af468a98323b08c7ce3cf273485
https://github.com/llvm/llvm-project/commit/e6625a2c106f6af468a98323b08c7ce3cf273485
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-19 (Sat, 19 Oct 2024)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/MapFile.cpp
M lld/ELF/Symbols.cpp
Log Message:
-----------
[ELF] Pass Ctx &
Commit: 11dad2fa5138a50d60a5a34a2c7e074b976820e2
https://github.com/llvm/llvm-project/commit/11dad2fa5138a50d60a5a34a2c7e074b976820e2
Author: Pranav Bhandarkar <pranav.bhandarkar at amd.com>
Date: 2024-10-20 (Sun, 20 Oct 2024)
Changed paths:
M flang/include/flang/Optimizer/OpenMP/Passes.td
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-allocatable.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
A flang/test/Transforms/omp-maps-for-privatized-symbols.fir
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
Log Message:
-----------
[flang][OpenMP] - Add `MapInfoOp` instances for target private variables when needed (#109862)
This PR adds an OpenMP dialect related pass for FIR/HLFIR which creates
`MapInfoOp` instances for certain privatized symbols. For example, if an
allocatable variable is used in a private clause attached to a
`omp.target` op, then the allocatable variable's descriptor will be
needed on the device (e.g. GPU). This descriptor needs to be separately
mapped onto the device. This pass creates the necessary `omp.map.info`
ops for this.
Commit: e6c01432b6fb6077e1bdf2e0abf05d2c2dd3fd3e
https://github.com/llvm/llvm-project/commit/e6c01432b6fb6077e1bdf2e0abf05d2c2dd3fd3e
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-10-20 (Sun, 20 Oct 2024)
Changed paths:
M libc/newhdrgen/yaml/math.yaml
Log Message:
-----------
[libc][math][c23] Update newhdrgen for new _Float16 math functions (#113005)
Commit: ba1255def64a9c3c68d97ace051eec76f546eeb0
https://github.com/llvm/llvm-project/commit/ba1255def64a9c3c68d97ace051eec76f546eeb0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-20 (Sun, 20 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] Use FoldConstantArithmetic to constant fold (and (ext (and V, c1)), c2) -> (and (ext V), (and c1, (ext c2)))
Noticed while triaging the regression from #112710 noticed by @mstorsjo - don't rely on isConstantIntBuildVectorOrConstantInt+getNode to guarantee constant folding (if it fails to constant fold it will infinite loop), use FoldConstantArithmetic instead.
Commit: 94cddcfc1ca21958add4355653872e8eea2557b7
https://github.com/llvm/llvm-project/commit/94cddcfc1ca21958add4355653872e8eea2557b7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-20 (Sun, 20 Oct 2024)
Changed paths:
A llvm/test/CodeGen/ARM/pr112710.ll
Log Message:
-----------
[ARM] Add reduced regression test for infinite-loop due to #112710
Commit: f0b3b6d15b2c0ee2cff2dd31dc075adb5d9a4ff7
https://github.com/llvm/llvm-project/commit/f0b3b6d15b2c0ee2cff2dd31dc075adb5d9a4ff7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-20 (Sun, 20 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx2-arith.ll
M llvm/test/CodeGen/X86/combine-sra.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
M llvm/test/CodeGen/X86/min-legal-vector-width.ll
M llvm/test/CodeGen/X86/pmul.ll
M llvm/test/CodeGen/X86/prefer-avx256-wide-mul.ll
M llvm/test/CodeGen/X86/psubus.ll
M llvm/test/CodeGen/X86/sat-add.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-sse41.ll
M llvm/test/CodeGen/X86/vector-trunc-packus.ll
M llvm/test/CodeGen/X86/vector-trunc-ssat.ll
M llvm/test/CodeGen/X86/vector-trunc-usat.ll
Log Message:
-----------
[DAG] isConstantIntBuildVectorOrConstantInt - peek through bitcasts (#112710) (REAPPLIED)
Alter both isConstantIntBuildVectorOrConstantInt + isConstantFPBuildVectorOrConstantFP to return a bool instead of the underlying SDNode, and adjust usage to account for this.
Update isConstantIntBuildVectorOrConstantInt to peek though bitcasts when attempting to find a constant, in particular this improves canonicalization of constants to the RHS on commutable instructions.
X86 is the beneficiary here as it often bitcasts rematerializable 0/-1 vector constants as vXi32 and bitcasts to the requested type
Minor cleanup that helps with #107423
Reapplied after regression fix ba1255def64a9c3c68d97ace051eec76f546eeb0
Commit: aa7f377c965ca79cf3022ddafe6cbd419bd52db5
https://github.com/llvm/llvm-project/commit/aa7f377c965ca79cf3022ddafe6cbd419bd52db5
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-10-20 (Sun, 20 Oct 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/clocale
M libcxx/include/cstdint
R libcxx/include/locale.h
M libcxx/include/module.modulemap
R libcxx/include/stdint.h
M libcxx/test/libcxx/depr/depr.c.headers/extern_c.pass.cpp
M libcxx/utils/libcxx/header_information.py
Log Message:
-----------
[libc++] Remove libc++'s own stdint.h and locale.h (#107436)
These headers are not doing anything beyond the system or compiler
provided equivalent headers, so there's no real reason to keep them
around. Reducing the number of C headers we provide in libc++ simplifies
our header layering and reduces the potential for confusion when headers
are layered incorrectly.
Commit: 5a47d48034dd3473eafd621b6f81647dd449f8e3
https://github.com/llvm/llvm-project/commit/5a47d48034dd3473eafd621b6f81647dd449f8e3
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-20 (Sun, 20 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port aa7f377c965c
Commit: 490b7d12f6bef2c399fca83e6a6dde31be021913
https://github.com/llvm/llvm-project/commit/490b7d12f6bef2c399fca83e6a6dde31be021913
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-20 (Sun, 20 Oct 2024)
Changed paths:
M clang/include/clang/AST/ExprCXX.h
M clang/lib/AST/ExprCXX.cpp
Log Message:
-----------
[clang][NFC] Pass const ASTContext& to CXXTypeidExpr API (#113083)
Commit: 2ce10f0491142863d3f21cd0adb312ab2cfed107
https://github.com/llvm/llvm-project/commit/2ce10f0491142863d3f21cd0adb312ab2cfed107
Author: Job Henandez Lara <jobhdezlara93 at gmail.com>
Date: 2024-10-20 (Sun, 20 Oct 2024)
Changed paths:
M libc/src/string/CMakeLists.txt
M libc/src/string/strcat.h
M libc/src/string/strcpy.h
M libc/src/string/strdup.h
M libc/src/string/strlcat.h
M libc/src/string/strlcpy.h
M libc/src/string/strlen.h
M libc/src/string/strncat.h
M libc/src/string/strndup.h
Log Message:
-----------
[libc] Remove the <string.h> header in libc/src and libc/test (#113076)
Commit: f13d3f72118b83e326169592e8f3c5962fd0eb29
https://github.com/llvm/llvm-project/commit/f13d3f72118b83e326169592e8f3c5962fd0eb29
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-20 (Sun, 20 Oct 2024)
Changed paths:
M clang/lib/Tooling/Inclusions/HeaderIncludes.cpp
Log Message:
-----------
[Tooling] Simplify code with StringMap::operator[] (NFC) (#113071)
Commit: 6ec113d4c35db934ec8fdb3d226d2d8e525a1f84
https://github.com/llvm/llvm-project/commit/6ec113d4c35db934ec8fdb3d226d2d8e525a1f84
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-20 (Sun, 20 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
Log Message:
-----------
[Local] Avoid repeated map lookups (NFC) (#113072)
Commit: 8673d0e0673dd1a5e6f7a5df7509c45e33582987
https://github.com/llvm/llvm-project/commit/8673d0e0673dd1a5e6f7a5df7509c45e33582987
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-20 (Sun, 20 Oct 2024)
Changed paths:
M lldb/source/Interpreter/Options.cpp
Log Message:
-----------
[lldb] Avoid repeated map lookups (NFC) (#113073)
Commit: 5405ba50de6753e3969f4e6c690f53f2abb29b2f
https://github.com/llvm/llvm-project/commit/5405ba50de6753e3969f4e6c690f53f2abb29b2f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-20 (Sun, 20 Oct 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][bytecode] Check ia32_{pext,pdep} builtins for integer args (#113091)
Commit: b9cb9b3f0d1e891b385eb53f8414b29554fd9234
https://github.com/llvm/llvm-project/commit/b9cb9b3f0d1e891b385eb53f8414b29554fd9234
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-20 (Sun, 20 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/GVNSink.cpp
Log Message:
-----------
[GVNSink] Avoid repeated hash lookups (NFC) (#113023)
Commit: 3bddf85e5274b302915f77cec3e1ac60c9309ebd
https://github.com/llvm/llvm-project/commit/3bddf85e5274b302915f77cec3e1ac60c9309ebd
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-20 (Sun, 20 Oct 2024)
Changed paths:
M llvm/tools/sancov/sancov.cpp
Log Message:
-----------
[sancov] Avoid repeated map lookups (NFC) (#113026)
Commit: 2077fb80ffb58cd1060ec6a5475399c6ad297df3
https://github.com/llvm/llvm-project/commit/2077fb80ffb58cd1060ec6a5475399c6ad297df3
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-20 (Sun, 20 Oct 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
Log Message:
-----------
[mlir] Avoid repeated map lookups (NFC) (#113074)
Commit: d1401822e2d2753bed3ac597a42cc0b261de40a4
https://github.com/llvm/llvm-project/commit/d1401822e2d2753bed3ac597a42cc0b261de40a4
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-20 (Sun, 20 Oct 2024)
Changed paths:
M llvm/lib/Support/VirtualFileSystem.cpp
Log Message:
-----------
[Support] Use a hetrogenous lookup with std::map (NFC) (#113075)
Commit: c2717a89b8437d041d532c7b2c535ca4f4b35872
https://github.com/llvm/llvm-project/commit/c2717a89b8437d041d532c7b2c535ca4f4b35872
Author: Martin Storsjö <martin at martin.st>
Date: 2024-10-20 (Sun, 20 Oct 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/Windows/delay_dbghelp.cpp
Log Message:
-----------
[compiler-rt] [test] Remove an unintended grep parameter
This parameter seems unintentional here; we're trying to grep
the input on stdin, from the earlier stage in the pipeline.
Since a recent update on Github Actions runners, the previous
form (grepping a file, while piping in data on stdin) would fail
running the test, with the test runner Python script throwing
an exception when evaluating it:
File "D:\a\llvm-mingw\llvm-mingw\llvm-project\llvm\utils\lit\lit\TestRunner.py", line 935, in _executeShCmd
out = procs[i].stdout.read()
^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.7\x64\Lib\encodings\cp1252.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: a bytes-like object is required, not 'NoneType'
Commit: 20bda93e438c63fb68a8130b7f88090c558e99b7
https://github.com/llvm/llvm-project/commit/20bda93e438c63fb68a8130b7f88090c558e99b7
Author: Fawdlstty <fawdlstty at users.noreply.github.com>
Date: 2024-10-20 (Sun, 20 Oct 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.def
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
Log Message:
-----------
[TLI] Add basic support for scalbnxx (#112936)
This patch adds basic support for `scalbln, scalblnf, scalblnl, scalbn,
scalbnf, scalbnl`. Constant folding support will be submitted in a
subsequent patch.
Related issue: <#112631>
Commit: 173907b5d77115623f160978a95159e36e05ee6c
https://github.com/llvm/llvm-project/commit/173907b5d77115623f160978a95159e36e05ee6c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-20 (Sun, 20 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Move logic to check if op is invariant to legacy cost model. (NFC)
This allows the function to be re-used in other places
Commit: d80b9cf713fd1698641c5b265de6b66618991476
https://github.com/llvm/llvm-project/commit/d80b9cf713fd1698641c5b265de6b66618991476
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M clang/include/clang/ASTMatchers/ASTMatchersMacros.h
Log Message:
-----------
[Clang][ASTMatchers] Add visibility macros to variables declared by macros (#110206)
This will fix missing symbols for ASTMatchersTests on windows when
building with CLANG_LINK_CLANG and explicit visibility macros are used.
This PR depends on macros that will be be added in #108276
This is part of the work to enable LLVM_BUILD_LLVM_DYLIB and LLVM\Clang
plugins on window.
Commit: df8b785838a2db01b4d056e603f7317209accefb
https://github.com/llvm/llvm-project/commit/df8b785838a2db01b4d056e603f7317209accefb
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/test/AST/ByteCode/cxx98.cpp
Log Message:
-----------
[clang][bytecode] Narrow pointer in UO_Deref unary operators (#113089)
Otherwise we treat this like an array element even though we should
treat it as a single object.
Commit: 615a5eb02c91ef78f59461f842873617dd187450
https://github.com/llvm/llvm-project/commit/615a5eb02c91ef78f59461f842873617dd187450
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][bytecode] Check ai32_bextr builtins for integer args (#113128)
Commit: 9b49392d6edcdfcc59304350ebd4196be5180d4a
https://github.com/llvm/llvm-project/commit/9b49392d6edcdfcc59304350ebd4196be5180d4a
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/OpenMP/atomic06-empty.f90
A flang/test/Semantics/OpenMP/declare-simd-empty.f90
A flang/test/Semantics/OpenMP/threadprivate08-empty.f90
Log Message:
-----------
[Flang] Handle the source (scopes) for some OpenMP constructs (#109097)
Fixes: https://github.com/llvm/llvm-project/issues/82943
Fixes: https://github.com/llvm/llvm-project/issues/82942
Fixes: https://github.com/llvm/llvm-project/issues/85593
Commit: 3c5cea650dcef5e5aae8f4090f5b7f410b31fca2
https://github.com/llvm/llvm-project/commit/3c5cea650dcef5e5aae8f4090f5b7f410b31fca2
Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/image-waterfall-loop-O0.ll
M llvm/test/CodeGen/AMDGPU/collapse-endcf.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/infloop-subrange-spill-inspect-subrange.mir
M llvm/test/CodeGen/AMDGPU/infloop-subrange-spill.mir
M llvm/test/CodeGen/AMDGPU/kernel-vgpr-spill-mubuf-with-voffset.ll
M llvm/test/CodeGen/AMDGPU/merge-m0.mir
Log Message:
-----------
[AMDGPU]: Add implicit-def to the BB prolog (#112872)
IMPLICIT_DEF inserted for a wwm-register at the
very first block or the predecessor block where
it is used for sgpr spilling can appear at a block
begin that requires spill-insertion during per-lane
VGPR regalloc phase. The presence of the IMPLICIT_DEF
currently breaks the BB prolog.
Fixes: SWDEV-490717
Commit: 923b8eea644a4d1fed0f3e20677514cf3f4e0fcc
https://github.com/llvm/llvm-project/commit/923b8eea644a4d1fed0f3e20677514cf3f4e0fcc
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/complex.cpp
Log Message:
-----------
[clang][bytecode] Allow ArrayElemPtr ops on null pointers (#113132)
This regresses one of the _Complex test cases a bit, but since the
diagnostic output wasn't very good here in the first place, let's ignore
it.
Commit: d582442becf1507a243614ee7348ccbb51eade28
https://github.com/llvm/llvm-project/commit/d582442becf1507a243614ee7348ccbb51eade28
Author: Ronan Keryell <ronan.keryell at amd.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-cxxfilt.rst
A llvm/test/tools/llvm-cxxfilt/quote.test
M llvm/tools/llvm-cxxfilt/Opts.td
M llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
Log Message:
-----------
[llvm-cxxfilt] Add --quote option to quote demangled function names (#111871)
This is useful when looking at LLVM/MLIR assembly produced from C++
sources. For example
cir.call @_ZN3aie4tileILi1ELi4EE7programIZ4mainE3$_0EEvOT_(%2, %7) :
will be translated to
cir.call @"void aie::tile<1, 4>::program<main::$_0>(main::$_0&&)"(%2,
%7) : which can be parsed as valid MLIR by the right mlir-lsp-server.
If a symbol is already quoted, do not quote it more.
---------
Co-authored-by: James Henderson <jh7370 at my.bristol.ac.uk>
Commit: ba5676cf91f91bbddfacae06c036cf79af0f2088
https://github.com/llvm/llvm-project/commit/ba5676cf91f91bbddfacae06c036cf79af0f2088
Author: tangaac <tangyan01 at loongson.cn>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw-minmax.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw.ll
Log Message:
-----------
[LoongArch] Minor refinement to monotonic atomic semantics. (#112681)
Don't use "_db" version AM instructions for LoongArch atomic memory
operations with monotonic semantics.
Commit: c77e836123d056d98051ee980003593706f9284d
https://github.com/llvm/llvm-project/commit/c77e836123d056d98051ee980003593706f9284d
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/CodeGen/attr-target-clones-riscv.c
M clang/test/CodeGen/attr-target-version-riscv.c
M clang/test/CodeGenCXX/attr-target-clones-riscv.cpp
M clang/test/CodeGenCXX/attr-target-version-riscv.cpp
M clang/test/SemaCXX/attr-target-clones-riscv.cpp
M clang/test/SemaCXX/attr-target-version-riscv.cpp
Log Message:
-----------
[RISCV][FMV] Remove support for negative priority (#112161)
Ensure that target_version and target_clones do not accept negative
numbers for the priority feature.
Base on discussion on
https://github.com/riscv-non-isa/riscv-c-api-doc/pull/85.
Commit: 6360652e9f5b5975d71c619abd981f102eeccec8
https://github.com/llvm/llvm-project/commit/6360652e9f5b5975d71c619abd981f102eeccec8
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir
Log Message:
-----------
Reland [AMDGPU] Serialize WWM_REG vreg flag (#110229) (#112492)
A reland but not an exact copy as `VRegInfo.Flags` from the parser is
now an int8 instead of a vector; so only need to copy over the value.
Commit: 911a6f2fcc719c46b5b392823473ba0bb5b1f4e1
https://github.com/llvm/llvm-project/commit/911a6f2fcc719c46b5b392823473ba0bb5b1f4e1
Author: Liu An <liuan at loongson.cn>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_loongarch64.cpp
M lldb/source/Plugins/Process/elf-core/CMakeLists.txt
A lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_loongarch64.cpp
A lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_loongarch64.h
M lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
A lldb/test/API/functionalities/postmortem/elf-core/linux-loongarch64.core
A lldb/test/API/functionalities/postmortem/elf-core/linux-loongarch64.out
Log Message:
-----------
[lldb][LoongArch64] Add support for LoongArch64 in elf-core for lldb (#112296)
When using the lldb command 'target create --core' on the LoongArch64
architecture, this part of the code is required.
Commit: a705838394c367280f709d628f807bfdf33f9a4a
https://github.com/llvm/llvm-project/commit/a705838394c367280f709d628f807bfdf33f9a4a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/elf-core/BUILD.gn
Log Message:
-----------
[gn build] Port 911a6f2fcc71
Commit: 4f06f79c03f8392f63f4430fcfcaefa763cf5c93
https://github.com/llvm/llvm-project/commit/4f06f79c03f8392f63f4430fcfcaefa763cf5c93
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/utils/lit/lit/reports.py
Log Message:
-----------
[llvm][llvm-lit] Handle testsuite elapsed time being None
The time for all testsuites will always exist because lit
measures it itself. For a given testsuite, I guess that it
can be None if for example the suite is empty.
Commit: 8507dbaec3f644b8a0c6291f097800d82a4f4b16
https://github.com/llvm/llvm-project/commit/8507dbaec3f644b8a0c6291f097800d82a4f4b16
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/utils/lit/lit/cl_arguments.py
M llvm/utils/lit/lit/reports.py
A llvm/utils/lit/tests/unique-output-file.py
Log Message:
-----------
[llvm][llvm-lit] Add option to create unique result file names if results already exist (#112729)
When running a build like:
```
ninja check-clang check-llvm
```
Prior to my changes you ended up with one results file, in this specific case Junit XML:
```
results.xml
```
This would only include the last set of tests lit ran, which were for
llvm. To get around this, many CI systems will run one check target,
move the file away, then run another, somehow propgating the return code
as well.
```
rectode=0
for target in targets:
ninja target
retcode=$?
mv results.xml results-${target}.xml
<report the overall return code>
```
I want to use something like this Buildkite reporting plugin in CI, which needs to have all the results available:
https://buildkite.com/docs/agent/v3/cli-annotate#using-annotations-to-report-test-results
Modifying CI's build scripts for Windows and Linux is a lot of work. So
my changes instead make lit detect an existing result file and modify
the file name to find a new file to write to. Now you will get:
```
results.xml results.<tempfile generated value>.xml
```
This will work for all result file types since I'm doing it in the base
Report class. Now you've got separate files, it's easy to collect them
with `<path>/*.xml`.
Note that the `<tempfile generated value>` is not ordered.
Commit: f1ba8943c88ba2b53aaad407933dbb4b48b029d3
https://github.com/llvm/llvm-project/commit/f1ba8943c88ba2b53aaad407933dbb4b48b029d3
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/Symbols.cpp
M lld/COFF/Symbols.h
A lld/test/COFF/weak-antidep-chain.test
A lld/test/COFF/weak-antidep.test
Log Message:
-----------
[LLD][COFF] Support anti-dependency symbols (#112542)
Co-authored-by: Billy Laws <blaws05 at gmail.com>
Anti-dependency symbols are allowed to be duplicated, with the first
definition taking precedence. If a regular weak alias is present, it is
preferred over an anti-dependency definition. Chaining anti-dependencies
is not allowed.
Commit: 159f25301763215ffc49c3c3aa6cb8095a990b41
https://github.com/llvm/llvm-project/commit/159f25301763215ffc49c3c3aa6cb8095a990b41
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
A clang/test/AST/ByteCode/openmp.cpp
Log Message:
-----------
[clang][bytecode] Diagnose invalid declrefs differently if we've... (#113140)
... tried their initializer already. In that case, diagnose the
non-const initializer instead of the reference to a non-constexpr
variable later. This is used in a lot of openmp tests.
Commit: 95b4128c6a87e9b894aa75524e63be147cca790b
https://github.com/llvm/llvm-project/commit/95b4128c6a87e9b894aa75524e63be147cca790b
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M flang/include/flang/Optimizer/Support/InternalNames.h
M flang/lib/Optimizer/Support/InternalNames.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
A flang/test/Integration/debug-extra-global-2.f90
A flang/test/Integration/debug-extra-global.f90
A flang/test/Transforms/debug-extra-global.fir
Log Message:
-----------
[flang][debug] Don't generate debug for compiler-generated variables (#112423)
Flang generates many globals to handle derived types. There was a check
in debug info to filter them based on the information that their names
start with a period. This changed since PR#104859 where 'X' is being
used instead of '.'.
This PR fixes this issue by also adding 'X' in that list. As user
variables gets lower cased by the NameUniquer, there is no risk that
those will be filtered out. I added a test for that to be sure.
Commit: d906ac52ab8ee46090a6696f4ffb34c40ee6abb7
https://github.com/llvm/llvm-project/commit/d906ac52ab8ee46090a6696f4ffb34c40ee6abb7
Author: Alex Rønne Petersen <alex at alexrp.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AVR.h
M clang/test/CodeGen/cx-complex-range.c
M clang/test/CodeGen/mdouble.c
A clang/test/Sema/avr-size-align.c
M clang/test/Sema/unbounded-array-bounds.c
Log Message:
-----------
[clang][AVR] Fix basic type size/alignment values to match avr-gcc. (#111290)
Closes #102172
Commit: a18dd29077c84fc076a4ed431d9e815a3d0b6f24
https://github.com/llvm/llvm-project/commit/a18dd29077c84fc076a4ed431d9e815a3d0b6f24
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
Log Message:
-----------
[ConstantFolding] Set signed/implicitTrunc when handling GEP offsets
GEP offsets have sext_or_trunc semantics. We were already doing
this for the outer-most GEP, but not for the inner ones.
I believe one of the sanitizer buildbot failures was due to this,
but I did not manage to reproduce the issue or come up with a
test case. Usually the problematic case will already be folded
away due to index type canonicalization.
Commit: 25b58c877c851bed9c34362cd69bcd8d8bb65ac4
https://github.com/llvm/llvm-project/commit/25b58c877c851bed9c34362cd69bcd8d8bb65ac4
Author: Krasimir Georgiev <krasimir at google.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
bazelbuild: fix for commit 2ce10 (#113142)
bazelbuild: fix for
https://github.com/llvm/llvm-project/commit/2ce10f0491142863d3f21cd0adb312ab2cfed107.
No functional changes intended.
Commit: df02bcc81d5099d60c2ec037edf8eaeb66456319
https://github.com/llvm/llvm-project/commit/df02bcc81d5099d60c2ec037edf8eaeb66456319
Author: Krasimir Georgiev <krasimir at google.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
bazelbuild: fix for commit d80b9cf713fd (#113153)
Fix for
https://github.com/llvm/llvm-project/commit/d80b9cf713fd1698641c5b265de6b66618991476.
No functional changes intended.
Commit: c47df3e8c8f47bab8a8302757c50710e0e1c43fb
https://github.com/llvm/llvm-project/commit/c47df3e8c8f47bab8a8302757c50710e0e1c43fb
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl.cpp
Log Message:
-----------
[lldb][test] Make vector operator[] return T& to workaround Arm codegen issue
Since https://github.com/llvm/llvm-project/pull/109628 landed, this test
has been failing on 32-bit Arm.
This is due to a codegen problem (whether added or uncovered by the change,
not known) where the trap instruction is placed after the frame pointer
and link register are restored.
https://github.com/llvm/llvm-project/issues/113154
So the code was:
```
std::__1::vector<int>::operator[](unsigned int):
sub sp, sp, #8
str r0, [sp, #4]
str r1, [sp]
add sp, sp, #8
.inst 0xe7ffdefe
bx lr
```
When lldb saw the trap, the PC was inside operator[] but the frame
information actually pointed to g.
This bug only happens for leaf functions so adding a return type
works around it:
```
std::__1::vector<int>::operator[](unsigned int):
push {r11, lr}
mov r11, sp
sub sp, sp, #8
str r0, [sp, #4]
str r1, [sp]
mov sp, r11
pop {r11, lr}
.inst 0xe7ffdefe
bx lr
```
(and operator[] should return T& anyway)
Now the PC location and frame information should match and the
test passes.
Commit: 46dc91e7d9a1b6dd0144e628519d06954b7b4e53
https://github.com/llvm/llvm-project/commit/46dc91e7d9a1b6dd0144e628519d06954b7b4e53
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Basic/FileSystemStatCache.h
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/FileSystemStatCache.cpp
M clang/lib/Lex/HeaderMap.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Serialization/ASTReader.cpp
A clang/test/Preprocessor/embed_zos.c
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/lib/Support/VirtualFileSystem.cpp
Log Message:
-----------
[SystemZ][z/OS] Add new openFileForReadBinary function, and pass IsText parameter to getBufferForFile (#111723)
This patch adds an IsText parameter to the following getBufferForFile,
getBufferForFileImpl. We introduce a new virtual function
openFileForReadBinary which defaults to openFileForRead except in
RealFileSystem which uses the OF_None flag instead of OF_Text.
The default is set to OF_Text instead of OF_None, this change in value
does not affect any other platforms other than z/OS. Setting this
parameter correctly is required to open files on z/OS in the correct
encoding. The IsText parameter is based on the context of where we open
files, for example, in the ASTReader, HeaderMap requires that files
always be opened in binary even though they might be tagged as text.
Commit: 17ac10c28f0a3c078a82595787da7d855e581bf1
https://github.com/llvm/llvm-project/commit/17ac10c28f0a3c078a82595787da7d855e581bf1
Author: David Green <david.green at arm.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/PhaseOrdering/AArch64/slpordering.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/loadorder.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-calls.ll
M llvm/test/Transforms/SLPVectorizer/X86/gather-node-same-as-vect-but-order.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-power-of-2-order-detection.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_with_external_users.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-calls.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect-gather-same-nodes.ll
Log Message:
-----------
Revert "[SLP]Initial non-power-of-2 support (but still whole register) for reductions"
This reverts commit 7f2e937469a8cec3fe977bf41ad2dfb9b4ce648a as it causes
regressions in the tests it modifies, and undoes what was added in #100653
(which itself was a fix for a previous regression).
Commit: 22e21bc1e796406c89e4a24fd81a1623ab2d7d85
https://github.com/llvm/llvm-project/commit/22e21bc1e796406c89e4a24fd81a1623ab2d7d85
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/utils/lit/lit/cl_arguments.py
Log Message:
-----------
[llvm][llvm-lit] Correct description of --use-unique-output-file-name
The initial version of this feature would use the output file name
if it could, but in switching to temp files I forgot to replicate that
behaviour.
What happens now is we always use a tempfile name and the output
path is a template for that. I think the current behaviour
still makes sense so I'm just correcting the documentation.
Commit: 6bac41496eb24c80aa659008d08220355a617c49
https://github.com/llvm/llvm-project/commit/6bac41496eb24c80aa659008d08220355a617c49
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
M llvm/lib/Target/RISCV/RISCVInstrGISel.td
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-insert-subvector.mir
Log Message:
-----------
[RISCV][GISEL] Legalize G_INSERT_SUBVECTOR (#108859)
This code is heavily based on the SelectionDAG lowerINSERT_SUBVECTOR
code.
Commit: 08330dba923c6293b71c85a9f27153c630adc968
https://github.com/llvm/llvm-project/commit/08330dba923c6293b71c85a9f27153c630adc968
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/utils/lit/lit/cl_arguments.py
Log Message:
-----------
[llvm][llvm-lit] Fix missing word in --use-unique-output-file-name help
Fixes 22e21bc1e796406c89e4a24fd81a1623ab2d7d85.
Commit: e26d9070d3eaee587b3ef0da6d12200a5b994765
https://github.com/llvm/llvm-project/commit/e26d9070d3eaee587b3ef0da6d12200a5b994765
Author: Nathan Gauër <brioche at google.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/Transforms/Utils.h
M llvm/lib/Transforms/Scalar/Reg2Mem.cpp
Log Message:
-----------
[Reg2Mem] Add legacy pass wrapping Reg2Mem (#111024)
The SPIR-V backend will need to use Reg2Mem, hence this pass needs to be
wrapped to be used with the legacy pass manager.
---------
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: 89d8449a2900123c2e9bd7a11315381b2b70c155
https://github.com/llvm/llvm-project/commit/89d8449a2900123c2e9bd7a11315381b2b70c155
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
Log Message:
-----------
[ORC] Fix LLJIT's __cxa_atexit declaration for clang-repl. (#113141)
Add sign extension on i32 return value.
Commit: ecfeacd152f07cf8aea210f63415e3e48b05ab22
https://github.com/llvm/llvm-project/commit/ecfeacd152f07cf8aea210f63415e3e48b05ab22
Author: David Green <david.green at arm.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
Log Message:
-----------
[AArch64] Convert aarch64_neon_sqxtn to ISD::TRUNCATE_SSAT_S and replace tablegen patterns
This lowers the aarch64_neon_sqxtn intrinsics to the new TRUNCATE_SSAT_S ISD
nodes, performing the same for sqxtun and uqxtn. This allows us to clean up the
tablegen patterns a little and in a future commit add combines for sqxtn.
Commit: c44860c8d2582abd88794267b4fa0fa953bbef80
https://github.com/llvm/llvm-project/commit/c44860c8d2582abd88794267b4fa0fa953bbef80
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[Flang][OpenMP] Disable lowering of omp.simd reductions in composites (#112686)
Currently, the `omp.simd` operation is ignored during MLIR to LLVM IR
translation when it takes part in a composite construct. One consequence
of this limitation is that any entry block arguments defined by that
operation will trigger a compiler crash if they are used anywhere, as
they are not bound to an LLVM IR value.
A previous PR introducing support for the `reduction` clause resulted in
the creation and use of entry block arguments attached to the `omp.simd`
operation, causing compiler crashes on 'do simd reduction(...)'
constructs.
This patch disables Flang lowering of simd reductions in 'do simd'
constructs to avoid triggering these errors while translation to LLVM IR
is still incomplete.
Commit: 5c9c281c251402fd65bb01717112cf22019ee409
https://github.com/llvm/llvm-project/commit/5c9c281c251402fd65bb01717112cf22019ee409
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVBinaryReader.h
M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp
Log Message:
-----------
[DebugInfo] Use heterogenous lookups with std::map (NFC) (#113118)
Commit: 61a286ac0817671ad09a505303b7a3a446798316
https://github.com/llvm/llvm-project/commit/61a286ac0817671ad09a505303b7a3a446798316
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/tools/llvm-readtapi/llvm-readtapi.cpp
Log Message:
-----------
[tools] Don't call StringRef::str() when calling StringMap::find (NFC) (#113119)
StringMap::find takes StringRef. We don't need to create an instance
of std::string from StringRef only to convert it right back to
StringRef.
Commit: 1bf1e92c72ec9086ab24103cf968e115b7248101
https://github.com/llvm/llvm-project/commit/1bf1e92c72ec9086ab24103cf968e115b7248101
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
Log Message:
-----------
[lldb] Avoid repeated map lookups (NFC) (#113121)
Commit: af6e1881e0791ac1ee611b62a3d12d9fb03ca142
https://github.com/llvm/llvm-project/commit/af6e1881e0791ac1ee611b62a3d12d9fb03ca142
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
Log Message:
-----------
[mlir] Avoid repeated map lookups (NFC) (#113122)
Commit: e2074c60bb3982cd8afb6408670332ea27da6383
https://github.com/llvm/llvm-project/commit/e2074c60bb3982cd8afb6408670332ea27da6383
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/test/CodeGen/AArch64/bitfield-insert.ll
Log Message:
-----------
[AArch64] Use implicitTrunc in isBitfieldDstMask() (NFC)
This code intentionally discards the high bits, so set
implicitTrunc=true. This is currently NFC but will enable an
APInt assertion in the future.
Commit: f0312d962d0510d613a5ad1aec0f0e44d4f124c0
https://github.com/llvm/llvm-project/commit/f0312d962d0510d613a5ad1aec0f0e44d4f124c0
Author: Andrea Faulds <andrea.faulds at amd.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M mlir/test/lib/Pass/CMakeLists.txt
A mlir/test/lib/Pass/TestSPIRVCPURunnerPipeline.cpp
M mlir/test/mlir-spirv-cpu-runner/double.mlir
M mlir/test/mlir-spirv-cpu-runner/simple_add.mlir
M mlir/tools/mlir-opt/mlir-opt.cpp
M mlir/tools/mlir-spirv-cpu-runner/mlir-spirv-cpu-runner.cpp
Log Message:
-----------
[mlir][mlir-spirv-cpu-runner] Move MLIR pass pipeline to mlir-opt (#111575)
Adds a new mlir-opt test-only pass, -test-spirv-cpu-runner-pipeline,
which runs the set of MLIR passes needed for the mlir-spirv-cpu-runner,
and removes them from the runner. The tests are changed to invoke
mlir-opt with this flag before running the runner. The eventual goal is
to move all host/device code generation steps out of the runner, like
with some of the other runners.
Commit: f2302ed3d0f84ca867a3e664ed65bc89e52ee670
https://github.com/llvm/llvm-project/commit/f2302ed3d0f84ca867a3e664ed65bc89e52ee670
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrGISel.td
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-insert-subvector.mir
Log Message:
-----------
[RISCV][GISEL] Fix operand on RISCV::G_VMV_V_V_VL
6bac41496eb24c80aa659008d08220355a617c49 added this opcode with the wrong
number of operands. It didn't fail on check-llvm for me or on pre-commit CI,
but once committed we got buildbot failures. This patch fixes the definition
of the instruction and fixes the failing test.
Commit: bd861d0e690cfd05184d86e954289cccfec97e92
https://github.com/llvm/llvm-project/commit/bd861d0e690cfd05184d86e954289cccfec97e92
Author: David Green <david.green at arm.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/qshrn.ll
Log Message:
-----------
[AArch64] Add some basic patterns for qshrn.
With the truncssat nodes these are relatively simple tablegen patterns to add.
The existing intrinsics are converted to shift+truncsat to they can lower using
the new patterns.
Fixes #112925.
Commit: 1dfdbf716112627dea5e79f7f4f1e1e9335ee9df
https://github.com/llvm/llvm-project/commit/1dfdbf716112627dea5e79f7f4f1e1e9335ee9df
Author: Boaz Brickner <brickner at google.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M clang/test/CXX/drs/cwg9xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add covariance tests that make sure we return an error when return value is different in pointer / lvalue ref / rvalue ref (#112853)
Per https://cplusplus.github.io/CWG/issues/960.html.
Commit: 67ff5ba9af9754261abe11d762af11532a816126
https://github.com/llvm/llvm-project/commit/67ff5ba9af9754261abe11d762af11532a816126
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/MC/AArch64/LSFE/directive-arch-negative.s
A llvm/test/MC/AArch64/LSFE/directive-arch.s
A llvm/test/MC/AArch64/LSFE/directive-arch_extension-negative.s
A llvm/test/MC/AArch64/LSFE/directive-arch_extension.s
A llvm/test/MC/AArch64/LSFE/directive-cpu-negative.s
A llvm/test/MC/AArch64/LSFE/directive-cpu.s
A llvm/test/MC/AArch64/LSFE/ldfadd-diagnostics.s
A llvm/test/MC/AArch64/LSFE/ldfadd.s
A llvm/test/MC/AArch64/LSFE/ldfmax-diagnostics.s
A llvm/test/MC/AArch64/LSFE/ldfmax.s
A llvm/test/MC/AArch64/LSFE/ldfmaxnm-diagnostics.s
A llvm/test/MC/AArch64/LSFE/ldfmaxnm.s
A llvm/test/MC/AArch64/LSFE/ldfmin-diagnostics.s
A llvm/test/MC/AArch64/LSFE/ldfmin.s
A llvm/test/MC/AArch64/LSFE/ldfminnm-diagnostics.s
A llvm/test/MC/AArch64/LSFE/ldfminnm.s
A llvm/test/MC/AArch64/LSFE/stfadd-diagnostics.s
A llvm/test/MC/AArch64/LSFE/stfadd.s
A llvm/test/MC/AArch64/LSFE/stfmax-diagnostics.s
A llvm/test/MC/AArch64/LSFE/stfmax.s
A llvm/test/MC/AArch64/LSFE/stfmaxnm-diagnostics.s
A llvm/test/MC/AArch64/LSFE/stfmaxnm.s
A llvm/test/MC/AArch64/LSFE/stfmin-diagnostics.s
A llvm/test/MC/AArch64/LSFE/stfmin.s
A llvm/test/MC/AArch64/LSFE/stfminnm-diagnostics.s
A llvm/test/MC/AArch64/LSFE/stfminnm.s
Log Message:
-----------
[AArch64] Add assembly/disaasembly of atomic ld/st (#112892)
This patch adds assembly/disassembly for the following instructions:
ldfadd{a,al,l,}, ldbfadd{a,al,l,}
ldfmax{a,al,l,}, ldbfmax{a,al,l,}
ldfmaxnm{a,al,l,}, ldbfmaxnm{a,al,l,}
ldfmin{a,al,l,}, ldbfmin{a,al,l,}
ldfminnm{a,al,l,} ldbfminnm{a,al,l,}
stfadd{l,}, stbfadd{l,}
stfmax{l,}, stbfmax{l,}
stfmaxnm{l,}, stbfmaxnm{l,}
stfmin{l,}, stbfmin{l,}
stfminnm{l,}, stbfminnm{l,}
According to [1]
[1]https://developer.arm.com/documentation/ddi0602
Co-authored-by: Spencer Abson
[spencer.abson at arm.com](mailto:spencer.abson at arm.com)
Co-authored-by: Caroline Concatto
[caroline.concatto at arm.com](mailto:caroline.concatto at arm.com)
Commit: a2ba438f3e5635e368333213914c7452a6a6a2da
https://github.com/llvm/llvm-project/commit/a2ba438f3e5635e368333213914c7452a6a6a2da
Author: XChy <xxs_chy at outlook.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/fcmp-range-check-idiom.ll
Log Message:
-----------
[InstCombine] Preserve the flag from RHS only if the `and` is bitwise (#113164)
Fixes #113123
Alive proof: https://alive2.llvm.org/ce/z/hnqeLC
Commit: 1e07c4800cf46ac9e4748b664cb58cbd48acb918
https://github.com/llvm/llvm-project/commit/1e07c4800cf46ac9e4748b664cb58cbd48acb918
Author: Chris Apple <cja-private at pm.me>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M compiler-rt/lib/rtsan/CMakeLists.txt
R compiler-rt/lib/rtsan/rtsan_interceptors.cpp
A compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/CMakeLists.txt
R compiler-rt/lib/rtsan/tests/rtsan_test_interceptors.cpp
A compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[rtsan][NFC] Rename *interceptors.cpp to *interceptors_posix.cpp (#112935)
Done in preparation of exploring rtsan on windows.
Commit: 4679583181a9032b4f7c6476c7a1bfefe5724b47
https://github.com/llvm/llvm-project/commit/4679583181a9032b4f7c6476c7a1bfefe5724b47
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-inlineasm.mir
M llvm/test/CodeGen/AArch64/aarch64-sve-asm.ll
M llvm/test/CodeGen/AArch64/emit_fneg_with_non_register_operand.mir
M llvm/test/CodeGen/AArch64/fmlal-loreg.ll
M llvm/test/CodeGen/AArch64/peephole-insvigpr.mir
Log Message:
-----------
[LLVM][AArch64] Add register classes for Armv9.6 assembly (#111717)
Add new register classes/operands and their encoder/decoder behaviour
required for the new Armv9.6 instructions (see
https://developer.arm.com/documentation/109697/2024_09/Feature-descriptions/The-Armv9-6-architecture-extension).
This work is the basis ofthe 2024 Armv9.6 architecture update effort for
SME.
Co-authored-by: Caroline Concatto caroline.concatto at arm.com
Co-authored-by: Marian Lukac marian.lukac at arm.com
Co-authored-by: Momchil Velikov momchil.velikov at arm.com
Commit: e7302319b52e3d231216d54d10622b0698928a96
https://github.com/llvm/llvm-project/commit/e7302319b52e3d231216d54d10622b0698928a96
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M mlir/test/lib/Pass/CMakeLists.txt
Log Message:
-----------
[mlir] Fix shared build. NFC
Commit: 17e9752267ed9c81c8da87f3a6d0e01f130b0d04
https://github.com/llvm/llvm-project/commit/17e9752267ed9c81c8da87f3a6d0e01f130b0d04
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M mlir/test/lib/Pass/CMakeLists.txt
R mlir/test/lib/Pass/TestSPIRVCPURunnerPipeline.cpp
M mlir/test/mlir-spirv-cpu-runner/double.mlir
M mlir/test/mlir-spirv-cpu-runner/simple_add.mlir
M mlir/tools/mlir-opt/mlir-opt.cpp
M mlir/tools/mlir-spirv-cpu-runner/mlir-spirv-cpu-runner.cpp
Log Message:
-----------
Revert "[mlir][mlir-spirv-cpu-runner] Move MLIR pass pipeline to mlir-opt" (#113176)
Reverts llvm/llvm-project#111575
This caused build failures:
https://lab.llvm.org/buildbot/#/builders/138/builds/5244
Commit: c5ca1b8626db71fa7ac5d851fa3a0710641136ff
https://github.com/llvm/llvm-project/commit/c5ca1b8626db71fa7ac5d851fa3a0710641136ff
Author: Zaara Syeda <syzaara at ca.ibm.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/test/CodeGen/PowerPC/sat-add.ll
A llvm/test/CodeGen/PowerPC/uaddo-32.ll
A llvm/test/CodeGen/PowerPC/uaddo-64.ll
Log Message:
-----------
[PPC] Add custom lowering for uaddo (#110137)
Improve the codegen for uaddo node for i64 in 64-bit mode and i32 in
32-bit mode by custom lowering.
Commit: 900b6369e2f5fbc229371a142fdcd28b5280dbc0
https://github.com/llvm/llvm-project/commit/900b6369e2f5fbc229371a142fdcd28b5280dbc0
Author: Jake Egan <jake.egan at ibm.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/log1p.ll
Log Message:
-----------
[AIX][test] XFAIL constant folding log1p test
Test added by commit 47a6da2d4dc7d996eb2678243ac566822d59e483 fails on the AIX bot. So XFAIL for now to investigate further.
Commit: 120e42d3135f558b5e0a73da1c6484571eeff941
https://github.com/llvm/llvm-project/commit/120e42d3135f558b5e0a73da1c6484571eeff941
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/ThinLTO/X86/memprof-icp.ll
Log Message:
-----------
[MemProf] Improve metadata cleanup in LTO backend (#113039)
Previously we were attempting to remove the memprof-related metadata
when iterating through instructions in the LTO backend. However, we
missed some as there are a number of cases where we skip instructions,
or even entire functions. Simplify the cleanup and ensure all is removed
by doing a full sweep over all instructions after completing cloning.
This is largely NFC except with -memprof-report-hinted-sizes enabled,
because we were propagating and simplifying the metadata after inlining
in the LTO backend, which caused some stray messages as metadata was
re-converted to attributes.
Commit: 8417f6af54c8f6dcf5893ab1352b50bf33c5a1ba
https://github.com/llvm/llvm-project/commit/8417f6af54c8f6dcf5893ab1352b50bf33c5a1ba
Author: Hans Wennborg <hans at chromium.org>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
Log Message:
-----------
[win/asan] Fix instruction size for 44 0f b6 1a
movzx r11d,BYTE PTR [rdx]
is four bytes long.
Follow-up to #111638
Commit: 42ba452aa94e4da277842d8990ad958a6256e558
https://github.com/llvm/llvm-project/commit/42ba452aa94e4da277842d8990ad958a6256e558
Author: Spencer Abson <Spencer.Abson at arm.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-inlineasm.mir
M llvm/test/CodeGen/AArch64/aarch64-sve-asm.ll
M llvm/test/CodeGen/AArch64/emit_fneg_with_non_register_operand.mir
M llvm/test/CodeGen/AArch64/fmlal-loreg.ll
M llvm/test/CodeGen/AArch64/peephole-insvigpr.mir
Log Message:
-----------
[NFC] Fix -WError for unused Encode/Decode ZK methods
Remove the unused functions and register classes from the change below
https://github.com/llvm/llvm-project/commit/4679583181a9032b4f7c6476c7a1bfefe5724b47
Commit: 9e03920cbf946e7ba282e99213707643a23ae5fb
https://github.com/llvm/llvm-project/commit/9e03920cbf946e7ba282e99213707643a23ae5fb
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/root-gather-reused-scalar.ll
Log Message:
-----------
[SLP]Ignore root gather node, when searching for reuses
Root gather/buildvector node should be ignored when SLP vectorizer tries
to find matching gather nodes, vectorized earlier. This node is
definitely the last one in the pipeline and it does not have users. It
may cause the compiler crash
Fixes #113143
Commit: 54c93aabec965469fe7db1f4391a190e3d640feb
https://github.com/llvm/llvm-project/commit/54c93aabec965469fe7db1f4391a190e3d640feb
Author: vporpo <vporpodas at google.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
A llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
Log Message:
-----------
[SandboxVec][Legality] Scaffolding for Legality (#112623)
This patch adds a LegalityResultWithReason class for describing the
reason why legality decided not to vectorize the code.
Commit: fc59f2cc0f191bb7a0706dfb65e3e46fef69f466
https://github.com/llvm/llvm-project/commit/fc59f2cc0f191bb7a0706dfb65e3e46fef69f466
Author: RolandF77 <55763885+RolandF77 at users.noreply.github.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/build-vector-from-load-and-zeros.ll
M llvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll
A llvm/test/CodeGen/PowerPC/const-stov.ll
M llvm/test/CodeGen/PowerPC/load-and-splat.ll
M llvm/test/CodeGen/PowerPC/p10-splatImm32-undef.ll
M llvm/test/CodeGen/PowerPC/ppc-32bit-build-vector.ll
Log Message:
-----------
[PowerPC] special case small int constant for custom scalar_to_vector (#109850)
Special case small int constant in the PPC custom lowering of
scalar_to_vector.
Commit: f1e455ed51be4f53462db87aa5d64dbd830e5de2
https://github.com/llvm/llvm-project/commit/f1e455ed51be4f53462db87aa5d64dbd830e5de2
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
Log Message:
-----------
[NFC][Sema][OpenMP] Fix free-nonheap-object warning (#112942)
This is one of the many PRs to fix errors with LLVM_ENABLE_WERROR=on.
Built by GCC 11.
Fix warning
In destructor ‘llvm::APInt::~APInt()’,
inlined from ‘llvm::APInt::~APInt()’ at
llvm-project/llvm/include/llvm/ADT/APInt.h:190:3,
inlined from ‘llvm::APSInt::~APSInt()’ at
llvm-project/llvm/include/llvm/ADT/APSInt.h:23:21,
inlined from ‘bool
checkOMPArraySectionConstantForReduction(clang::ASTContext&, const
clang::ArraySectionExpr*, bool&, llvm::SmallVectorImpl<llvm::APSInt>&)’
at llvm-project/clang/lib/Sema/SemaOpenMP.cpp:18357:45,
inlined from ‘bool actOnOMPReductionKindClause(clang::Sema&,
{anonymous}::DSAStackTy*, clang::OpenMPClauseKind,
llvm::ArrayRef<clang::Expr*>, clang::SourceLocation,
clang::SourceLocation, clang::SourceLocation, clang::SourceLocation,
clang::CXXScopeSpec&, const clang::DeclarationNameInfo&,
llvm::ArrayRef<clang::Expr*>, {anonymous}::ReductionData&)’ at
llvm-project/clang/lib/Sema/SemaOpenMP.cpp:18715:68:
llvm-project/llvm/include/llvm/ADT/APInt.h:192:18: error: ‘void operator
delete [](void*)’ called on a pointer to an unallocated object ‘1’
[-Werror=free-nonheap-object]
192 | delete[] U.pVal;
| ^~~~
Commit: d4630ae5ed678e50f4758d0fb7a6875494f690e5
https://github.com/llvm/llvm-project/commit/d4630ae5ed678e50f4758d0fb7a6875494f690e5
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
Log Message:
-----------
[Vectorize] Fix a warning
This patch fixes:
llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h:85:16:
error: private field 'Reason' is not used
[-Werror,-Wunused-private-field]
Commit: 006fb0904d8e549476342de4b749792f73b3af85
https://github.com/llvm/llvm-project/commit/006fb0904d8e549476342de4b749792f73b3af85
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
Log Message:
-----------
[gn build] Port 54c93aabec96
Commit: 3277c7cd28154e33637a168acb26cea7ac1f7fff
https://github.com/llvm/llvm-project/commit/3277c7cd28154e33637a168acb26cea7ac1f7fff
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/addsubu64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_udec_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i8.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.large.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ballot.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.scale.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.end.cf.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.csub.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.if.break.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.store.2d.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.mov.dpp.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.update.dpp.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.wmma_32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.wmma_64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/load-unaligned.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mubuf-global.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul-known-bits.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-f16-f32-matrix-modifiers.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-imm.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-iu-modifiers.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-swmmac-index_key.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-f16-f32-matrix-modifiers.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-imm.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-iu-modifiers.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-swmmac-index_key.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64.ll
M llvm/test/CodeGen/AMDGPU/add.ll
M llvm/test/CodeGen/AMDGPU/add.v2i16.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomics_cond_sub.ll
M llvm/test/CodeGen/AMDGPU/bitreverse.ll
M llvm/test/CodeGen/AMDGPU/br_cc.f16.ll
M llvm/test/CodeGen/AMDGPU/branch-relaxation.ll
M llvm/test/CodeGen/AMDGPU/bswap.ll
M llvm/test/CodeGen/AMDGPU/build_vector.ll
M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/clamp-modifier.ll
M llvm/test/CodeGen/AMDGPU/clamp.ll
M llvm/test/CodeGen/AMDGPU/cluster_stores.ll
M llvm/test/CodeGen/AMDGPU/commute-compares-scalar-float.ll
M llvm/test/CodeGen/AMDGPU/ctlz.ll
M llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/divergence-driven-buildvector.ll
M llvm/test/CodeGen/AMDGPU/ds-sub-offset.ll
M llvm/test/CodeGen/AMDGPU/expand-scalar-carry-out-select-user.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-f16.ll
M llvm/test/CodeGen/AMDGPU/fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fadd.f16.ll
M llvm/test/CodeGen/AMDGPU/fast-unaligned-load-store.global.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
M llvm/test/CodeGen/AMDGPU/fcmp.f16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f32.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f64.ll
M llvm/test/CodeGen/AMDGPU/fdiv.f16.ll
M llvm/test/CodeGen/AMDGPU/fdiv.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-nondeterminism.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/fma-combine.ll
M llvm/test/CodeGen/AMDGPU/fmax3.ll
M llvm/test/CodeGen/AMDGPU/fmaximum.ll
M llvm/test/CodeGen/AMDGPU/fmed3.ll
M llvm/test/CodeGen/AMDGPU/fmin3.ll
M llvm/test/CodeGen/AMDGPU/fminimum.ll
M llvm/test/CodeGen/AMDGPU/fmul-2-combine-multi-use.ll
M llvm/test/CodeGen/AMDGPU/fmul.f16.ll
M llvm/test/CodeGen/AMDGPU/fmuladd.f16.ll
M llvm/test/CodeGen/AMDGPU/fnearbyint.ll
M llvm/test/CodeGen/AMDGPU/fneg-fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
M llvm/test/CodeGen/AMDGPU/fneg.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg.ll
M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx1200.ll
M llvm/test/CodeGen/AMDGPU/fp-classify.ll
M llvm/test/CodeGen/AMDGPU/fp-min-max-buffer-atomics.ll
M llvm/test/CodeGen/AMDGPU/fp-min-max-buffer-ptr-atomics.ll
M llvm/test/CodeGen/AMDGPU/fp-min-max-num-global-atomics.ll
M llvm/test/CodeGen/AMDGPU/fp16_to_fp32.ll
M llvm/test/CodeGen/AMDGPU/fp16_to_fp64.ll
M llvm/test/CodeGen/AMDGPU/fp32_to_fp16.ll
M llvm/test/CodeGen/AMDGPU/fpext.f16.ll
M llvm/test/CodeGen/AMDGPU/fptosi.f16.ll
M llvm/test/CodeGen/AMDGPU/fptoui.f16.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/fshl.ll
M llvm/test/CodeGen/AMDGPU/fshr.ll
M llvm/test/CodeGen/AMDGPU/fsub.f16.ll
M llvm/test/CodeGen/AMDGPU/gfx12_scalar_subword_loads.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-atomics.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-store.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i64.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/CodeGen/AMDGPU/half.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/idot4s.ll
M llvm/test/CodeGen/AMDGPU/idot4u.ll
M llvm/test/CodeGen/AMDGPU/image-load-d16-tfe.ll
M llvm/test/CodeGen/AMDGPU/imm16.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bitreplicate.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pkrtz.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.add.gs.reg.rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.bvh.stack.rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.sub.gs.reg.rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fcmp.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fcmp.w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.bf16.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f16.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f32.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.atomic.ordered.add.b64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.icmp.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.icmp.w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.a16.dim.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.a16.encode.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.store.a16.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.store.a16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.inverse.ballot.i32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.inverse.ballot.i64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.private.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.shared.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane16.var.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ptr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.quadmask.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.tfe.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.store.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.store.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.tbuffer.store.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.store.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umax.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umin.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.wait.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sendmsg.rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.tfe.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.store.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.tbuffer.store.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.store.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.id.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma_32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma_64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wqm.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
M llvm/test/CodeGen/AMDGPU/llvm.ceil.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.cos.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.floor.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.fmuladd.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.get.fpmode.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
M llvm/test/CodeGen/AMDGPU/llvm.maxnum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minnum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/llvm.rint.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.round.ll
M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
M llvm/test/CodeGen/AMDGPU/llvm.sin.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.sqrt.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.trunc.f16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-always-uniform.ll
M llvm/test/CodeGen/AMDGPU/load-constant-f32.ll
M llvm/test/CodeGen/AMDGPU/load-constant-f64.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i32.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i64.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/loop-prefetch-data.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-hsa.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-pal.ll
M llvm/test/CodeGen/AMDGPU/lshr.v2i16.ll
M llvm/test/CodeGen/AMDGPU/mad.u16.ll
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/madak.ll
M llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
M llvm/test/CodeGen/AMDGPU/max-hard-clause-length.ll
M llvm/test/CodeGen/AMDGPU/min.ll
M llvm/test/CodeGen/AMDGPU/minimummaximum.ll
M llvm/test/CodeGen/AMDGPU/minmax.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/offset-split-global.ll
M llvm/test/CodeGen/AMDGPU/omod.ll
M llvm/test/CodeGen/AMDGPU/release-vgprs-dbg-loc.mir
M llvm/test/CodeGen/AMDGPU/release-vgprs.mir
M llvm/test/CodeGen/AMDGPU/rotl.ll
M llvm/test/CodeGen/AMDGPU/rotr.ll
M llvm/test/CodeGen/AMDGPU/saddo.ll
M llvm/test/CodeGen/AMDGPU/scalar-float-sopc.ll
M llvm/test/CodeGen/AMDGPU/select.f16.ll
M llvm/test/CodeGen/AMDGPU/shl.v2i16.ll
M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
M llvm/test/CodeGen/AMDGPU/sint_to_fp.i64.ll
M llvm/test/CodeGen/AMDGPU/sitofp.f16.ll
M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
M llvm/test/CodeGen/AMDGPU/sub.ll
M llvm/test/CodeGen/AMDGPU/sub.v2i16.ll
M llvm/test/CodeGen/AMDGPU/trap-abis.ll
M llvm/test/CodeGen/AMDGPU/uint_to_fp.i64.ll
M llvm/test/CodeGen/AMDGPU/uitofp.f16.ll
M llvm/test/CodeGen/AMDGPU/v_cndmask.ll
M llvm/test/CodeGen/AMDGPU/v_madak_f16.ll
M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
M llvm/test/CodeGen/AMDGPU/vgpr-mark-last-scratch-load.ll
M llvm/test/CodeGen/AMDGPU/wait-before-stores-with-scope_sys.ll
M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-f16-f32-matrix-modifiers.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-imm.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-iu-modifiers.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-swmmac-index_key.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-f16-f32-matrix-modifiers.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-imm.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-iu-modifiers.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-swmmac-index_key.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64.ll
M llvm/test/CodeGen/AMDGPU/wmma_multiple_32.ll
M llvm/test/CodeGen/AMDGPU/wmma_multiple_64.ll
M llvm/test/CodeGen/AMDGPU/workgroup-id-in-arch-sgprs.ll
Log Message:
-----------
[AMDGPU] Skip VGPR deallocation for waveslot limited kernels (#112765)
MSG_DEALLOC_VGPRS slows down very small waveslot limited kernels. It's
been identified this message is only really needed for VGPR limited
kernels. A kernel becomes VGPR limited if a total number of VGPRs per
SIMD / number of used VGPRs is more than a number of wave slots.
Commit: ac9ee618572537bcd77c58899aaab1d41dbad206
https://github.com/llvm/llvm-project/commit/ac9ee618572537bcd77c58899aaab1d41dbad206
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M flang/test/Fir/OpenACC/legalize-data.fir
M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
M mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.h
M mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.td
M mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
R mlir/lib/Dialect/OpenACC/Transforms/LegalizeData.cpp
A mlir/lib/Dialect/OpenACC/Transforms/LegalizeDataValues.cpp
M mlir/test/Dialect/OpenACC/legalize-data.mlir
Log Message:
-----------
[acc] Improve LegalizeDataValues pass to handle data constructs (#112990)
Renames LegalizeData to LegalizeDataValues since this pass fixes up SSA
values. LegalizeData suggested that it fixed data mapping.
This change also adds support to fix up ssa values for data clause
operations. Effectively, compute regions within a data region use the
ssa values from data operations also. The ssa values within data regions
but not within compute regions are not updated.
This change is to support the requirement in the OpenACC spec which
notes that a visible data clause is not just one on the current compute
construct but on the lexically containing data construct or visible
declare directive.
Commit: dcbf2c2ca078367fcd84feae9a51226b9761117a
https://github.com/llvm/llvm-project/commit/dcbf2c2ca078367fcd84feae9a51226b9761117a
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Transforms/Scalar/Scalarizer.cpp
A llvm/test/CodeGen/DirectX/split-double.ll
A llvm/test/Transforms/Scalarizer/frexp.ll
Log Message:
-----------
[Scalarizer][DirectX] support structs return types (#111569)
Based on this RFC:
https://discourse.llvm.org/t/rfc-allow-the-scalarizer-pass-to-scalarize-vectors-returned-in-structs/82306
LLVM intrinsics do not support out params. To get around this limitation
implementers will make intrinsics return structs to capture a return
type and an out param. This implementation detail should not impact
scalarization since these cases should be elementwise operations.
## Three changes are needed.
- The CallInst visitor needs to be updated to handle Structs
- A new visitor is needed for `ExtractValue` instructions
- finsh needs to be update to handle structs so that insert elements are
properly propogated.
## Testing changes
- Add support for `llvm.frexp`
- Add support for `llvm.dx.splitdouble`
fixes https://github.com/llvm/llvm-project/issues/111437
Commit: 7eb8238a32516008476b717bc6a2be8c59f7f535
https://github.com/llvm/llvm-project/commit/7eb8238a32516008476b717bc6a2be8c59f7f535
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/test/TableGen/x86-fold-tables.td
Log Message:
-----------
[TableGen] Handle Windows line endings in x86-fold-tables.td test (#112997)
The x86-fold-tables.td has been failing for me and [in
CI](https://buildkite.com/llvm-project/github-pull-requests/builds/111277#0192a122-c5c9-4e4e-bc5b-7532fec99ae4)
if Git happens to decide to check out the baseline file with Windows
line endings.
This fix for this is to add the `--strip-trailing-cr` option to diff to
normalize the line endings before comparing them.
Commit: 8ae39c8e34de2d24c46827b324c76bac845c18b0
https://github.com/llvm/llvm-project/commit/8ae39c8e34de2d24c46827b324c76bac845c18b0
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
Log Message:
-----------
[MC] Fix llvm-mc unterminated string constants warning for Windows (#112995)
#98060 introduced a warning for unterminated string constants, however
it was only checking for `\n` which means that it produced strange
results on Windows (always blaming column 1) including having the
[associated test
fail](https://buildkite.com/llvm-project/github-pull-requests/builds/111277#0192a122-c5c9-4e4e-bc5b-7532fec99ae4)
if Git happened to use Windows newlines when creating the file.
This fix for this is to detect both `\r` and `\n`, but don't double-warn
for Windows newlines.
Commit: 766bd6f4d05a4b52892be4f1b740e67053a22ee6
https://github.com/llvm/llvm-project/commit/766bd6f4d05a4b52892be4f1b740e67053a22ee6
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated map lookups (NFC) (#112819)
Commit: eaa7b385368fa7e3dad9b95411d04be55e71494e
https://github.com/llvm/llvm-project/commit/eaa7b385368fa7e3dad9b95411d04be55e71494e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Log Message:
-----------
[Transforms] Avoid repeated hash lookups (NFC) (#113120)
Commit: 30a402833f50b14148c8b963f3ffaaeaeea5fd78
https://github.com/llvm/llvm-project/commit/30a402833f50b14148c8b963f3ffaaeaeea5fd78
Author: Augusto Noronha <anoronha at apple.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M lldb/include/lldb/Symbol/TypeSystem.h
Log Message:
-----------
[lldb][NFC] Fix doxygen comment on top of GetMangledTypeName
Commit: ab07fc832009b678c0b24392ad7e02a8e5dd3932
https://github.com/llvm/llvm-project/commit/ab07fc832009b678c0b24392ad7e02a8e5dd3932
Author: Yijia Gu <yijiagu at google.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] add missing dep in OpenAccTransforms
Commit: 2c331b35712e0fad93cf804674196b7c0e47ebd9
https://github.com/llvm/llvm-project/commit/2c331b35712e0fad93cf804674196b7c0e47ebd9
Author: Yijia Gu <yijiagu at google.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] remove tab blank in OpenAccTransforms
Commit: 4de708e32e31ac32b924dfeb020086636700c0f7
https://github.com/llvm/llvm-project/commit/4de708e32e31ac32b924dfeb020086636700c0f7
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M lldb/tools/debugserver/debugserver.xcodeproj/project.pbxproj
R lldb/tools/debugserver/source/MacOSX/stack_logging.h
Log Message:
-----------
[lldb] Remove stack_logging.h (#112987)
This file is covered under the Apple open source license rather than the
LLVM license. Presumably this was an oversight, but it doesn't really
matter as this file is unused. Remove it altogether.
Commit: ed5072ee28809abf0f140ca15df549a418bb5c69
https://github.com/llvm/llvm-project/commit/ed5072ee28809abf0f140ca15df549a418bb5c69
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M lld/test/MachO/icf-safe-thunks-dwarf.ll
M lld/test/MachO/icf-safe-thunks.ll
Log Message:
-----------
[NFC][lld-macho] Generate test bodies for icf-safe-thunk tests (#111927)
Autogenerate `.ll` code from cpp code in some `-icf-safe-thunk` tests
using `update_test_body.py`
```
PATH=build/bin:$PATH llvm/utils/update_test_body.py lld/test/MachO/icf-safe-thunks.ll lld/test/MachO/icf-safe-thunks-dwarf.ll
```
https://llvm.org/docs/TestingGuide.html#elaborated-tests
I recently became aware of this tool and I wanted to practice using it.
This also allows to remove the custom instructions to generate the `.ll`
code.
Commit: 59528bbc73644f7c9e08406cf61a21b5dd8fe3b8
https://github.com/llvm/llvm-project/commit/59528bbc73644f7c9e08406cf61a21b5dd8fe3b8
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll
Log Message:
-----------
[nfc][msan] Reorder flags in RUN: (#113196)
Commit: cafeacff2c6367a229aa8b65be99835177f5c3be
https://github.com/llvm/llvm-project/commit/cafeacff2c6367a229aa8b65be99835177f5c3be
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll
Log Message:
-----------
[nfc][msan] Remove RUN: duplicates (#113197)
Commit: 7dc2542ac24fcae89dfd179fa58c4ec4fb959e2b
https://github.com/llvm/llvm-project/commit/7dc2542ac24fcae89dfd179fa58c4ec4fb959e2b
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/test/Instrumentation/MemorySanitizer/pr32842.ll
Log Message:
-----------
[nfc][msan] Fix old typo in test (#113198)
Commit: f58ce1152703ca753794b8cef36da30bd2668d0f
https://github.com/llvm/llvm-project/commit/f58ce1152703ca753794b8cef36da30bd2668d0f
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
M llvm/lib/TableGen/SetTheory.cpp
M llvm/lib/TableGen/TGParser.cpp
Log Message:
-----------
[NFC][TableGen] Use auto when initializing variables with cast<> (#113171)
Use `auto` when initializing a variable with `cast<>`. Remove some
unneeded `const_cast` (since all Init pointers are now const).
Commit: e6ada7162e25ab28f6e588fba23f0c11dd1238b5
https://github.com/llvm/llvm-project/commit/e6ada7162e25ab28f6e588fba23f0c11dd1238b5
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/CalcSpillWeights.h
M llvm/include/llvm/CodeGen/LiveIntervals.h
M llvm/lib/CodeGen/CalcSpillWeights.cpp
M llvm/lib/CodeGen/LiveIntervals.cpp
M llvm/lib/CodeGen/RegAllocBasic.cpp
A llvm/test/CodeGen/AArch64/regalloc-spill-weight-basic.ll
Log Message:
-----------
[regalloc][basic] Change spill weight for optsize funcs (#112960)
Change the spill weight calculations for `optsize` functions to remove
the block frequency multiplier. For those functions, we do not want to
consider the runtime cost of spilling, only the codesize cost.
I built a large app with the basic and greedy (default) register
allocator enabled.
| Regalloc Type | Uncompressed Size Delta | Compressed Size Delta |
| - | - | - |
| Basic | -303.8 KiB (-0.23%) | -232.0 KiB (-0.39%) |
| Greedy | 159.1 KiB (0.12%) | 130.1 KiB (0.22%) |
Since I only saw a size win with the basic register allocator, I decided
to only change the behavior for that type.
Commit: 40ea92c859234d536553cf26650e89d6e52071c6
https://github.com/llvm/llvm-project/commit/40ea92c859234d536553cf26650e89d6e52071c6
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M lldb/unittests/ScriptInterpreter/Lua/ScriptInterpreterTests.cpp
Log Message:
-----------
[lldb] Update ScriptInterpreterTests for CommandReturnObject API change
Commit: 622e398d8828431e082a336814d29932e22c8450
https://github.com/llvm/llvm-project/commit/622e398d8828431e082a336814d29932e22c8450
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-vi.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx9.cl
Log Message:
-----------
[AMDGPU] Allow overload of __builtin_amdgcn_mov/update_dpp (#112447)
We need to support 64-bit data types (intrinsics do support it). We are
also silently converting FP to integer argument now, also fixed.
Commit: 4b1b51ac52445f2308174287c721ad7f60a8053b
https://github.com/llvm/llvm-project/commit/4b1b51ac52445f2308174287c721ad7f60a8053b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-calls.ll
M llvm/test/Transforms/SLPVectorizer/X86/gather-node-same-as-vect-but-order.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-power-of-2-order-detection.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-calls.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect-gather-same-nodes.ll
Log Message:
-----------
[SLP]Initial non-power-of-2 support (but still whole register) for reductions
Enables initial non-power-of-2 support (but still requires number of
elements, forming whole registers) for reductions.
Enables extra vectorization for
MultiSource/Benchmarks/7zip/7zip-benchmark, CINT2006/464.h264ref and
CFP2017rate/526.blender_r (checked for SSE2)
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/112361
Commit: dca43a1c82f1023127343daae487c3a6a8c7e3d4
https://github.com/llvm/llvm-project/commit/dca43a1c82f1023127343daae487c3a6a8c7e3d4
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M lld/test/MachO/objc-category-merging-minimal.s
Log Message:
-----------
[lld/Macho][test] Mark objc-category-merging-minimal.s as unsupported on Windows (#113209)
With #112981, the test uses awk, which gnuwin32 doesn't seem to have.
Commit: 009fb567ceb9a8afea3c13b5eb943a1f15fdf3b5
https://github.com/llvm/llvm-project/commit/009fb567ceb9a8afea3c13b5eb943a1f15fdf3b5
Author: David Green <david.green at arm.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/rqshrn.ll
Log Message:
-----------
[AArch64] Add patterns for combining qxtn+rshr to qrshrn
Similar to bd861d0e690cfd05184d86, this adds some patterns for converting
signed and unsigned variants of rshr+qxtn to qrshrn.
Commit: 3903cb4695012fb85a76c83b5616f2ffe6fa10f4
https://github.com/llvm/llvm-project/commit/3903cb4695012fb85a76c83b5616f2ffe6fa10f4
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/lit_test.bzl
Log Message:
-----------
[bazel] Use rules_python load statements (#113213)
With bazel 8.x these are strongly encouraged, and this disambiguates
which version of these rules we get for older versions. Specifically the
native.py_test was using the wrong version of py_test.
Commit: 6e1a7ac53163c335868d5773b1b35b55828f329c
https://github.com/llvm/llvm-project/commit/6e1a7ac53163c335868d5773b1b35b55828f329c
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrCompiler.td
A llvm/test/CodeGen/X86/no-dup-cv-directive.ll
M llvm/test/CodeGen/X86/x86-win64-shrink-wrapping.ll
Log Message:
-----------
[llvm][x64] Mark win x64 SEH pseudo instruction as meta instructions (again) (#112962)
When adding new SEH pseudo instructions in #110024 I noticed that some
of the tests were changing their output since these new instructions
were counting towards thresholds for branching versus folding decisions.
These instructions do not result in real machine instructions being
emitted, so they should be marked as meta instructions.
This is a re-do of #110889 as we hit an issue where some of the SEH
pseudo instructions in the prolog were being duplicated, which resulted
errors being raised as the CodeView generator was seeing prolog
directives after an end-prolog directive:
<https://github.com/llvm/llvm-project/pull/110889#issuecomment-2393405613>.
The fix for this is to mark the prolog related SEH pseudo instructions
as being non-duplicatable.
Commit: b6e9ba017f222b2f95237d69126281d6252bf176
https://github.com/llvm/llvm-project/commit/b6e9ba017f222b2f95237d69126281d6252bf176
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/Basic/Targets/AArch64.cpp
M clang/test/CodeGen/aarch64-cpu-supports-target.c
M clang/test/CodeGen/aarch64-cpu-supports.c
M clang/test/CodeGen/aarch64-fmv-dependencies.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/Sema/attr-target-clones-aarch64.c
M compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
M llvm/include/llvm/TargetParser/AArch64CPUFeatures.inc
M llvm/lib/Target/AArch64/AArch64FMV.td
Log Message:
-----------
[FMV][AArch64] Unify features memtag and memtag2. (#112511)
If we split these features in the compiler (see relevant pull request
https://github.com/llvm/llvm-project/pull/109299), we would only be able
to hand-write a 'memtag2' version using inline assembly since the
compiler cannot generate the instructions that become available with
FEAT_MTE2. However these instructions only work at Exception Level 1, so
they would be unusable since FMV is a user space facility. I am
therefore unifying them.
Approved in ACLE as https://github.com/ARM-software/acle/pull/351
Commit: 34d4f660fe57132d17d2e37b72ccfc1d07269de9
https://github.com/llvm/llvm-project/commit/34d4f660fe57132d17d2e37b72ccfc1d07269de9
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M mlir/test/IR/properties.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
M mlir/tools/mlir-tblgen/OpFormatGen.h
Log Message:
-----------
[mlir] Fix the emission of `prop-dict` when operations have no properties (#112851)
When an operation has no properties, no property struct is emitted. To avoid a compilation error, we should also skip emitting `setPropertiesFromParsedAttr`, `parseProperties` and `printProperties` in such cases.
Compilation error:
```
error: ‘Properties’ has not been declared
static ::llvm::LogicalResult setPropertiesFromParsedAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
```
Commit: 28a2f57c98431e71f62ce524481a1356a87b5696
https://github.com/llvm/llvm-project/commit/28a2f57c98431e71f62ce524481a1356a87b5696
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M utils/bazel/.bazelrc
Log Message:
-----------
[bazel] Pass --build_runfile_links=false (#113221)
This improves performance of doing a `bazel test @llvm-project//...` a
lot because previously every lit test would have some symlink tree
configured for it.
Commit: 9de0566fcf90dd838558c57df339fbfcc33fe36c
https://github.com/llvm/llvm-project/commit/9de0566fcf90dd838558c57df339fbfcc33fe36c
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/utils/TableGen/SearchableTableEmitter.cpp
Log Message:
-----------
[NFC][TableGen] Delete unused class member (#113165)
Delete unused class member in `SearchableTableEmitter` class.
Commit: 74e1554d7b4013a975cf5fb8df64a6419bb14a45
https://github.com/llvm/llvm-project/commit/74e1554d7b4013a975cf5fb8df64a6419bb14a45
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M lldb/source/Utility/DiagnosticsRendering.cpp
M lldb/unittests/Utility/DiagnosticsRenderingTest.cpp
Log Message:
-----------
[lldb] Fix the sorting function for diagnostics (#113220)
Commit: 7b703bd3e7c1f8fa2274978679664d41673cdea1
https://github.com/llvm/llvm-project/commit/7b703bd3e7c1f8fa2274978679664d41673cdea1
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M lldb/docs/resources/addinglanguagesupport.md
Log Message:
-----------
[lldb][docs] Fix "Developing LLDB" table of contents (#113166)
Currently all the headings marked as `#` show up
as a top-level entry in the `Developing LLDB`
toctree. This patch marks these as `##` so only
`Adding Programming Language Support` is displayed
in the table of contents.
Commit: 9b7be3ebe5c15ff43cfb5232a572289a83f20294
https://github.com/llvm/llvm-project/commit/9b7be3ebe5c15ff43cfb5232a572289a83f20294
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp
Log Message:
-----------
[ORC] skip reoptimization tests on s390x. (#112796)
The test was failing on s390x with this error:
JIT session error: Unsupported target machine architecture in ELF object
<main>-jitted-objectbuffer
Commit: 6c4267fb1779bc5550bb413f33250f9365acfbc6
https://github.com/llvm/llvm-project/commit/6c4267fb1779bc5550bb413f33250f9365acfbc6
Author: Michael Jones <michaelrj at google.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
A libc/shared/fp_bits.h
A libc/shared/str_to_float.h
A libc/shared/str_to_integer.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/high_precision_decimal.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
M libc/src/__support/str_to_num_result.h
M libcxx/docs/Status/Cxx17Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__charconv/from_chars_floating_point.h
M libcxx/include/__configuration/availability.h
M libcxx/include/charconv
M libcxx/include/module.modulemap
M libcxx/lib/abi/CHANGELOG.TXT
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/src/CMakeLists.txt
M libcxx/src/charconv.cpp
A libcxx/src/include/from_chars_floating_point.h
A libcxx/test/std/utilities/charconv/charconv.from.chars/floating_point.pass.cpp
M libcxx/test/std/utilities/charconv/charconv.msvc/test.cpp
M libcxx/test/std/utilities/charconv/charconv.msvc/test.pass.cpp
M libcxx/test/support/charconv_test_helpers.h
M libcxx/test/support/test_macros.h
M libcxx/utils/libcxx/test/features.py
A runtimes/cmake/Modules/FindLibcCommonUtils.cmake
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libcxx][libc] Hand in Hand PoC with from_chars (#91651)
Implements std::from_chars for float and double.
The implementation uses LLVM-libc to do the real parsing. Since this is
the first time libc++
uses LLVM-libc there is a bit of additional infrastructure code. The
patch is based on the
[RFC] Project Hand In Hand (LLVM-libc/libc++ code sharing)
https://discourse.llvm.org/t/rfc-project-hand-in-hand-llvm-libc-libc-code-sharing/77701
Commit: 7a90ff752c4e07e6826d9e1f23871401a6592b23
https://github.com/llvm/llvm-project/commit/7a90ff752c4e07e6826d9e1f23871401a6592b23
Author: Yuta Saito <kateinoigakukun at gmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M compiler-rt/lib/profile/InstrProfilingUtil.c
Log Message:
-----------
[compiler-rt][profile] Use `flock` shim on Windows even if detection fails (#112695)
Commit: a26bc43cdb0b47730e3a6426cea9f69d02697927
https://github.com/llvm/llvm-project/commit/a26bc43cdb0b47730e3a6426cea9f69d02697927
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
M mlir/include/mlir/Dialect/Linalg/IR/CMakeLists.txt
Log Message:
-----------
Fix CMake dependencies on mlir-linalg-ods-yaml-gen (#112224)
Fix a number of dependencies issue to build mlir-linalg-ods-yaml-gen
host binary which make a cross-build using the Make generator fail.
Namely:
- do not use binary path for the custom target created when
LLVM_USE_HOST_TOOLS is true;
- use target name instead of name of variable holding the target name
for add_custom_target and set_target_properties in setup_host_tool();
- remove dependency on target defined in different directory in
add_linalg_ods_yaml_gen() since add_custom_target DEPENDS can only be
used on "files and outputs of custom commands created with
add_custom_command() command calls in the same directory";
- remove unneeded dependency on ${MLIR_LINALG_ODS_YAML_GEN_EXE}, the
target dependency will ensure the binary will be built.
Note that we keep using ${MLIR_LINALG_ODS_YAML_GEN_EXE} in the COMMAND
rather than use ${MLIR_LINALG_ODS_YAML_GEN_TARGET} because when
LLVM_NATIVE_TOOL_DIR is used the latter is an empty string.
Testing-wise, all three codepaths in get_host_tool_path() were tested
with both GNU Make and Ninja generators:
- cross-compiling with LLVM_NATIVE_TOOL_DIR checks the if path;
- cross-compiling without LLVM_NATIVE_TOOL_DIR checks the elseif path;
- native build without LLVM_NATIVE_TOOL_DIR checks the else path.
Commit: 3acc58c1bba375345ab1abd7e95a379d1d64cea8
https://github.com/llvm/llvm-project/commit/3acc58c1bba375345ab1abd7e95a379d1d64cea8
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
M mlir/include/mlir/Dialect/Linalg/IR/CMakeLists.txt
Log Message:
-----------
Revert "Fix CMake dependencies on mlir-linalg-ods-yaml-gen" (#113229)
Reverts llvm/llvm-project#112224
Many bots are broken
Commit: d91318b643188bb855f115b02af9532f87c787b7
https://github.com/llvm/llvm-project/commit/d91318b643188bb855f115b02af9532f87c787b7
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SeedCollector.h
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SeedCollector.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SeedCollectorTest.cpp
Log Message:
-----------
[SandboxVectorizer] New class to actually collect and manage seeds (#112979)
There are many more tests to add, but I would like to get this reviewed
and the details sorted out before it grows too big.
Commit: 6201bcc3b5ed8c2dab39b8365cee09018eee8110
https://github.com/llvm/llvm-project/commit/6201bcc3b5ed8c2dab39b8365cee09018eee8110
Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M clang/lib/Headers/opencl-c-base.h
M clang/test/Headers/opencl-c-header.cl
Log Message:
-----------
[OpenCL] Add cl_ext_image_unorm_int_2_101010_EXT extension (#113145)
Add the defines for the `cl_ext_image_unorm_int_2_101010_EXT` extension.
Commit: 0de8de1b8432f01adb0a7c6d2f1e3d4fd8c0c30c
https://github.com/llvm/llvm-project/commit/0de8de1b8432f01adb0a7c6d2f1e3d4fd8c0c30c
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SeedCollector.h
R llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SeedCollector.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SeedCollectorTest.cpp
Log Message:
-----------
[SandboxVectorizer] revert New class to actually collect and manage s… (#113231)
…eeds (#112979)
This reverts commit d91318b643188bb855f115b02af9532f87c787b7.
Commit: c3fe0e46e2188fc94a64b51166d8b7e7694ed8c8
https://github.com/llvm/llvm-project/commit/c3fe0e46e2188fc94a64b51166d8b7e7694ed8c8
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[NFC][AMDGPU] clang-format `llvm/lib/Target/AMDGPU/SIISelLowering.cpp` (#112645)
Commit: 31dd03cb3ee73e20b8220c2bf991c1afcba923c5
https://github.com/llvm/llvm-project/commit/31dd03cb3ee73e20b8220c2bf991c1afcba923c5
Author: Florian Albrechtskirchinger <falbrechtskirchinger at gmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang/test/PCH/cxx2a-constraints-crash.cpp
Log Message:
-----------
[Concepts] Add regression test for #99036 (#113137)
Commit: dac0f7e83ebcaed451d5d0bcc3a4c7f949f0c26c
https://github.com/llvm/llvm-project/commit/dac0f7e83ebcaed451d5d0bcc3a4c7f949f0c26c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
Log Message:
-----------
[VPlan] Add general recipe matcher, replace handwritten ones (NFC)
The new matcher is more flexible and can be used to build matchers for
additional recipe types without unnecessary duplication.
Commit: 23b18fa01e6de7cb86a0cd294d58e5f8635d4afe
https://github.com/llvm/llvm-project/commit/23b18fa01e6de7cb86a0cd294d58e5f8635d4afe
Author: Florian Mayer <fmayer at google.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/IR/Globals.cpp
A llvm/test/CodeGen/AArch64/semantic-interposition-memtag.ll
Log Message:
-----------
[MTE] Do not allow local aliases to MTE globals (#106280)
With this change and appropriate linker changes
(https://r.android.com/3236256)
AOSP boots with memtag-global throughout the platform.
Without this change, we would sometimes generate PC-relative references
to tagged globals, which then do not have the proper tag.
Commit: 7eb326441356f9e9aafa6d9f982c3c19ac6cad22
https://github.com/llvm/llvm-project/commit/7eb326441356f9e9aafa6d9f982c3c19ac6cad22
Author: Michael Jones <michaelrj at google.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M libc/src/__support/macros/properties/types.h
M libc/src/__support/str_to_float.h
Log Message:
-----------
[libc] Add handling for long double=double double (#113235)
For Hand-In-Hand we need float to string to support a wider set of
architectures, specifically the ones that libc++ supports. This includes
powerpc, which apparently uses "double double" as its long double type.
Since Hand-In-Hand isn't currently using long double, this just opts
them out.
Commit: 1295d2e6da2fe90f3b770ab1d35bf5caecd38bed
https://github.com/llvm/llvm-project/commit/1295d2e6da2fe90f3b770ab1d35bf5caecd38bed
Author: Justin Fargnoli <justinfargnoli at gmail.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/docs/Passes.rst
M llvm/docs/ReleaseNotes.md
A llvm/include/llvm/Transforms/Utils/IRNormalizer.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Utils/CMakeLists.txt
A llvm/lib/Transforms/Utils/IRNormalizer.cpp
A llvm/test/Transforms/IRNormalizer/naming-args-instr-blocks.ll
A llvm/test/Transforms/IRNormalizer/naming-arguments.ll
A llvm/test/Transforms/IRNormalizer/naming.ll
A llvm/test/Transforms/IRNormalizer/regression-convergence-tokens.ll
A llvm/test/Transforms/IRNormalizer/regression-coro-elide-musttail.ll
A llvm/test/Transforms/IRNormalizer/regression-deoptimize.ll
A llvm/test/Transforms/IRNormalizer/regression-dont-hoist-deoptimize.ll
A llvm/test/Transforms/IRNormalizer/regression-infinite-loop.ll
A llvm/test/Transforms/IRNormalizer/reordering-basic.ll
A llvm/test/Transforms/IRNormalizer/reordering.ll
Log Message:
-----------
[LLVM] Add IRNormalizer Pass (#68176)
Add the llvm-canon tool. Description from the [original
PR](https://reviews.llvm.org/D66029#change-wZv3yOpDdxIu):
> Added a new llvm-canon tool which aims to transform LLVM Modules into
a canonical form by reordering and renaming instructions while
preserving the same semantics. This tool makes it easier to spot
semantic differences while diffing two modules which have undergone
different transformation passes.
The current version of this tool can:
- Reorder instructions within a function.
- Rename instructions based on the operands.
- Sort commutative operands.
This code was originally written by @michalpaszkowski and [submitted to
mainline
LLVM](https://github.com/llvm/llvm-project/commit/14d358537f124a732adad1ec6edf3981dc9baece).
However, it was quickly
[reverted](https://github.com/llvm/llvm-project/commit/335de55fa3384946f1e62050f2545c0966163236)
to do BuildBot errors.
Michal presented his version of the tool in [LLVM-Canon: Shooting for
Clear Diffs](https://www.youtube.com/watch?v=c9WMijSOEUg).
@AidanGoldfarb and I ported the code to the new pass manager, added more
tests, and fixed some bugs related to PHI nodes that may have been the
root cause of the BuildBot errors that caused the patch to be reverted.
Additionally, we rewrote the implementation of instruction reordering to
fix cases where the original algorithm would break use-def chains.
Note that this is @AidanGoldfarb and I's first time submitting to LLVM.
Please liberally critique the PR!
CC @plotfi for initial review.
---------
Co-authored-by: Aidan <aidan.goldfarb at mail.mcgill.ca>
Commit: b8930cd13d484fadc12b810d76156c2c9e884f75
https://github.com/llvm/llvm-project/commit/b8930cd13d484fadc12b810d76156c2c9e884f75
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/Passes/StandardInstrumentations.cpp
A llvm/test/Other/dropped-var-stats.ll
M llvm/unittests/IR/CMakeLists.txt
A llvm/unittests/IR/DroppedVariableStatsTest.cpp
Log Message:
-----------
Add a pass to collect dropped variable statistics (#102233)
This patch is inspired by @Snowy1803 excellent work in swift and the
patch: https://github.com/swiftlang/swift/pull/73334/files
Add an instrumentation pass to llvm to collect dropped debug information
variable statistics for every Function-level and Module-level IR pass.
This patch creates adds the class DroppedVariableStats which iterates
over every DbgRecord in a function or module before and after an
optimization pass and counts the number of variables who's debug
information has been dropped due to that pass, then prints that output
to stdout in a csv format.
I ran this patch on optdriver.cpp can see:
Pass Name, Dropped Variables
'InstCombinePass', 1
'SimplifyCFGPass', 6
'JumpThreadingPass', 25
Commit: 2ce655cf1b029481b88b48b409d7423472856b38
https://github.com/llvm/llvm-project/commit/2ce655cf1b029481b88b48b409d7423472856b38
Author: Longsheng Mou <moulongsheng at huawei.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M mlir/lib/Dialect/Func/Transforms/DuplicateFunctionElimination.cpp
M mlir/test/Dialect/Func/duplicate-function-elimination.mlir
Log Message:
-----------
[mlir][func] Fix multiple bugs in `DuplicateFunctionElimination` (#109571)
This PR fixes multiple bugs in `DuplicateFunctionElimination`.
- Prevents elimination of function declarations.
- Updates all symbol uses to reference unique function representatives.
Fixes #93483.
Commit: b5bcdb5cfae452da30a699d7967cc1e0800ca997
https://github.com/llvm/llvm-project/commit/b5bcdb5cfae452da30a699d7967cc1e0800ca997
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTestCSharp.cpp
Log Message:
-----------
[clang-format] Fix a crash on C# `goto case` (#113056)
Fixes #113011.
Commit: 1d9b3222f3de7bad4ef27b7e4d7798f840097380
https://github.com/llvm/llvm-project/commit/1d9b3222f3de7bad4ef27b7e4d7798f840097380
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Implement VPWidenSelectRecipe::computeCost.
Implement VPlan-based cost computation for VPWidenSelectRecipe.
Commit: a4819bd46d8baebc3aaa8b38f78065de33593199
https://github.com/llvm/llvm-project/commit/a4819bd46d8baebc3aaa8b38f78065de33593199
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Restore case accidentially dropped in 34cdd67c85.
34cdd67c85 accidentially dropped the case for VPWidenIntrinsicSC. Add it
back again. Thanks @Mel-Chen for spotting this.
Commit: b3edc764f70f4e56807af60abdcfbef4dbdc5d95
https://github.com/llvm/llvm-project/commit/b3edc764f70f4e56807af60abdcfbef4dbdc5d95
Author: Elvis Wang <elvis.wang at sifive.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
Log Message:
-----------
[VPlan] Implement VPWidenCastRecipe::computeCost(). (NFCI) (#111339)
This patch implement `VPWidenCastRecipe::computeCost()` and skip cast
recipies in the in-loop reduction.
Commit: 38fca7b7db2ba1647c87679d6750fc4a4bfe72e1
https://github.com/llvm/llvm-project/commit/38fca7b7db2ba1647c87679d6750fc4a4bfe72e1
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[Vectorize] Simplify code with DenseMap::operator[] (NFC) (#113246)
Commit: 2437784a178adb299cf6e363427e98611e3d2460
https://github.com/llvm/llvm-project/commit/2437784a178adb299cf6e363427e98611e3d2460
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Replace unreachable by folding into else with assert (NFC).
Simplify code as suggested post-commit in
https://github.com/llvm/llvm-project/pull/110576/.
Commit: b90ea5caade7b92796276937467a0dabc355a62e
https://github.com/llvm/llvm-project/commit/b90ea5caade7b92796276937467a0dabc355a62e
Author: c8ef <c8ef at outlook.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
A llvm/test/Transforms/InstCombine/erf.ll
Log Message:
-----------
[ConstantFold] Fold `erf` and `erff` when the input parameter is a constant value. (#113079)
This patch adds support for constant folding for the `erf` and `erff`
libc functions.
Commit: dc84337f7b5bb2447e30f3364ebc863e9e04b8be
https://github.com/llvm/llvm-project/commit/dc84337f7b5bb2447e30f3364ebc863e9e04b8be
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64FixupKinds.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
A llvm/test/MC/AArch64/CMPBR/cmpbr-diagnostics.s
A llvm/test/MC/AArch64/CMPBR/cmpbr.s
A llvm/test/MC/AArch64/CMPBR/cmpbr_aliases-diagnostics.s
A llvm/test/MC/AArch64/CMPBR/cmpbr_aliases.s
A llvm/test/MC/AArch64/CMPBR/cmpbr_lbl.s
M llvm/test/MC/AArch64/directive-arch-negative.s
M llvm/test/MC/AArch64/directive-arch.s
M llvm/test/MC/AArch64/directive-arch_extension-negative.s
Log Message:
-----------
[LLVM][AArch64]Add assembly/disassembly for compare-and-branch instructions (#112726)
This patch adds the assembly/disassembly for the following instructions:
CBB<cc>, CBH<cc>,
CB<cc>(immediate), CB<cc>(register)
CBBLE, CBBLO, CBBLS, CBBLT
CBHLE, CBHLO, CBHLS, CBHLT
CBGE, CBHS, CBLE, CBLS (immediate)
CBLE, CBLO, CBLS, CBLT(register)
According to [1]
[1]https://developer.arm.com/documentation/ddi0602
Co-authored-by: Momchil Velikov momchil.velikov at arm.com
Co-authored-by: Spencer Abson spencer.abson at arm.com
Commit: a4d6fe54a7c3c967d88862e51660a5cdabc080bb
https://github.com/llvm/llvm-project/commit/a4d6fe54a7c3c967d88862e51660a5cdabc080bb
Author: Jack Styles <jack.styles at arm.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
A llvm/test/MC/ARM/arm-movt-movw-range-fail.s
A llvm/test/MC/ARM/arm-movt-movw-range-pass.s
M llvm/test/MC/ARM/macho-movwt.s
Log Message:
-----------
Reland "[llvm][ARM] Add Addend Checks for MOVT and MOVW instructions. (PR #111970)" (#112877)
**Change relanded after feedback on failures and improvements to the
check of the addend. Original PR #111970**
Changes from original patch:
- The value that is being checked has changed, it is now correctly
checking any Addend for the instruction, rather than the Value. The
addend is kept within the Target data structure from my investigation.
- Removed changes to the following tests due to the original behaviour
being correct, and my original patch causing unexpected errors
- llvm/test/MC/ARM/Windows/mov32t-range.s
- llvm/test/MC/MachO/ARM/thumb2-movw-fixup.s
As per the ARM ABI, the MOVT and MOVW instructions should have addends
that fall within a 16bit signed range. LLVM does not check this so it is
possible to use addends that are beyond the accepted range. These
addends are silently truncated.
A new check is added to ensure the addend falls within the expected
range, rejecting an addend that falls outside with an error.
Information relating to the ABI requirements can be found here:
https://github.com/ARM-software/abi-aa/blob/main/aaelf32/aaelf32.rst#addends-and-pc-bias-compensation
Commit: 5ee9c2c0d9e585ac9298c32e1f3783628be3ce0a
https://github.com/llvm/llvm-project/commit/5ee9c2c0d9e585ac9298c32e1f3783628be3ce0a
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/GSYM/DwarfTransformer.h
M llvm/include/llvm/DebugInfo/PDB/DIA/DIAUtils.h
Log Message:
-----------
[DebugInfo] Fix missing includes in two headers (#112766)
Add include needed for DWARFContext to DwarfTransformer.h
Add include needed for windows types like HRESULT to DIAUtils.h
Commit: b735c66da9c9ae752b88941d466895a0b696c75e
https://github.com/llvm/llvm-project/commit/b735c66da9c9ae752b88941d466895a0b696c75e
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang-tools-extra/clang-doc/Generators.h
M clang-tools-extra/clang-tidy/ClangTidyModuleRegistry.h
M clang-tools-extra/clangd/URI.h
M clang-tools-extra/clangd/refactor/Tweak.h
M clang-tools-extra/include-cleaner/include/clang-include-cleaner/IncludeSpeller.h
M clang/include/clang/Basic/ParsedAttrInfo.h
M clang/include/clang/Frontend/FrontendPluginRegistry.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Tooling/CompilationDatabasePluginRegistry.h
M clang/include/clang/Tooling/ToolExecutorPluginRegistry.h
M flang/include/flang/Frontend/FrontendPluginRegistry.h
M llvm/include/llvm/CodeGen/GCMetadataPrinter.h
M llvm/include/llvm/IR/GCStrategy.h
M llvm/include/llvm/Support/Compiler.h
M llvm/include/llvm/Support/Registry.h
Log Message:
-----------
Reland 'Update llvm::Registry to work for LLVM shared library builds on windows' (#109024) (#112640)
Fix missing extern templates for llvm::Registry use in other projects of
llvm
Windows doesn't implicitly import and merge exported symbols across
shared libraries
like Linux does so we need to explicitly export/import each
instantiation of llvm::Registry.
Updated LLVM_INSTANTIATE_REGISTRY to just be a full explicit template
instantiation.
This is part of the work to enable LLVM_BUILD_LLVM_DYLIB and LLVM
plugins on window.
Commit: 69abfd31419d94857b89e1c54bf551f43a19f657
https://github.com/llvm/llvm-project/commit/69abfd31419d94857b89e1c54bf551f43a19f657
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
A llvm/test/CodeGen/AMDGPU/memmove-var-size.ll
Log Message:
-----------
[AMDGPU] Allow casts between the Global and Constant Addr Spaces in isValidAddrSpaceCast (#112493)
So far, isValidAddrSpaceCast only allows casts to the flat address
space and between the constant(32) address spaces. It does not allow
casting between the global and constant address spaces, even though they
alias. That affects, e.g., the lowering of memmoves from the constant to
the global address space in LowerMemIntrinsics, since that requires
aliasing address spaces to be castable.
This patch relaxes isValidAddrSpaceCast and allows such casts. It also
includes a memmove test that would crash with the previous
implementation because the memmove IR lowering would not be
applicable for the move from constant AS to global AS.
Commit: 4614b80c49fbab8b0283bf4ccba0716c488bcd98
https://github.com/llvm/llvm-project/commit/4614b80c49fbab8b0283bf4ccba0716c488bcd98
Author: WANG Rui <wangrui at loongson.cn>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/test/CodeGen/LoongArch/merge-base-offset.ll
Log Message:
-----------
[LoongArch] Pre-commit tests for merge base with large offset. NFC
Commit: 73057349a292df72b944380db6fe6dfffd59c7fa
https://github.com/llvm/llvm-project/commit/73057349a292df72b944380db6fe6dfffd59c7fa
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/DeclCXX.cpp
A clang/test/SemaCXX/GH95854.cpp
Log Message:
-----------
[clang] Allow class with anonymous union member to be const-default-constructible even if a union member has a default member initializer (#95854) (#96301)
Resolves #95854
-- As per https://eel.is/c++draft/dcl.init#general-8.3
Commit: 0412d719283a5b6af283a74ab2694202664b6241
https://github.com/llvm/llvm-project/commit/0412d719283a5b6af283a74ab2694202664b6241
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[llvm][doc] Fix return type of `vector.histogram` in LangRef examples (NFC) (#113172)
The `@llvm.experimental.vector.histogram.add` returns void.
Commit: 9ae41c24b37f5ce22c5b5a2f3bc0680aaf174f35
https://github.com/llvm/llvm-project/commit/9ae41c24b37f5ce22c5b5a2f3bc0680aaf174f35
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Program.h
M clang/test/AST/ByteCode/records.cpp
Log Message:
-----------
[clang][bytecode] Create dummy pointers for non-reference DeclRefExprs (#113202)
... with non-constant initializers.
Commit: 2f58ac4a22baa27c1e9aad1b3c6d5c687ef03721
https://github.com/llvm/llvm-project/commit/2f58ac4a22baa27c1e9aad1b3c6d5c687ef03721
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M libc/src/string/memory_utils/x86_64/inline_memcpy.h
Log Message:
-----------
[libc][x86] copy one cache line at a time to prevent the use of `rep;movsb` (#113161)
When using `-mprefer-vector-width=128` with `-march=sandybridge` copying
3 cache lines in one go (192B) gets converted into `rep;movsb` which
translate into a 60% hit in performance.
Consecutive calls to `__builtin_memcpy_inline` (implementation behind
`builtin::Memcpy::block_offset`) are not coalesced by the compiler and
so calling it three times in a row generates the desired assembly. It
only differs in the interleaving of the loads and stores and does not
affect performance.
This is needed to reland
https://github.com/llvm/llvm-project/pull/108939.
Commit: d15559d69d519cae203508b1ffe3adbdd29ab387
https://github.com/llvm/llvm-project/commit/d15559d69d519cae203508b1ffe3adbdd29ab387
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaCXX/lambda-pack-expansion.cpp
Log Message:
-----------
[Clang] Don't assert on substituted-but-yet-expanded packs for nested lambdas (#112896)
Nested lambdas could refer to outer packs that would be expanded by a
larger CXXFoldExpr, in which case that reference could happen to be a
full expression containing intermediate types/expressions, e.g.
SubstTemplateTypeParmPackType/FunctionParmPackExpr. They are designated
as "UnexpandedPack" dependencies but don't introduce new packs anyway.
This also handles a missed case for VarDecls, where the flag of
ContainsUnexpandedPack was not propagated up to the surrounding lambda.
Fixes #112352
Commit: f719cfa8685a30a3f4115cc0ce446262daf81244
https://github.com/llvm/llvm-project/commit/f719cfa8685a30a3f4115cc0ce446262daf81244
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/offset-range-known-via-assume.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVersioning/wrapping-pointer-non-integral-addrspace.ll
Log Message:
-----------
LAA: be less conservative in isNoWrap (#112553)
isNoWrap has exactly one caller which handles Assume = true separately,
but too conservatively. Instead, pass Assume to isNoWrap, so it is
threaded into getPtrStride, which has the correct handling for the
Assume flag. Also note that the Stride == 1 check in isNoWrap is
incorrect: getPtrStride returns Strides == 1 or -1, except when
isNoWrapAddRec or Assume are true, assuming ShouldCheckWrap is true; we
can include the case of -1 Stride, and when isNoWrapAddRec is true. With
this change, passing Assume = true to getPtrStride could return a
non-unit stride, and we correctly handle that case as well.
Commit: d897ea37dbac66d51794938af4f112e05fb61b05
https://github.com/llvm/llvm-project/commit/d897ea37dbac66d51794938af4f112e05fb61b05
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/symbolic-stride.ll
Log Message:
-----------
LAA: check nusw on GEP in place of inbounds (#112223)
With the introduction of the nusw flag in GEPNoWrapFlags, it should be
safe to weaken the check in LoopAccessAnalysis to just check the nusw
flag on the GEP, instead of inbounds.
Commit: 1e9a296557adbb5168346774c92814497e34524c
https://github.com/llvm/llvm-project/commit/1e9a296557adbb5168346774c92814497e34524c
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Target/Xtensa/XtensaInstrInfo.cpp
M llvm/lib/Target/Xtensa/XtensaInstrInfo.h
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
A llvm/test/CodeGen/Xtensa/branch_analyze.ll
M llvm/test/CodeGen/Xtensa/brcc.ll
M llvm/test/CodeGen/Xtensa/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/Xtensa/select-cc.ll
Log Message:
-----------
[Xtensa] Implement branch analysis. (#110959)
Commit: c0c36aa0189de217d7a312829ba40e838090294d
https://github.com/llvm/llvm-project/commit/c0c36aa0189de217d7a312829ba40e838090294d
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGExprScalar.cpp
A clang/test/CodeGen/builtins-array-rank.cpp
Log Message:
-----------
[clang codegen] fix crash emitting __array_rank (#113186)
Fixed: #113044
the type of `ArrayTypeTraitExpr` can be changed, use i32 directly is
incorrect.
---------
Co-authored-by: Eli Friedman <efriedma at quicinc.com>
Commit: 6bb72de75a81e27b2768db767350bcf4ce7d2a2c
https://github.com/llvm/llvm-project/commit/6bb72de75a81e27b2768db767350bcf4ce7d2a2c
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang][NFC] Update cxx_dr_status.html
Commit: 83c6e2f8f4d3436a9cc1ebe10476e32e0fce3a9d
https://github.com/llvm/llvm-project/commit/83c6e2f8f4d3436a9cc1ebe10476e32e0fce3a9d
Author: Caroline Concatto <caroline.concatto at arm.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64FixupKinds.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
R llvm/test/MC/AArch64/CMPBR/cmpbr-diagnostics.s
R llvm/test/MC/AArch64/CMPBR/cmpbr.s
R llvm/test/MC/AArch64/CMPBR/cmpbr_aliases-diagnostics.s
R llvm/test/MC/AArch64/CMPBR/cmpbr_aliases.s
R llvm/test/MC/AArch64/CMPBR/cmpbr_lbl.s
M llvm/test/MC/AArch64/directive-arch-negative.s
M llvm/test/MC/AArch64/directive-arch.s
M llvm/test/MC/AArch64/directive-arch_extension-negative.s
Log Message:
-----------
Revert "[LLVM][AArch64]Add assembly/disassembly for compare-and-branch instructions (#112726)"
This reverts commit dc84337f7b5bb2447e30f3364ebc863e9e04b8be.
Reversting because the sanitizer fails with the following error
llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp:502:56:
runtime error: left shift of negative value -256
Commit: 93802815abdb1e1f326162b930a8028eaccb73d5
https://github.com/llvm/llvm-project/commit/93802815abdb1e1f326162b930a8028eaccb73d5
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/VirtRegMap.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/LiveRegMatrix.cpp
M llvm/lib/CodeGen/RegAllocBasic.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegAllocPBQP.cpp
M llvm/lib/CodeGen/VirtRegMap.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/AMDGPU/GCNNSAReassign.cpp
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
M llvm/lib/Target/AMDGPU/SILowerWWMCopies.cpp
M llvm/lib/Target/AMDGPU/SIPreAllocateWWMRegs.cpp
M llvm/lib/Target/X86/X86TileConfig.cpp
Log Message:
-----------
[NewPM][CodeGen] Port VirtRegMap to NPM (#109936)
Commit: 834b820f4047dcdce555f6a768821d95b04b2407
https://github.com/llvm/llvm-project/commit/834b820f4047dcdce555f6a768821d95b04b2407
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
Log Message:
-----------
[AMDGPU] Correct pass dependencies for SILowerSGPRSpills (#109937)
Replace unused analysis (VirtRegMap) dependency with the used one (SlotIndexes)
Initializes `SlotIndexesWrapperPass` which is used by SILowerSGPRSpills to ensure that legacy pass manager finds it.
Removes the initialization for `VirtRegMapWrapperPass` since it is not requested in this pass.
Commit: 75ec65e384d73d97bab2f1a4e273df4b622af4c4
https://github.com/llvm/llvm-project/commit/75ec65e384d73d97bab2f1a4e273df4b622af4c4
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/LiveIntervalUnion.h
Log Message:
-----------
[CodeGen] LiveIntervalUnions::Array Implement move constructor (#111357)
Solves the double free error.
Commit: 4e32d7236b27affa5ae795d194e89d183b623f41
https://github.com/llvm/llvm-project/commit/4e32d7236b27affa5ae795d194e89d183b623f41
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/LiveRegMatrix.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/LiveRegMatrix.cpp
M llvm/lib/CodeGen/RegAllocBasic.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/AMDGPU/GCNNSAReassign.cpp
M llvm/lib/Target/AMDGPU/SIPreAllocateWWMRegs.cpp
Log Message:
-----------
[NewPM][CodeGen] Port LiveRegMatrix to NPM (#109938)
Commit: f8cb526076270a02510ce75011a805369a5ddd51
https://github.com/llvm/llvm-project/commit/f8cb526076270a02510ce75011a805369a5ddd51
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
A llvm/test/CodeGen/AMDGPU/si-pre-allocate-wwm-regs.mir
Log Message:
-----------
[AMDGPU] Add tests for SIPreAllocateWWMRegs (#109963)
Commit: ca32bd643b85d329e0b004b5a681b4f758ba1a40
https://github.com/llvm/llvm-project/commit/ca32bd643b85d329e0b004b5a681b4f758ba1a40
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2024-10-22 (Tue, 22 Oct 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/SIPreAllocateWWMRegs.cpp
A llvm/lib/Target/AMDGPU/SIPreAllocateWWMRegs.h
M llvm/test/CodeGen/AMDGPU/si-pre-allocate-wwm-regs.mir
Log Message:
-----------
[NewPM][AMDGPU] Port SIPreAllocateWWMRegs to NPM (#109939)
Commit: e7f1dae41241af6b26aed35d78e1eb9d728f2695
https://github.com/llvm/llvm-project/commit/e7f1dae41241af6b26aed35d78e1eb9d728f2695
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU] gfx1152 does not have Feature1_5xVGPRs (#113163)
Commit: 11c818816d0558408eb966238bd9df5f54ac5fd0
https://github.com/llvm/llvm-project/commit/11c818816d0558408eb966238bd9df5f54ac5fd0
Author: James Chesterman <James.Chesterman at arm.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve2-histcnt.ll
Log Message:
-----------
[AArch64] Improve index selection for histograms (#111150)
Removes unnecessary extends on the indices passed into histogram instructions. It also removes the instruction when the mask is zero.
Commit: aea60ab94db4729bad17daa86ccfc411d48a1699
https://github.com/llvm/llvm-project/commit/aea60ab94db4729bad17daa86ccfc411d48a1699
Author: Emilia Kond <emilia at rymiel.space>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Make bitwise and imply requires clause (#110942)
This patch adjusts the requires clause/expression parser to imply a
requires clause if it is preceded by a bitwise and operator `&`, and
assume it is a reference qualifier. The justification is that bitwise
operations should not be used for requires expressions.
This is a band-aid fix. The real problems lie in the lookahead heuristic
in the same method. It may be worth it to rewrite that whole heuristic
to track more state in the future, instead of just blindly marching
forward across multiple unrelated definitions, since right now, the
definition following the one with the requires clause can influence
whether the heuristic chooses clause or expression.
Fixes https://github.com/llvm/llvm-project/issues/110485
Commit: 6e0b0038cd65ce726ce404305a06e1cf33e36cca
https://github.com/llvm/llvm-project/commit/6e0b0038cd65ce726ce404305a06e1cf33e36cca
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgcn-automatic-variable.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-nullptr.cl
M clang/test/CodeGenOpenCL/atomic-ops.cl
M clang/test/CodeGenOpenCL/atomics-unsafe-hw-remarks-gfx90a.cl
M clang/test/CodeGenOpenCL/blocks.cl
M clang/test/CodeGenOpenCL/builtins-alloca.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx940.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx8.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl
M clang/test/CodeGenOpenCL/enqueue-kernel-non-entry-block.cl
M clang/test/CodeGenOpenCL/opencl_types.cl
M clang/test/Index/pipe-size.cl
Log Message:
-----------
[clang][OpenCL][CodeGen][AMDGPU] Do not use `private` as the default AS for when `generic` is available (#112442)
Currently, for AMDGPU, when compiling for OpenCL, we unconditionally use
`private` as the default address space. This is wrong for cases where
the `generic` address space is available, and is corrected via this
patch. In general, this AS map abuse is a bad hack and we should re-work
it altogether, but at least after this patch we will stop being
incorrect for e.g. OpenCL 2.0.
Commit: b3acb25735fdeeafcc0944ad85d2af27fe332c10
https://github.com/llvm/llvm-project/commit/b3acb25735fdeeafcc0944ad85d2af27fe332c10
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
Log Message:
-----------
[AMDGPU] Don't rely on !eq comparing int with bits<5>. NFC. (#113279)
Tweak VOP2eInst_Base so that it does not rely on !eq comparing an int
value (-1) with a bits<5> value. This is to avoid a change in behaviour
when #112904 lands, which is a bug fix which has the side effect of
implicitly casting template arguments to the declared template parameter
type.
Commit: cd290a6480d575110e5d74f71f403f8fbbaaa6a7
https://github.com/llvm/llvm-project/commit/cd290a6480d575110e5d74f71f403f8fbbaaa6a7
Author: lifengxiang1025 <lifengxiang at kuaishou.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/docs/CompileCudaWithLLVM.rst
Log Message:
-----------
[Doc] Update a broken link in CompileCudaWithLLVM (#113282)
Commit: f1ade1f874db066a46142cacbb67f80d272862ed
https://github.com/llvm/llvm-project/commit/f1ade1f874db066a46142cacbb67f80d272862ed
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-intrinsics-while.ll
Log Message:
-----------
[LLVM][CodeGen][AArch64] while_le(#,max_int) -> all_active (#111183)
When the second operand of an incrementing while instruction is the
maximum value, comparisons that include equality can never fail.
Commit: deecfa90c6873aed882e2e55e539bd796bde01b0
https://github.com/llvm/llvm-project/commit/deecfa90c6873aed882e2e55e539bd796bde01b0
Author: Krasimir Georgiev <krasimir at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
bazelbuild: adapt for commit b735c66da9 (#113302)
Commit: a6d6c00fe7515763650b28ef56f1fc4b5c568c1c
https://github.com/llvm/llvm-project/commit/a6d6c00fe7515763650b28ef56f1fc4b5c568c1c
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/test/SemaCXX/attr-lifetimebound.cpp
Log Message:
-----------
[clang] Lifetimebound in assignment operator should work for non-gsl annotated types. (#113180)
This issue is identified during the discussion of [this
comment](https://github.com/llvm/llvm-project/issues/112234#issuecomment-2426102198).
There will be no release note for this fix as it is a follow-up to
[#106997](https://github.com/llvm/llvm-project/pull/106997).
Commit: 91c11574e87b5c0f434688edac01e9580ef99a92
https://github.com/llvm/llvm-project/commit/91c11574e87b5c0f434688edac01e9580ef99a92
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.h
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
M mlir/test/Dialect/Bufferization/Transforms/transform-ops.mlir
M mlir/test/Dialect/LLVM/transform-e2e.mlir
M mlir/test/Dialect/Linalg/matmul-shared-memory-padding.mlir
M mlir/test/Dialect/Linalg/pad-to-specific-memory-space.mlir
M mlir/test/Dialect/Vector/transform-vector.mlir
M mlir/test/Examples/transform/ChH/full.mlir
Log Message:
-----------
Revert "[MLIR] Make `OneShotModuleBufferize` use `OpInterface` (#110322)" (#113124)
This reverts commit 2026501cf107fcb3cbd51026ba25fda3af823941.
Failing bot:
* https://lab.llvm.org/staging/#/builders/125/builds/389
Commit: 56f75b5c1510cea7648cad0cb32e4e0810edd0d9
https://github.com/llvm/llvm-project/commit/56f75b5c1510cea7648cad0cb32e4e0810edd0d9
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang/test/SemaCXX/attr-lifetimebound.cpp
Log Message:
-----------
Fix the broken test
Commit: 5bb34803a48598c3fa6e480de1814d5fe2d0f652
https://github.com/llvm/llvm-project/commit/5bb34803a48598c3fa6e480de1814d5fe2d0f652
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang/test/CodeGen/aarch64-sve-vls-bitwise-ops.c
M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
M clang/test/CodeGen/variadic-nvptx.c
M llvm/test/Analysis/CostModel/SystemZ/divrem-pow2.ll
M llvm/test/CodeGen/AArch64/arm64-codegen-prepare-extload.ll
M llvm/test/Instrumentation/MemorySanitizer/reduce.ll
M llvm/test/Instrumentation/MemorySanitizer/vector_arith.ll
M llvm/test/Transforms/InstCombine/AArch64/2012-04-23-Neon-Intrinsics.ll
M llvm/test/Transforms/InstCombine/AArch64/aes-intrinsics.ll
M llvm/test/Transforms/InstCombine/ARM/2012-04-23-Neon-Intrinsics.ll
M llvm/test/Transforms/InstCombine/ARM/aes-intrinsics.ll
M llvm/test/Transforms/InstCombine/pow-0.ll
M llvm/test/Transforms/LoopVectorize/AArch64/blend-costs.ll
Log Message:
-----------
[NFC] Migrate tests to use autoupdate for CHECK lines.
Commit: c623df38c97d40889f2691775019dba32ac22c9b
https://github.com/llvm/llvm-project/commit/c623df38c97d40889f2691775019dba32ac22c9b
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M libcxx/test/std/atomics/atomics.lockfree/is_always_lock_free.pass.cpp
Log Message:
-----------
[libc++] Fix typo in is_always_lock_free test (#113169)
Commit: d6e714b10e102eb32e64e04bf177226dbe16d0e7
https://github.com/llvm/llvm-project/commit/d6e714b10e102eb32e64e04bf177226dbe16d0e7
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M libcxx/test/libcxx/header_inclusions.gen.py
M libcxx/test/libcxx/headers_in_modulemap.sh.py
M libcxx/test/libcxx/transitive_includes.gen.py
A libcxx/test/libcxx/transitive_includes/to_csv.py
R libcxx/test/libcxx/transitive_includes_to_csv.py
M libcxx/utils/generate_iwyu_mapping.py
M libcxx/utils/generate_libcxx_cppm_in.py
M libcxx/utils/libcxx/header_information.py
Log Message:
-----------
[libc++] Rewrite the transitive header checking machinery (#110554)
Since we don't generate a full dependency graph of headers, we can
greatly simplify the script that parses the result of --trace-includes.
At the same time, we also unify the mechanism for detecting whether a
header is a public/C compat/internal/etc header with the existing
mechanism in header_information.py.
As a drive-by this fixes the headers_in_modulemap.sh.py test which had
been disabled by mistake because it used its own way of determining
the list of libc++ headers. By consistently using header_information.py
to get that information, problems like this shouldn't happen anymore.
This should also unblock #110303, which was blocked because of
a brittle implementation of the transitive includes check which broke
when the repository was cloned at a path like /path/__something/more.
Commit: b81d8e90339a788cc6cb148831612c6b39b93ad5
https://github.com/llvm/llvm-project/commit/b81d8e90339a788cc6cb148831612c6b39b93ad5
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang/lib/Parse/ParseDeclCXX.cpp
Log Message:
-----------
[NFC][Clang] Fix enumerated mismatch warning (#112816)
This is one of the many PRs to fix errors with LLVM_ENABLE_WERROR=on.
Built by GCC 11.
```
Fix warning:
llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:3153:14: error: enumerated mismatch in conditional expression: ‘clang::diag::<unnamed enum>’ vs ‘clang::diag::<unnamed enum>’ [-Werror=enum-compare]
3152 | DS.isFriendSpecified() || NextToken().is(tok::kw_friend)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3153 | ? diag::err_friend_concept
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
3154 | : diag::
| ~~~~~~~~
3155 | err_concept_decls_may_only_appear_in_global_namespace_scope);
```
---------
Co-authored-by: Sirraide <aeternalmail at gmail.com>
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: 6761b24ae2f34b923df46412475a9ece50542b97
https://github.com/llvm/llvm-project/commit/6761b24ae2f34b923df46412475a9ece50542b97
Author: Jan Voung <jvoung at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unchecked-optional-access.rst
M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.h
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
Log Message:
-----------
[clang][dataflow] Cache accessors for bugprone-unchecked-optional-access (#112605)
Treat calls to zero-param const methods as having stable return values
(with a cache) to address issue #58510. The cache is invalidated when
non-const methods are called. This uses the infrastructure from PR
#111006.
For now we cache methods returning:
- ref to optional
- optional by value
- booleans
We can extend that to pointers to optional in a next change.
Commit: 6512a8dd8c0ac255a082c93d66e29606f4546fee
https://github.com/llvm/llvm-project/commit/6512a8dd8c0ac255a082c93d66e29606f4546fee
Author: tltao <tony.le.tao at gmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/CMakeLists.txt
M llvm/lib/Target/SystemZ/MCTargetDesc/CMakeLists.txt
A llvm/lib/Target/SystemZ/MCTargetDesc/SystemZGNUInstPrinter.cpp
A llvm/lib/Target/SystemZ/MCTargetDesc/SystemZGNUInstPrinter.h
A llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMInstPrinter.cpp
A llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMInstPrinter.h
R llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinter.cpp
R llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinter.h
A llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.cpp
A llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
M llvm/lib/Target/SystemZ/SystemZ.td
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
Log Message:
-----------
[SystemZ] Split SystemZInstPrinter to two classes based on Asm dialect (#112975)
In preparation for future work on separating the output of the GNU/HLASM
ASM dialects, we first separate the SystemZInstPrinter classes to two
versions, one for each ASM dialect.
The common code remains in a SystemZInstPrinterCommon class instead.
---------
Co-authored-by: Tony Tao <tonytao at ca.ibm.com>
Commit: 4275a731249c5becec666f47d26254695fd7f468
https://github.com/llvm/llvm-project/commit/4275a731249c5becec666f47d26254695fd7f468
Author: Michael Jones <michaelrj at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M libc/src/__support/macros/properties/types.h
Log Message:
-----------
[libc] Fix long double is double double const (#113258)
Turns out for double double LDBL_MANT_DIG == 106. This patch fixes the
constant. Should fix the ppc buildbot.
Previously:
https://github.com/llvm/llvm-project/pull/113235
https://github.com/llvm/llvm-project/issues/113237
https://github.com/llvm/llvm-project/pull/91651
Commit: 4c697f7037b719b9ed1fa3bcaa68c4a4219c2fc5
https://github.com/llvm/llvm-project/commit/4c697f7037b719b9ed1fa3bcaa68c4a4219c2fc5
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memcpy.ll
M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
M llvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll
M llvm/test/CodeGen/AMDGPU/memmove-var-size.ll
Log Message:
-----------
[LowerMemIntrinsics] Use i8 GEPs in memcpy/memmove lowering (#112707)
The IR lowering of memcpy/memmove intrinsics uses a target-specific type
for its load/store operations. So far, the loaded and stored addresses
are computed with GEPs based on this type. That is wrong if the
allocation size of the type differs from its store size: The width of
the accesses is determined by the store size, while the GEP stride is
determined by the allocation size. If the allocation size is greater
than the store size, some bytes are not copied/moved.
This patch changes the GEPs to use i8 addressing, with offsets based on
the type's store size. The correctness of the lowering therefore no
longer depends on the type's allocation size.
This is in support of PR #112332, which allows adjusting the memcpy loop
lowering type through a command line argument in the AMDGPU backend.
Commit: 1004865f1ca41a9581da8747f34b29862d3ebc3d
https://github.com/llvm/llvm-project/commit/1004865f1ca41a9581da8747f34b29862d3ebc3d
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
M mlir/test/Conversion/VectorToSCF/vector-to-scf.mlir
M mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir
M mlir/test/Dialect/Vector/vector-transfer-to-vector-load-store.mlir
Log Message:
-----------
[mlir][Vector] Support 0-d vectors natively in TransferOpReduceRank (#112907)
Since
https://github.com/llvm/llvm-project/commit/ddf2d62c7dddf1e4a9012d96819ff1ed005fbb05
, 0-d vectors are supported in VectorType. This patch removes 0-d vector
handling with scalars for the TransferOpReduceRank pattern. This pattern
specifically introduces tensor.extract_slice during vectorization,
causing vectorization to not fold transfer_read/transfer_write slices
properly. The changes in vectorization test files reflect this.
There are other places where lowering patterns are still side-stepping
from handling 0-d vectors properly, by turning them into scalars, but
this patch only focuses on the vector.transfer_x patterns.
Commit: ac1a01f53333e819913e91393580d6786be02c3f
https://github.com/llvm/llvm-project/commit/ac1a01f53333e819913e91393580d6786be02c3f
Author: Daniel Hoekwater <hoekwater at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/CFIFixup.cpp
Log Message:
-----------
Reland [CFIFixup] Factor CFI remember/restore insertion into a helper (NFC) (#113328)
The previous submission looked like it triggered build failure
https://lab.llvm.org/buildbot/#/builders/17/builds/3116, but this
appears to be a spurious failure due to a flaky test.
Commit: da66f6a2801e350b84b7613e2675863964c4d695
https://github.com/llvm/llvm-project/commit/da66f6a2801e350b84b7613e2675863964c4d695
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
Log Message:
-----------
[llvm-jitlink] Use heterogenous lookups with std::map (NFC) (#113245)
Commit: 0690a42261a5e228b34409c79e76ed47d1080f21
https://github.com/llvm/llvm-project/commit/0690a42261a5e228b34409c79e76ed47d1080f21
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Target/BPF/BTFDebug.cpp
Log Message:
-----------
[BPF] Avoid repeated map lookups (NFC) (#113247)
Commit: 5dbfb49490c5f06c9c7843051471956b11ef2abd
https://github.com/llvm/llvm-project/commit/5dbfb49490c5f06c9c7843051471956b11ef2abd
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M lldb/source/Plugins/DynamicLoader/FreeBSD-Kernel/DynamicLoaderFreeBSDKernel.cpp
Log Message:
-----------
[lldb] Avoid repeated hash lookups (NFC) (#113248)
Commit: c5ea7b8338e6947b5219f95a60702fac1da633ee
https://github.com/llvm/llvm-project/commit/c5ea7b8338e6947b5219f95a60702fac1da633ee
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M mlir/lib/Pass/IRPrinting.cpp
Log Message:
-----------
[mlir] Avoid repeated hash lookups (NFC) (#113249)
Commit: d8d144aea57af3840775464f9224a6edde607dea
https://github.com/llvm/llvm-project/commit/d8d144aea57af3840775464f9224a6edde607dea
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/MC/AArch64/SVE2/bfscale-diagnostics.s
A llvm/test/MC/AArch64/SVE2/bfscale.s
M llvm/test/MC/AArch64/SVE2/directive-arch-negative.s
M llvm/test/MC/AArch64/SVE2/directive-arch.s
M llvm/test/MC/AArch64/SVE2/directive-arch_extension-negative.s
M llvm/test/MC/AArch64/SVE2/directive-arch_extension.s
M llvm/test/MC/AArch64/SVE2/directive-cpu-negative.s
M llvm/test/MC/AArch64/SVE2/directive-cpu.s
Log Message:
-----------
[LLVM][AArch64] Add assembly/disassembly of SVE BFSCALE instruction (#113168)
This patch add assembly/disassembly and tests for sve bfscale
instruction according to https://developer.arm.com/documentation/ddi0602
.
Commit: a18826d75cb0d0d13fc1aef620e04d2901e9bced
https://github.com/llvm/llvm-project/commit/a18826d75cb0d0d13fc1aef620e04d2901e9bced
Author: Janek van Oirschot <janek.vanoirschot at amd.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
A llvm/test/CodeGen/AMDGPU/mcexpr-knownbits-assign-crash-gh-issue-110930.ll
Log Message:
-----------
[AMDGPU] Create local KnownBits in case DenseMap gets invalidated (#111568)
KnownBits retrieved from DenseMap may invalidate if insertion requires a
(re)growth.
Fixes https://github.com/llvm/llvm-project/issues/110930
Commit: 6e535a9ac70fc0e69778f0d6c4568cb64a0e25db
https://github.com/llvm/llvm-project/commit/6e535a9ac70fc0e69778f0d6c4568cb64a0e25db
Author: Nashe Mncube <nashe.mncube at arm.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang/test/Driver/aarch64-v96a.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.h
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
A llvm/test/MC/AArch64/armv9.6a-lsui.s
A llvm/test/MC/AArch64/armv9.6a-occmo.s
A llvm/test/MC/AArch64/armv9.6a-pcdphint.s
A llvm/test/MC/AArch64/armv9.6a-rme-gpc3.s
A llvm/test/MC/AArch64/armv9.6a-srmask.s
A llvm/test/MC/Disassembler/AArch64/armv9.6a-lsui.txt
A llvm/test/MC/Disassembler/AArch64/armv9.6a-occmo.txt
A llvm/test/MC/Disassembler/AArch64/armv9.6a-pcdphint.txt
A llvm/test/MC/Disassembler/AArch64/armv9.6a-rme-gpc3.txt
A llvm/test/MC/Disassembler/AArch64/armv9.6a-srmask.txt
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[LLVM][MC][AArch64] Assembler support for Armv9.6-A memory systems extensions (#112341)
Add support for the following Armv9.6-A memory systems extensions:
FEAT_LSUI - Unprivileged Load Store
FEAT_OCCMO - Outer Cacheable Cache Maintenance Operation
FEAT_PCDPHINT - Producer-Consumer Data Placement Hints
FEAT_SRMASK - Bitwise System Register Write Masks
as documented here:
https://developer.arm.com/documentation/109697/2024_09/Feature-descriptions/The-Armv9-6-architecture-extension
Co-authored-by: Jonathan Thackray <jonathan.thackray at arm.com>
---------
Co-authored-by: Jonathan Thackray <jonathan.thackray at arm.com>
Commit: 5942be03eadc8abd320e3dad1abcc4e87ce4171a
https://github.com/llvm/llvm-project/commit/5942be03eadc8abd320e3dad1abcc4e87ce4171a
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M lldb/test/API/commands/settings/use_source_cache/Makefile
Log Message:
-----------
[lldb][test] Fix TestUseSourceCache for readonly source trees (#113251)
TestUseSourceCache attempts to write to a build artifact copied from the
source tree, and asserts the write succeeded. If the source tree is read
only, the copy will also be read only, causing it to fail. When
producing the build artifact, ensure that it is writable.
Commit: 40c3e583b7c29c94b3fdd2361c5288b2dcc3be83
https://github.com/llvm/llvm-project/commit/40c3e583b7c29c94b3fdd2361c5288b2dcc3be83
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/unittests/Support/KnownBitsTest.cpp
Log Message:
-----------
[KnownBits] Check that mul is optimal for low order bits (#113316)
Commit: 8bbd0797d4b8aa1d993f587eb2dfd9a89df1f406
https://github.com/llvm/llvm-project/commit/8bbd0797d4b8aa1d993f587eb2dfd9a89df1f406
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang/include/clang/Basic/Module.h
M clang/include/clang/Lex/ModuleMap.h
M clang/lib/Basic/Module.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Lex/Pragma.cpp
Log Message:
-----------
[clang] Allocate `Module` instances in `BumpPtrAllocator` (#112795)
In `clang-scan-deps`, we're creating lots of `Module` instances.
Allocating them all in a bump-pointer allocator reduces the number of
retired instructions by 1-1.5% on my workload.
Commit: db21bd4fa9bf40a9f6e7713bf674dcfaa48d1d5b
https://github.com/llvm/llvm-project/commit/db21bd4fa9bf40a9f6e7713bf674dcfaa48d1d5b
Author: Lang Hames <lhames at gmail.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
M llvm/include/llvm/ExecutionEngine/Orc/SimpleRemoteEPC.h
M llvm/lib/ExecutionEngine/Orc/EPCDebugObjectRegistrar.cpp
M llvm/lib/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.cpp
M llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
M llvm/lib/ExecutionEngine/Orc/LookupAndRecordAddrs.cpp
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
M llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp
Log Message:
-----------
[ORC] Move EPC load-dylib and lookup operations into their own class.
This keeps common operations together, and should make it easier to write
re-usable dylib managers in the future (e.g. a DylibManager that uses
the EPC's remote-execution APIs to implement load and lookup).
Commit: cd4b33c9a976543171bb7b3455c485f99cfe654b
https://github.com/llvm/llvm-project/commit/cd4b33c9a976543171bb7b3455c485f99cfe654b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M lldb/include/lldb/Utility/Log.h
M lldb/source/API/SystemInitializerFull.cpp
M lldb/source/Utility/Log.cpp
Log Message:
-----------
[lldb] Log errors to the system log if they would otherwise get dropped (#111911)
Log errors to the (always-on) system log if they would otherwise get
dropped by LLDB_LOG_ERROR.
Commit: 41365dcbd6aae0cb9c66fbe2e57adb658a2a3167
https://github.com/llvm/llvm-project/commit/41365dcbd6aae0cb9c66fbe2e57adb658a2a3167
Author: Lang Hames <lhames at gmail.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
A llvm/include/llvm/ExecutionEngine/Orc/DylibManager.h
Log Message:
-----------
[ORC] Add missing DylibManager header.
-
Accidentally left out of db21bd4fa9bf40a9f6e7713bf674dcfaa48d1d5b.
Commit: 2074de252b59a82279c275a1c8e7a4be6e1101d8
https://github.com/llvm/llvm-project/commit/2074de252b59a82279c275a1c8e7a4be6e1101d8
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/CodeGenCUDA/device-init-fun.cu
M clang/test/CodeGenCUDA/kernel-amdgcn.cu
Log Message:
-----------
[clang][HIP] Don't use the OpenCLKernel CC when targeting AMDGCNSPIRV (#110447)
When compiling HIP source for AMDGCN flavoured SPIR-V that is expected
to be consumed by the ROCm HIP RT, it's not desirable to set the OpenCL
Kernel CC on `__global__` functions. On one hand, this is not an OpenCL
RT, so it doesn't compose with e.g. OCL specific attributes. On the
other it is a "noisy" CC that carries semantics, and breaks overload
resolution when using [generic dispatchers such as those used by
RAJA](https://github.com/LLNL/RAJAPerf/blob/186d4194a5719788ae96631c923f9ca337f56970/src/common/HipDataUtils.hpp#L39).
Commit: b263a71c2b1b14be53102f0a2ce4df131937f478
https://github.com/llvm/llvm-project/commit/b263a71c2b1b14be53102f0a2ce4df131937f478
Author: Peng Liu <winner245 at hotmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M libcxx/include/vector
Log Message:
-----------
[libc++] Refactor vector constructors to eliminate code duplication (#113193)
This PR refactors the std::vector's initializer_list constructors to
reduce code duplication. The constructors now call `__init_with_size`
directly, reducing code duplication and improving readability and
maintainability.
Commit: 53a8a7cd85c3dd41c04daa65d5497f8d6b79936a
https://github.com/llvm/llvm-project/commit/53a8a7cd85c3dd41c04daa65d5497f8d6b79936a
Author: Lang Hames <lhames at gmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Shared/ObjectFormats.h
Log Message:
-----------
[ORC] Fix typo in include guard comment.
Commit: 470a5991920730242acd18c90449d77fabdada63
https://github.com/llvm/llvm-project/commit/470a5991920730242acd18c90449d77fabdada63
Author: Lang Hames <lhames at gmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
A llvm/include/llvm/ExecutionEngine/Orc/Shared/MachOObjectFormat.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/ObjectFormats.h
M llvm/lib/ExecutionEngine/Orc/Shared/CMakeLists.txt
A llvm/lib/ExecutionEngine/Orc/Shared/MachOObjectFormat.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/ObjectFormats.cpp
Log Message:
-----------
[ORC] Move MachO object format details into their own header (NFC).
Commit: dc5c044193b31231dcb1d32c76bb03cbc9ed2c74
https://github.com/llvm/llvm-project/commit/dc5c044193b31231dcb1d32c76bb03cbc9ed2c74
Author: Greg Clayton <gclayton at fb.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
A llvm/test/tools/llvm-dwarfdump/Inputs/verify_split_dwarf_debug_names_ftus_dwo.yaml
A llvm/test/tools/llvm-dwarfdump/Inputs/verify_split_dwarf_debug_names_ftus_exe.yaml
A llvm/test/tools/llvm-dwarfdump/verify_split_dwarf_debug_names_ftus.test
Log Message:
-----------
Add verification support for .debug_names with foreign type units. (#109011)
This commit enables 'llvm-dwarfdump --veriy' to verify the DWARF in
foreign type units when using split DWARF for the .debug_names section.
Commit: 91fd1b4f32206267f6b9ce0dc4977d62ef227151
https://github.com/llvm/llvm-project/commit/91fd1b4f32206267f6b9ce0dc4977d62ef227151
Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/test/SemaCUDA/fp16-arg-return.cu
Log Message:
-----------
[HIP] Always add -fnative-half-arguments-and-returns cmdline option. (#113335)
This command-line option is now required while building the HIP
applications (mainly for the host side) after we enabled __fp16
args and return values with patches D133885 & D145345.
Commit: 2ccbea1d738332cd92d8d33fdd51dfac3482328e
https://github.com/llvm/llvm-project/commit/2ccbea1d738332cd92d8d33fdd51dfac3482328e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/tools/dsymutil/DebugMap.cpp
M llvm/tools/dsymutil/DebugMap.h
M llvm/tools/dsymutil/MachODebugMapParser.cpp
M llvm/tools/dsymutil/dsymutil.cpp
M llvm/tools/dsymutil/dsymutil.h
Log Message:
-----------
[dsymutil] Share one BinaryHolder between debug map parsing & linking (#113234)
I (re)discovered that dsymutil was instantiating two BinaryHolders: one
for parsing the debug map and one for linking. That really defeats the
purpose of the BinaryHolder as it serves as a cache. Fix the issue and
remove an old FIXME.
Commit: 5886454669c3c9026f7f27eab13509dd0241f2d6
https://github.com/llvm/llvm-project/commit/5886454669c3c9026f7f27eab13509dd0241f2d6
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/docs/CommandGuide/dsymutil.rst
M llvm/test/tools/dsymutil/X86/timestamp-mismatch.test
M llvm/test/tools/dsymutil/cmdline.test
M llvm/tools/dsymutil/BinaryHolder.cpp
M llvm/tools/dsymutil/BinaryHolder.h
M llvm/tools/dsymutil/Options.td
M llvm/tools/dsymutil/dsymutil.cpp
Log Message:
-----------
[dsymutil] Provide an option to ignore object timestamp mismatches (#113238)
Provide a option (--no-object-timestamp) to ignore object file timestamp
mismatches. We already have a similar option for Swift modules
(--no-swiftmodule-timestamp).
rdar://123975869
Commit: f66bc4d3f1ef5f4e16db0ac51a14f6941af90d0d
https://github.com/llvm/llvm-project/commit/f66bc4d3f1ef5f4e16db0ac51a14f6941af90d0d
Author: Daniel Hoekwater <hoekwater at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/CFIFixup.cpp
Log Message:
-----------
Revert "Reland [CFIFixup] Factor CFI remember/restore insertion into a helper (NFC)" (#113340)
Reverts llvm/llvm-project#113328
This change breaks a number of builds (e.g
https://lab.llvm.org/buildbot/#/builders/25/builds/3504), for some
reason. Reverting to do some troubleshooting.
Commit: 2fdf49db7562eadbe01b18f0d01a955cd41b94ea
https://github.com/llvm/llvm-project/commit/2fdf49db7562eadbe01b18f0d01a955cd41b94ea
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/test/tools/llvm-rc/tag-html.test
Log Message:
-----------
[llvm-rc] Handle Windows line endings in tag-html test (#113000)
The tag-html.test has been failing for me and [in
CI](https://buildkite.com/llvm-project/github-pull-requests/builds/111277#0192a122-c5c9-4e4e-bc5b-7532fec99ae4)
if Git happens to decide to check out the baseline file with Windows
line endings.
This fix for this is to call `tr` to strip Windows newlines when copying
the baselines files to the test output directory before embedding them.
Commit: 7b308b18c3946dd0e09c661db52f70eff3fe8104
https://github.com/llvm/llvm-project/commit/7b308b18c3946dd0e09c661db52f70eff3fe8104
Author: Sergey Kozub <skozub at nvidia.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Support/APFloat.cpp
M llvm/unittests/ADT/APFloatTest.cpp
Log Message:
-----------
Fix bitcasting E8M0 APFloat to APInt (#113298)
Fixes a bug in APFloat handling of E8M0 type (zero mantissa).
Related PRs:
- https://github.com/llvm/llvm-project/pull/107127
- https://github.com/llvm/llvm-project/pull/111028
Commit: 6803062eb7f2e5ca3db2695688239aa57cdbcd0e
https://github.com/llvm/llvm-project/commit/6803062eb7f2e5ca3db2695688239aa57cdbcd0e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M bolt/lib/Core/DIEBuilder.cpp
Log Message:
-----------
[BOLT] Fix a build failure
This patch fixes:
bolt/lib/Core/DIEBuilder.cpp:285:40: error: too many arguments to
function call, expected 2, have 3
Commit: 2cbe7c2b9e1c5b39bceb20707723146147883b2b
https://github.com/llvm/llvm-project/commit/2cbe7c2b9e1c5b39bceb20707723146147883b2b
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
Log Message:
-----------
[gn build] Port 1295d2e6da2f
Commit: c08a5c15e149c3620a74db1291f71f5193b31dd2
https://github.com/llvm/llvm-project/commit/c08a5c15e149c3620a74db1291f71f5193b31dd2
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/Shared/BUILD.gn
Log Message:
-----------
[gn build] Port 470a59919207
Commit: 24293e6900028487beaf7f44965464ca9cb2745d
https://github.com/llvm/llvm-project/commit/24293e6900028487beaf7f44965464ca9cb2745d
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/SystemZ/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn build] Port 6512a8dd8c0a
Commit: 50df49e02a5875081c6bfbc533efe53ee6a1768b
https://github.com/llvm/llvm-project/commit/50df49e02a5875081c6bfbc533efe53ee6a1768b
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
Log Message:
-----------
[gn build] Port 6c4267fb1779
Commit: 62cb1a3b0bc77ed36ee06345e739e66e8c0cc211
https://github.com/llvm/llvm-project/commit/62cb1a3b0bc77ed36ee06345e739e66e8c0cc211
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/IR/BUILD.gn
Log Message:
-----------
[gn build] Port b8930cd13d48
Commit: 0764e55c91514734ff79ca4d666fbce2fa89fc9d
https://github.com/llvm/llvm-project/commit/0764e55c91514734ff79ca4d666fbce2fa89fc9d
Author: Sam Clegg <sbc at chromium.org>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
A lld/test/wasm/version.test
M lld/wasm/Driver.cpp
M lld/wasm/Options.td
Log Message:
-----------
[lld][WebAssembly] Improve -v/-V/--version flag compat (#113204)
Fixes: #112836
Commit: 383bd05818ac395076c2e05d152601bbc80fa2d7
https://github.com/llvm/llvm-project/commit/383bd05818ac395076c2e05d152601bbc80fa2d7
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/docs/CodeOfConduct.rst
Log Message:
-----------
[docs] Add link to newest CoC transparency report
Commit: 9b9c2a082c240826e2cf91bb8e3a1dcb5bbba78a
https://github.com/llvm/llvm-project/commit/9b9c2a082c240826e2cf91bb8e3a1dcb5bbba78a
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
Log Message:
-----------
[RISCV][NFC] Move RISCVISD::TAIL beside RISCVISD::CALL
Commit: 9edb4f74a606a7ba021accdb8896295bbaf18314
https://github.com/llvm/llvm-project/commit/9edb4f74a606a7ba021accdb8896295bbaf18314
Author: muiez <73544786+muiez at users.noreply.github.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang/include/clang/Support/Compiler.h
M llvm/include/llvm/Support/Compiler.h
Log Message:
-----------
Define CLANG_ABI and LLVM_ABI for z/OS (#113333)
This patch fixes the build failure seen on z/OS:
```
llvm/clang/include/clang/ASTMatchers/ASTMatchers.h:7212:1: error: unknown type name 'CLANG_ABI'
```
Commit: 8536c2e9a25681b6b0c740e708411f0ed3b12f11
https://github.com/llvm/llvm-project/commit/8536c2e9a25681b6b0c740e708411f0ed3b12f11
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang/include/clang/AST/ExprConcepts.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
Log Message:
-----------
[clang][NFC] Move `concepts::createSubstDiagAt` from AST to Sema (#113294)
This fixes layering violation introduced in
2fd01d75a863184766ee0c82b5c0fc8be172448a. The declaration is moved to
`SemaTemplateInstantiate` section of `Sema.h`, after the file where it's
implemented.
Commit: 1b0fcf1e42e05611ec37aa7956988ae6317ad116
https://github.com/llvm/llvm-project/commit/1b0fcf1e42e05611ec37aa7956988ae6317ad116
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/utils/FixItHintUtils.cpp
M clang-tools-extra/clang-tidy/utils/FixItHintUtils.h
M clang-tools-extra/unittests/clang-tidy/AddConstTest.cpp
Log Message:
-----------
[clang-tidy][NFC] Replace usages of `DeclSpec::TQ` with `Qualifiers::TQ` (#113295)
This patch improves, but doens't fully resolve the layering violation,
which stems from relying on Sema. There's one function that needs to
convert enumerator to a string (`buildQualifier` in
`FixItHintUtils.cpp`), but `Qualifiers::TQ` doesn't offer such function.
Even more, the set of enumerators is not complete compared to
`DeclSpec::TQ`, so I'm afraid that this would be a functional change.
Commit: e57548387000071562f44bfd66644480c8e6542d
https://github.com/llvm/llvm-project/commit/e57548387000071562f44bfd66644480c8e6542d
Author: Lang Hames <lhames at gmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp
Log Message:
-----------
[ORC] Fix LLJITWithRemoteDebugging example after db21bd4fa9b.
Commit: 06d192925d3510d0af6c10e6f64f6deabf66b75f
https://github.com/llvm/llvm-project/commit/06d192925d3510d0af6c10e6f64f6deabf66b75f
Author: Lei Huang <lei at ca.ibm.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/named-reg-alloc-r0.ll
M llvm/test/CodeGen/PowerPC/named-reg-alloc-r1-64.ll
M llvm/test/CodeGen/PowerPC/named-reg-alloc-r1.ll
M llvm/test/CodeGen/PowerPC/named-reg-alloc-r13-64.ll
M llvm/test/CodeGen/PowerPC/named-reg-alloc-r13.ll
M llvm/test/CodeGen/PowerPC/named-reg-alloc-r2-64.ll
M llvm/test/CodeGen/PowerPC/named-reg-alloc-r2.ll
A llvm/test/CodeGen/PowerPC/named-reg-alloc.ll
Log Message:
-----------
[PowerPC] Expand global named register support (#112603)
Enable all valid registers for intrinsics that read from and write
to global named registers.
Commit: 78e026f845fb4d924673a9d534cc36cf7b55473c
https://github.com/llvm/llvm-project/commit/78e026f845fb4d924673a9d534cc36cf7b55473c
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.h
Log Message:
-----------
[RISCV][NFC] Document F64 ISD Nodes
Commit: 00b47b98d45da4822dc0ef81ea0d1d91bf56d1e6
https://github.com/llvm/llvm-project/commit/00b47b98d45da4822dc0ef81ea0d1d91bf56d1e6
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
Log Message:
-----------
[NFC] Fix missplaced comment
Commit: 7191ced3b69e6f4f0e67056be416e399d0a8d7ca
https://github.com/llvm/llvm-project/commit/7191ced3b69e6f4f0e67056be416e399d0a8d7ca
Author: weiwei chen <weiwei.chen at modular.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/Index/IR/IndexOps.td
M mlir/lib/Dialect/Index/IR/IndexOps.cpp
M mlir/test/Dialect/Index/index-canonicalize.mlir
Log Message:
-----------
[MLIR] Add folding constants canonicalization for mlir::index::AddOp. (#111084)
- [x] Add a simple canonicalization for `mlir::index::AddOp`.
Commit: cc4926a0699eb27dd1974ea0f521d64dcf897af4
https://github.com/llvm/llvm-project/commit/cc4926a0699eb27dd1974ea0f521d64dcf897af4
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M flang/runtime/CUDA/registration.cpp
Log Message:
-----------
[flang][cuda] Fix module registration (#113358)
Commit: 03fef62b84469c5dbbed04235c30eb96b6b48369
https://github.com/llvm/llvm-project/commit/03fef62b84469c5dbbed04235c30eb96b6b48369
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-vi.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx9.cl
Log Message:
-----------
[AMDGPU] Relax __builtin_amdgcn_update_dpp sema check (#113341)
Recent change applied too strict check for old and src operands match.
These shall be compatible, but not necessarily exactly the same.
Fixes: SWDEV-493072
Commit: 54cf62d19d8d9ca17b0557b515850d9c633f6bc7
https://github.com/llvm/llvm-project/commit/54cf62d19d8d9ca17b0557b515850d9c633f6bc7
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll
M llvm/test/Instrumentation/MemorySanitizer/pr32842.ll
Log Message:
-----------
[nfc][msan] Generate test with update_test_checks.py (#113199)
PR is to:
1. Simplify test update in #113200
2. Make tests more comprehensive, currently interesting cases looks very
basic:
```
; CHECK-LABEL: @ICmpSGTAllOnes
; CHECK: icmp slt
; CHECK-NOT: call void @__msan_warning
; CHECK: icmp sgt
; CHECK-NOT: call void @__msan_warning
; CHECK: ret i1
```
Commit: 395093ec150accf19b8158f9d2327ba470e92867
https://github.com/llvm/llvm-project/commit/395093ec150accf19b8158f9d2327ba470e92867
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll
M llvm/test/Instrumentation/MemorySanitizer/pr32842.ll
Log Message:
-----------
[msan] Switch to -msan-handle-icmp-exact my default (#113200)
Fixes #111212.
This grows .text by 5.3% on CTMark, (or 2.6% large internal binary)
Perf regressed by 1.6%. We will try to improve in follow up patches.
It worth to pay some performance regression to fix
correctness to avoid stuff like #111212.
Commit: f1e59dcb4587fe65837237f780ca55b221726ff3
https://github.com/llvm/llvm-project/commit/f1e59dcb4587fe65837237f780ca55b221726ff3
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
A flang/include/flang/Optimizer/Transforms/CUFOpConversion.h
R flang/include/flang/Optimizer/Transforms/CufOpConversion.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
A flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
R flang/lib/Optimizer/Transforms/CufImplicitDeviceGlobal.cpp
R flang/lib/Optimizer/Transforms/CufOpConversion.cpp
M flang/test/Fir/CUDA/cuda-implicit-device-global.f90
Log Message:
-----------
Renaming Cuf passes to CUF (#113351)
For consistency with other dialects and other CUF passes and files, this
patch renames passes CufOpConversion to CUFOpConversion,
CufImplicitDeviceGlobal to CUFDeviceGlobal.
It also renames the file.
Commit: 020fa86897c0d39d6a806221e330abf901be3cdd
https://github.com/llvm/llvm-project/commit/020fa86897c0d39d6a806221e330abf901be3cdd
Author: Artem Belevich <tra at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXTargetStreamer.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXTargetStreamer.h
M llvm/lib/Target/NVPTX/NVPTXAssignValidGlobalNames.cpp
M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
M llvm/lib/Target/NVPTX/NVPTXUtilities.h
A llvm/test/DebugInfo/NVPTX/debug-ptx-symbols.ll
Log Message:
-----------
[NVPTX] mangle symbols in debug info to conform to PTX restrictions. (#113216)
Until now debug info was printing the symbols names as-is and that
resulted in invalid PTX when the symbols contained characters that are
invalid for PTX. E.g. `__PRETTY_FUNCTION.something`
Debug info is somewhat disconnected from the symbols themselves, so the
regular "NVPTXAssignValidGlobalNames" pass can't easily fix them.
As the "plan B" this patch catches printout of debug symbols and fixes
them, as needed. One gotcha is that the same code path is used to print
the names of debug info sections. Those section names do start with a
'.debug'. The dot in those names is nominally illegal in PTX, but the
debug section names with a dot are accepted as a special case. The
downside of this change is that if someone ever has a `.debug*` symbol
that needs to be referred to from the debug info, that label will be
passed through as-is, and will still produce broken PTX output. If/when
we run into a case where we need it to work, we could consider only
passing through specific debug section names, or add a mechanism
allowing us to tell section names apart from regular symbols.
Fixes #58491
Commit: c3aa8b7dd62065714256ad439afeab6fb2b1b89f
https://github.com/llvm/llvm-project/commit/c3aa8b7dd62065714256ad439afeab6fb2b1b89f
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll
M llvm/test/Instrumentation/MemorySanitizer/pr32842.ll
Log Message:
-----------
Revert "[msan] Switch to -msan-handle-icmp-exact my default" (#113376)
Reverts llvm/llvm-project#113200
Breaks bots, see llvm/llvm-project#113200
Commit: 71792dc570c5b0eca0937efbd57d9ea1457dc87f
https://github.com/llvm/llvm-project/commit/71792dc570c5b0eca0937efbd57d9ea1457dc87f
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Log Message:
-----------
[NFC][msan] Workaround arg evaluation order diff GCC vs Clang (#113378)
Commit: 5c92f2331c7e02059baddaa3eaf35c039a48caf2
https://github.com/llvm/llvm-project/commit/5c92f2331c7e02059baddaa3eaf35c039a48caf2
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/test/CodeGen/WebAssembly/externref-globalget.ll
Log Message:
-----------
[WebAssembly] Fix MIR printing of reference types (#113028)
When printing a memory operand in MIR, this line
https://github.com/llvm/llvm-project/blob/d37bc32a65651e647148236ffb9728ea2e77eac3/llvm/lib/CodeGen/MachineOperand.cpp#L1247
calls this
https://github.com/llvm/llvm-project/blob/d37bc32a65651e647148236ffb9728ea2e77eac3/llvm/include/llvm/Support/Alignment.h#L238
which assumes `Rhs` (the size in this case) is positive.
But Wasm reference types' size is set to 0:
https://github.com/llvm/llvm-project/blob/d37bc32a65651e647148236ffb9728ea2e77eac3/llvm/include/llvm/CodeGen/ValueTypes.td#L326-L328
`getSize() > 0` condition was added with the Wasm reference types
support in
https://github.com/llvm/llvm-project/commit/46667a10039b664b953eb70534c27627b35a267d,
and it looks it was removed in #84751. This revives the condition so
that Wasm reference types will not crash the MIR printer.
Commit: c77d8edf80570f450122a7687100553836149652
https://github.com/llvm/llvm-project/commit/c77d8edf80570f450122a7687100553836149652
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll
M llvm/test/Instrumentation/MemorySanitizer/pr32842.ll
Log Message:
-----------
Revert "Revert "[msan] Switch to -msan-handle-icmp-exact my default"" (#113379)
Reverts llvm/llvm-project#113376
Fixed with #113378
Commit: a8d506b32046636f462c8a637a8d2e0443622b00
https://github.com/llvm/llvm-project/commit/a8d506b32046636f462c8a637a8d2e0443622b00
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/test/Parser/OpenMP/map-modifiers.f90
Log Message:
-----------
[flang][OpenMP] Rename enum OmpxHold to Ompx_Hold in parser (#113366)
The convention is to use enum names that match the source spelling (up
to upper/lower case), including names with underscores.
Remove the special case from unparser, update tests.
Commit: 519eef3bdc3c17ac9b59933187e1d7bdc6c2729d
https://github.com/llvm/llvm-project/commit/519eef3bdc3c17ac9b59933187e1d7bdc6c2729d
Author: Longsheng Mou <moulongsheng at huawei.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/ops.mlir
Log Message:
-----------
[mlir][tosa] Add a verifier for `tosa.mul` (#113320)
This PR adds a verifier check for tosa.mul, requiring that the shift be
0 for float types.
Fixes #112716.
Commit: d98519715617a462c3ebadc778558b717354b6d2
https://github.com/llvm/llvm-project/commit/d98519715617a462c3ebadc778558b717354b6d2
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/tools/llvm-isel-fuzzer/llvm-isel-fuzzer.cpp
M llvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp
Log Message:
-----------
[NFC][Fuzzer] Refactor to avoid a false warning from gcc (#112944)
This is one of the many PRs to fix errors with LLVM_ENABLE_WERROR=on.
Built by GCC 11.
Refactor the code to avoid the false warning
llvm-project/llvm/tools/llvm-isel-fuzzer/llvm-isel-fuzzer.cpp
llvm-project/llvm/tools/llvm-isel-fuzzer/llvm-isel-fuzzer.cpp: In
function ‘int LLVMFuzzerInitialize(int*, char***)’:
llvm-project/llvm/tools/llvm-isel-fuzzer/llvm-isel-fuzzer.cpp:141:43:
error: ISO C++ forbids zero-size array ‘argv’ [-Werror=pedantic]
141 | ExitOnError ExitOnErr(std::string(*argv[0]) + ": error:");
|
Commit: 0ffa29fe8152e247eea87017e8c5aeedc6329c15
https://github.com/llvm/llvm-project/commit/0ffa29fe8152e247eea87017e8c5aeedc6329c15
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang/include/clang/Serialization/ModuleFile.h
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTCommon.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ModuleManager.cpp
Log Message:
-----------
[clang][modules] Timestamp PCM files when writing (#112452)
Clang uses timestamp files to track the last time an implicitly-built
PCM file was verified to be up-to-date with regard to its inputs. With
`-fbuild-session-{file,timestamp}=` and
`-fmodules-validate-once-per-build-session` this reduces the number of
times a PCM file is checked per "build session".
The behavior I'm seeing with the current scheme is that when lots of
Clang instances wait for the same PCM to be built, they race to validate
it as soon as the file lock gets released, causing lots of concurrent
IO.
This patch makes it so that the timestamp is written by the same Clang
instance responsible for building the PCM while still holding the lock.
This makes it so that whenever a PCM file gets compiled, it's never
re-validated in the same build session.
I believe this is as sound as the current scheme. One thing to be aware
of is that there might be a time interval between accessing input file N
and writing the timestamp file, where changes to input files 0..<N would
not result in a rebuild. Since this is the case current scheme too, I'm
not too concerned about that.
I've seen this speed up `clang-scan-deps` by ~27%.
Commit: fe480cf9232c91d4fad883b4d2748dcc5a6fc0c5
https://github.com/llvm/llvm-project/commit/fe480cf9232c91d4fad883b4d2748dcc5a6fc0c5
Author: jofrn <jofernau at amd.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMInstrMVE.td
M llvm/lib/Target/ARM/ARMInstrNEON.td
Log Message:
-----------
[ARM] Use proper types for these records. (#113370)
llvm#112904 will add typechecking to submulticlass arguments, and these
ones are currently mistyped.
Commit: 2e0506f83bfde6db93454bdf28e4a71c160d4f5b
https://github.com/llvm/llvm-project/commit/2e0506f83bfde6db93454bdf28e4a71c160d4f5b
Author: Florian Mayer <fmayer at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/test/MC/AArch64/global-tagging.ll
Log Message:
-----------
[NFC] [MTE] Remove useless yaml2obj from test (#113374)
We already have the .o, there is no reason to go .o -> YAML -> .o
Commit: b4fcaa137f057e68a9011b26c11627a16a8c9374
https://github.com/llvm/llvm-project/commit/b4fcaa137f057e68a9011b26c11627a16a8c9374
Author: Michael O'Farrell <micpof at gmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/test/Transforms/PGOProfile/counter_promo_sampling.ll
M llvm/test/Transforms/PGOProfile/cspgo_sample.ll
M llvm/test/Transforms/PGOProfile/instrprof_burst_sampling_fast.ll
M llvm/test/Transforms/PGOProfile/instrprof_burst_sampling_full.ll
M llvm/test/Transforms/PGOProfile/instrprof_burst_sampling_full_intsize.ll
M llvm/test/Transforms/PGOProfile/instrprof_simple_sampling.ll
Log Message:
-----------
[PGO][SampledInstr] Correct off by 1s and allow 100% sampling (#113350)
This corrects a couple off by ones related to the sampling of
**instrumented** counters, and enables setting 100% rates for burst
sampling (burst duration = period).
Off by ones:
Prior to this change it was impossible to set a period of 65535 because
this was converted to fast sampling which rollsover at USHRT_MAX + 1
(65536). Similarly the burst durations would collect burst duration + 1
counts as they used an ULE comparison.
100% sampling:
Although this is not useful for a productionized use case, it does allow
for more deterministic testing with the sampling checks in place. After
all the off by ones are fixed, allowing for 100% sampling is a matter of
letting burst duration = period.
Commit: 8a12e0131f3d84b470fac63af042aa96a1b19f56
https://github.com/llvm/llvm-project/commit/8a12e0131f3d84b470fac63af042aa96a1b19f56
Author: Justin Fargnoli <justinfargnoli at gmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/docs/Passes.rst
M llvm/docs/ReleaseNotes.md
R llvm/include/llvm/Transforms/Utils/IRNormalizer.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Utils/CMakeLists.txt
R llvm/lib/Transforms/Utils/IRNormalizer.cpp
R llvm/test/Transforms/IRNormalizer/naming-args-instr-blocks.ll
R llvm/test/Transforms/IRNormalizer/naming-arguments.ll
R llvm/test/Transforms/IRNormalizer/naming.ll
R llvm/test/Transforms/IRNormalizer/regression-convergence-tokens.ll
R llvm/test/Transforms/IRNormalizer/regression-coro-elide-musttail.ll
R llvm/test/Transforms/IRNormalizer/regression-deoptimize.ll
R llvm/test/Transforms/IRNormalizer/regression-dont-hoist-deoptimize.ll
R llvm/test/Transforms/IRNormalizer/regression-infinite-loop.ll
R llvm/test/Transforms/IRNormalizer/reordering-basic.ll
R llvm/test/Transforms/IRNormalizer/reordering.ll
Log Message:
-----------
Revert "[LLVM] Add IRNormalizer Pass" (#113392)
Reverts llvm/llvm-project#68176
Introduced BuildBot failure:
https://github.com/llvm/llvm-project/pull/68176#issuecomment-2428243474
Commit: 10f0c1aadd878be3bd7c586c4a2c7d7c76aee733
https://github.com/llvm/llvm-project/commit/10f0c1aadd878be3bd7c586c4a2c7d7c76aee733
Author: Michael O'Farrell <micpof at gmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
A llvm/test/Transforms/PGOProfile/fix_entry_count_sampled.ll
Log Message:
-----------
[PGO] Ensure non-zero entry-count after `populateCounters` (#112029)
With sampled instrumentation (#69535), profile counts may appear corrupt
and `fixFuncEntryCount` may assert. In particular a function can have a
0 block count for its entry, while later blocks are non zero. This is
only likely to happen for colder functions, so it is reasonable to take
any action that does not crash. Here we simply bail from fixing the
entry count.
Commit: 4334f317e7fb2bdeaa15e912bbe0cd3162faf02c
https://github.com/llvm/llvm-project/commit/4334f317e7fb2bdeaa15e912bbe0cd3162faf02c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTBAA.h
M clang/test/CodeGen/tbaa-pointers.c
M clang/test/CodeGen/tbaa-reference.cpp
Log Message:
-----------
[TBAA] Extend pointer TBAA to pointers of non-builtin types. (#110569)
Extend the logic added in 123c036bd361d
(https://github.com/llvm/llvm-project/pull/76612) to support pointers to
non-builtin types by using the mangled name of the canonical type.
PR: https://github.com/llvm/llvm-project/pull/110569
Commit: 9b984554d769f1f81adb654345aa9ef37d5e5b44
https://github.com/llvm/llvm-project/commit/9b984554d769f1f81adb654345aa9ef37d5e5b44
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaHLSL.cpp
Log Message:
-----------
[HLSL][NFC] Move IsIntangibleType from SemaHLSL to Type to make it accessible outside of Sema (#113206)
Moves `IsIntangibleType` from SemaHLSL to Type class and renames it to
`isHLSLIntangibleType`. The existing `isHLSLIntangibleType` is renamed
to `isHLSLBuiltinIntangibleType` and updated to return true only for the
builtin `__hlsl_resource_t` type.
This change makes `isHLSLIntangibleType` functionality accessible
outside of Sema, for example from clang CodeGen.
Commit: 4c1b1f6d219d66feb4795fdbe80e8b380b53eade
https://github.com/llvm/llvm-project/commit/4c1b1f6d219d66feb4795fdbe80e8b380b53eade
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-10-22 (Tue, 22 Oct 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/NVPTXTargetTransformInfo.cpp
A llvm/test/CodeGen/NVPTX/funnel-shift-clamp.ll
M llvm/test/Transforms/InstCombine/NVPTX/nvvm-intrins.ll
Log Message:
-----------
[NVPTX] Add support for clamped funnel shift intrinsics (#113228)
Add support for ``llvm.nvvm.fshl.clamp`` and ``llvm.nvvm.fshr.clamp``
intrinsics. These intrinsics are similar to the generic llvm funnel
shift, except that the shift value is clamped to the integer width.
Currently only ``i32`` is supported and is implemented with the
`shf.[rl].clamp.b32` PTX instruction.
Commit: 8234f8ae2685066fd701757a520030d0024691cf
https://github.com/llvm/llvm-project/commit/8234f8ae2685066fd701757a520030d0024691cf
Author: Augusto Noronha <anoronha at apple.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
A llvm/test/DebugInfo/Generic/debug-names-accel-table-types.ll
A llvm/test/tools/dsymutil/ARM/debug-names-accel-table-types.ll
Log Message:
-----------
[DebugInfo] Emit linkage name into DWARF for types for Swift (#112802)
Store Swift mangled names in DW_AT_linkage_name. The Swift compiler
emits only the type mangled name in debug information, and LLDB uses
those mangled names as keys to look up size, alignment, fields, etc
from either reflection metadata or Swift modules.
Additionally, emit types linkage names for types into the accelerator
table if they exist and they're different from the display name.
Commit: 0fbf91ab8e395717ed886c6827ca572c5baaa7a0
https://github.com/llvm/llvm-project/commit/0fbf91ab8e395717ed886c6827ca572c5baaa7a0
Author: Konstantin Romanov <konstantinsromanov at gmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeUnionAccessCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-union-access.cpp
Log Message:
-----------
[clang-tidy] Fix cppcoreguidelines-pro-type-union-access if memLoc is invalid (#104540)
Fixes #102945.
Commit: bd6c430dcb52f3e4f86abc5f572126355fa39936
https://github.com/llvm/llvm-project/commit/bd6c430dcb52f3e4f86abc5f572126355fa39936
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGenCXX/flexible-array-init.cpp
Log Message:
-----------
[clang codegen] avoid to crash when emit init func for global variable with flexible array init (#113336)
Fixes: #113187
Avoid to create init function since clang does not support global
variable with flexible array init.
It will cause assertion failure later.
Commit: 645e6f11145a49831accf219ed444aa5edd0148a
https://github.com/llvm/llvm-project/commit/645e6f11145a49831accf219ed444aa5edd0148a
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[llvm][OpenMP] Handle complex types in atomic read (#111377)
This patch adds functionality for atomically reading `llvm.struct`
types.
Fixes: https://github.com/llvm/llvm-project/issues/93441
Commit: b69ac31a3b858f6a77744adfa31ad53edecbdb7e
https://github.com/llvm/llvm-project/commit/b69ac31a3b858f6a77744adfa31ad53edecbdb7e
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang/lib/Format/Format.cpp
Log Message:
-----------
[clang-format] Use RemoveEmptyLinesInUnwrappedLines in clang-format s… (#113260)
…tyle
Commit: d005be33ee776c5d788693f5c1cf4f6bc242e13c
https://github.com/llvm/llvm-project/commit/d005be33ee776c5d788693f5c1cf4f6bc242e13c
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTestCSharp.cpp
Log Message:
-----------
[clang-format] Handle C# `goto case` constructs (#113257)
Fixes #113256.
Commit: 9e3d4653afab438c3c2be79e1e9f758c59a34b84
https://github.com/llvm/llvm-project/commit/9e3d4653afab438c3c2be79e1e9f758c59a34b84
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/x86.c
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
[X86] Update Model value for Arrow Lake. (#113273)
Ref.: https://cdrdv2.intel.com/v1/dl/getContent/671368
Commit: 49ebe329052db8c1376ec6714315673af7418248
https://github.com/llvm/llvm-project/commit/49ebe329052db8c1376ec6714315673af7418248
Author: Miguel Saldivar <miguel.saldivar at hpe.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/pr108731.ll
Log Message:
-----------
[X86] combineAndNotOrIntoAndNotAnd - don't fold other constant operands (#113264)
Looks like having a constant in `Z` also caused infinite loops. This
fixes #113240.
Commit: 1cbc015551e1b2445cb215a74d1eccab80041998
https://github.com/llvm/llvm-project/commit/1cbc015551e1b2445cb215a74d1eccab80041998
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Semantics/check-omp-structure.cpp
R flang/test/Lower/OpenMP/Todo/atomic-character.f90
M flang/test/Semantics/OpenMP/atomic02.f90
M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
Log Message:
-----------
[flang][OpenMP] Error out when CHARACTER type is used in atomic constructs (#113045)
According to OpenMPv5.2 1.2.6, "For Fortran, a scalar variable with
intrinsic type, as defined by the base language, excluding character
type.". Likewise, section 4.3.1.3 states that atomic operations are on
"scalar variables of intrinsic type". This PR hence introduces a check
to error out when CHARACTER type is used in atomic operations.
Fixes https://github.com/llvm/llvm-project/issues/112918
Commit: 2a2520082882d857b22f16e9efa8f794d328f3ee
https://github.com/llvm/llvm-project/commit/2a2520082882d857b22f16e9efa8f794d328f3ee
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Linalg/transform-lower-pack.mlir
M mlir/test/Dialect/Tensor/fold-empty-op.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
Log Message:
-----------
[mlir][tensor] Restrict the verifier for tensor.pack/tensor.unpack (#113108)
Restricts the verifier for tensor.pack and tensor.unpack Ops so that the
following is no longer allowed:
```mlir
%c8 = arith.constant 8 : index
%0 = tensor.pack %input inner_dims_pos = [0, 1] inner_tiles = [8, %c8] into %output : tensor<?x?xf32> -> tensor<?x?x8x8xf32>
```
Specifically, in line with other Tensor Ops, require:
* a dynamic dimensions for each (dynamic) SSA value,
* a static dimension for each static size (attribute).
In the example above, a static dimension (8) is mixed with a dynamic
size (%c8).
Note that this is mostly deleting existing code - that's because this
change simplifies the logic in verifier.
For more context:
* https://discourse.llvm.org/t/tensor-ops-with-dynamic-sizes-which-behaviour-is-more-correct
Commit: 3b9526b231b17845c8812b3c5650f4346cd40a87
https://github.com/llvm/llvm-project/commit/3b9526b231b17845c8812b3c5650f4346cd40a87
Author: Tai Ly <tai.ly at arm.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[TOSA] bug fix infer shape for slice (#108306)
This fixes the infer output shape of TOSA slice op for start/size values
that are out-of-bound or -1
added tests to check:
- size = -1
- size is out of bound
- start is out of bound
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: b39760c4cea0e2cd29fdc493dec162babc796a9a
https://github.com/llvm/llvm-project/commit/b39760c4cea0e2cd29fdc493dec162babc796a9a
Author: Nimish Mishra <neelam.nimish at gmail.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M flang/test/Semantics/OpenMP/atomic02.f90
Log Message:
-----------
[flang][NFC] Fix failing atomic tests
Fix ordering of checks in atomic02.f90.
Commit: ddbb382a7c09ff1b455a4b9513388fd0bf351284
https://github.com/llvm/llvm-project/commit/ddbb382a7c09ff1b455a4b9513388fd0bf351284
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
M llvm/test/Transforms/LoopVectorize/scalar_after_vectorization.ll
Log Message:
-----------
[LV] Regenerate check-lines for some tests.
Commit: 8ad8db973eb7b9a8100a03c485f2797fb7819119
https://github.com/llvm/llvm-project/commit/8ad8db973eb7b9a8100a03c485f2797fb7819119
Author: Georgios Pinitas <georgios.pinitas at arm.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
Revert "[TOSA] bug fix infer shape for slice" (#113413)
Reverts llvm/llvm-project#108306
Commit: 20c59838d0ece4a2b0f3e33183174dd651c407c8
https://github.com/llvm/llvm-project/commit/20c59838d0ece4a2b0f3e33183174dd651c407c8
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[Bazel][SystemZ] Update for #112975
Commit: 46ad7ff4b78fd7e6540d9eebe7e17ae423b29dd9
https://github.com/llvm/llvm-project/commit/46ad7ff4b78fd7e6540d9eebe7e17ae423b29dd9
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/SemaCXX/c99-variable-length-array.cpp
Log Message:
-----------
[clang][bytecode] Diagnose non-const initialiers in diagnoseUnknownDecl (#113276)
This is more similar to the diagnostic output of the current interpreter
Commit: 076aac59acbe7555b922e77886e4428f1aa1cd0b
https://github.com/llvm/llvm-project/commit/076aac59acbe7555b922e77886e4428f1aa1cd0b
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M clang/include/clang/Basic/Cuda.h
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11.cl
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
M flang/cmake/modules/AddFlangOffloadRuntime.cmake
M libclc/CMakeLists.txt
M llvm/docs/AMDGPUUsage.rst
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/TargetParser/TargetParser.h
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNProcessors.td
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
M llvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
M llvm/test/CodeGen/AMDGPU/occupancy-levels.ll
M llvm/test/MC/AMDGPU/gfx1150_asm_features.s
M llvm/test/Object/AMDGPU/elf-header-flags-mach.yaml
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/subtarget.ll
M llvm/test/tools/llvm-readobj/ELF/AMDGPU/elf-headers.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
M offload/DeviceRTL/CMakeLists.txt
Log Message:
-----------
[AMDGPU] Add a new target for gfx1153 (#113138)
Commit: 076d3e232681d50aca96eaeabebd17e68ff6f7e7
https://github.com/llvm/llvm-project/commit/076d3e232681d50aca96eaeabebd17e68ff6f7e7
Author: Nikolay Panchenko <npanchen at modular.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M mlir/test/mlir-tblgen/op-result.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir][ods] Verify access to operands in inferReturnTypes (#112574)
The patch adds graceful handling of incorrectly constructed MLIR
operation with less operands than expected.
Commit: 2c3d7d5322d3b3726c9984099ccdd21d29f6a740
https://github.com/llvm/llvm-project/commit/2c3d7d5322d3b3726c9984099ccdd21d29f6a740
Author: ZhangYin <zhangyin2018 at iscas.ac.cn>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M libcxx/docs/Status/ParallelismProjects.csv
M libcxx/include/experimental/__simd/scalar.h
M libcxx/include/experimental/__simd/simd.h
M libcxx/include/experimental/__simd/simd_mask.h
M libcxx/include/experimental/__simd/vec_ext.h
A libcxx/test/std/experimental/simd/simd.class/simd_unary.pass.cpp
Log Message:
-----------
[libc++] <experimental/simd> Add unary operators for class simd (#104764)
Commit: affb2b737bed911da08fe4186caa14603bde56c0
https://github.com/llvm/llvm-project/commit/affb2b737bed911da08fe4186caa14603bde56c0
Author: wanglei <wanglei at loongson.cn>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/test/MC/LoongArch/Macros/macros-la.s
Log Message:
-----------
[LoongArch][MC] Handle more PseudoLA* instructions with la-global-with-abs feature
This is to align with GAS. Additionally, there are some minor changes:
the definition and expansion process of the TLS_DESC pseudo-instruction
were modified in the same style.
Reviewed By: heiher
Pull Request: https://github.com/llvm/llvm-project/pull/112858
Commit: deb22fa6613a075fe2c707b2d19001ab9ef28804
https://github.com/llvm/llvm-project/commit/deb22fa6613a075fe2c707b2d19001ab9ef28804
Author: Franklin <zhangfenglei at huawei.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/ArrayRef.h
Log Message:
-----------
[ADT] Fix ArrayRef<T>::slice (#113048)
Current implementation of `slice(N)` is buggy, since
`slice(N, size() - N)` will never fail the assertion
`assert(N+M <= size() && "Invalid specifier")` above, even
`N > size()`.
Commit: 9afcdaa3960d58abc1f6845eecb97ee337857d9c
https://github.com/llvm/llvm-project/commit/9afcdaa3960d58abc1f6845eecb97ee337857d9c
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
Log Message:
-----------
[MCParser] De-capitalize ELFAsmParser functions. NFC
To match the convention and DarwinAsmParser.
Commit: 100720cc4bbd165bb7f447429716c5be680b81f1
https://github.com/llvm/llvm-project/commit/100720cc4bbd165bb7f447429716c5be680b81f1
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M libc/test/UnitTest/FPMatcher.h
Log Message:
-----------
[libc] Use `if constexpr` for compile-time conditionals (#113417)
Don't use plain `if` for things that are compile-time constants.
Instead, use `if constexpr`. This both ensures that these are
properly wired up constant expressions as intended, and prevents
warnings from the compiler about useless `if` checks that look in
the source like they're meant to do something at runtime but will
just be compiled away.
Commit: 848bc1c38334db3793d5b3ffbb87b1fd66de34dd
https://github.com/llvm/llvm-project/commit/848bc1c38334db3793d5b3ffbb87b1fd66de34dd
Author: Marco Vanotti <mvanotti at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
Log Message:
-----------
Fix GetRandom in sanitizer_fuchsia.cpp (#110155)
The `zx_cprng_draw` system call has no limit on how much you can draw.
Co-authored-by: Marco Vanotti <mvanotti at users.noreply.github.com>
Commit: 0cb80c4f00689ca00a85e1f38bc6ae9dd0bf980e
https://github.com/llvm/llvm-project/commit/0cb80c4f00689ca00a85e1f38bc6ae9dd0bf980e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-22 (Tue, 22 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated hash lookups (NFC) (#113409)
Commit: b799cc3418f5fda0dd1bbd80a9e7e97cca5f40c2
https://github.com/llvm/llvm-project/commit/b799cc3418f5fda0dd1bbd80a9e7e97cca5f40c2
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-compress-fp.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-compress-int.ll
A llvm/test/CodeGen/RISCV/rvv/vector-compress.ll
Log Message:
-----------
[RISCV] Add lowering for @llvm.experimental.vector.compress (#113291)
This intrinsic was introduced by #92289 and currently we just expand
it for RISC-V.
This patch adds custom lowering for this intrinsic and simply maps
it to `vcompress` instruction.
Fixes #113242.
Commit: ae618d360456c5ccf6c8cf2294e708ac6625950e
https://github.com/llvm/llvm-project/commit/ae618d360456c5ccf6c8cf2294e708ac6625950e
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/include/llvm/MC/MCELFObjectWriter.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
Log Message:
-----------
[MC] Remove unused getMemtagRelocsSection
Follow-up to fec1b6f9d3cf5347b67ffb2078c995eb496acf47
Commit: 5b9c76b6e70c4195609bb939e067b82cdbe02adf
https://github.com/llvm/llvm-project/commit/5b9c76b6e70c4195609bb939e067b82cdbe02adf
Author: tangaac <tangyan01 at loongson.cn>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/LoongArch.cpp
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/test/Driver/loongarch-march.c
A clang/test/Driver/loongarch-mlam-bh.c
M clang/test/Preprocessor/init-loongarch.c
M llvm/include/llvm/TargetParser/LoongArchTargetParser.def
M llvm/include/llvm/TargetParser/LoongArchTargetParser.h
M llvm/lib/Target/LoongArch/LoongArch.td
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/lib/TargetParser/LoongArchTargetParser.cpp
A llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw-lam-bh.ll
Log Message:
-----------
[LoongArch] Support LoongArch-specific amswap[_db].{b/h} and amadd[_db].{b/h} instructions (#113255)
Two options for clang: -mlam-bh & -mno-lam-bh.
Enable or disable amswap[__db].{b/h} and amadd[__db].{b/h} instructions.
The default is -mno-lam-bh.
Only works on LoongArch64.
Commit: c6931c25255c913c5f0a650440b6150dd574f984
https://github.com/llvm/llvm-project/commit/c6931c25255c913c5f0a650440b6150dd574f984
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/IPO/FunctionSpecialization.h
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
M llvm/test/Transforms/SCCP/ipsccp-preserve-pdt.ll
M llvm/unittests/Transforms/IPO/FunctionSpecializationTest.cpp
Log Message:
-----------
[FuncSpec] Only compute Latency bonus when necessary (#113159)
Only compute the Latency component of a specialisation's Bonus when
necessary, to avoid unnecessarily computing the Block Frequency
Information for a Function.
Commit: dd76d9b1bbe0a4ca5375604bc941bb422de55ed6
https://github.com/llvm/llvm-project/commit/dd76d9b1bbe0a4ca5375604bc941bb422de55ed6
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrThumb.td
M llvm/test/CodeGen/ARM/trap.ll
Log Message:
-----------
[llvm][ARM] Correct the properties of trap instructions (#113287)
Fixes #113154
The encodings used for llvm.trap() on ARM were all marked as barriers
and terminators. This lead to stack frame destroy code being inserted
before the trap if the trap was the last thing in the function and it
had no return statement.
```
void fn() {
volatile int i = 0;
__builtin_trap();
}
```
Produced:
```
fn:
push {r11, lr} << stack frame create
<...>
mov sp, r11
pop {r11, lr} << stack frame destroy
.inst 0xe7ffdefe << trap
bx lr
```
All the other targets don't mark them this way, instead they mark them
with isTrap. I've changed ARM to do this, which fixes the code
generation:
```
fn:
push {r11, lr} << stack frame create
<...>
.inst 0xe7ffdefe << trap
mov sp, r11
pop {r11, lr} << stack frame destroy
bx lr
```
I've updated the existing trap test to force the need for a stack frame,
then check that the instruction immediately after the trap is resetting
the stack pointer.
debugtrap was already working but I've added the same checks for it
anyway.
Commit: 6eb93d04e567e1f1ff3e3de22f158b1e0c4898df
https://github.com/llvm/llvm-project/commit/6eb93d04e567e1f1ff3e3de22f158b1e0c4898df
Author: Mark Zhuang <mark.zhuang at spacemit.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rv32i-invalid.s
M llvm/test/MC/RISCV/rv32i-valid.s
Log Message:
-----------
[RISCV][MC] Support imm symbol in parseCSRSystemRegister (#112007)
Co-authored-by: Alex Richardson <alexrichardson at google.com>
Commit: 684c26c89b8994fc31d1c4be0cf70d6cc6f2b7ca
https://github.com/llvm/llvm-project/commit/684c26c89b8994fc31d1c4be0cf70d6cc6f2b7ca
Author: z1nke <iamczn.cpp at gmail.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
M clang/test/Analysis/stack-addr-ps.c
Log Message:
-----------
[analyzer] Remove redundant "returned to caller" suffix for compound literal in StackAddressEscape
This patch simplifies the diagnostic message in the core.StackAddrEscape
for stack memory associated with compound literals by removing the
redundant "returned to caller" suffix.
Example: https://godbolt.org/z/KxM67vr7c
```c
// clang --analyze -Xanalyzer -analyzer-checker=core.StackAddressEscape
void* compound_literal() {
return &(unsigned short){((unsigned short)0x22EF)};
}
```
warning: Address of stack memory associated with a compound literal
declared on line 2 **returned to caller returned to caller**
[core.StackAddressEscape]
Commit: 27158edaa4e18a7d7275c77e8c483dd29145c3c4
https://github.com/llvm/llvm-project/commit/27158edaa4e18a7d7275c77e8c483dd29145c3c4
Author: Dmitriy Smirnov <dmitriy.smirnov at arm.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
M mlir/test/Conversion/MemRefToSPIRV/memref-to-spirv.mlir
Log Message:
-----------
[MLIR][SPIRV] Update cast from IntN to Bool (#113329)
This PR updates the cast to bool from IntN to treat any non-zero value
as TRUE. This makes the cast more resilient to non-generic (i.e. "non
1") TRUE values.
Signed-off-by: Dmitriy Smirnov <dmitriy.smirnov at arm.com>
Commit: ad70f3e095f0f347702c447eb364dfd10af21242
https://github.com/llvm/llvm-project/commit/ad70f3e095f0f347702c447eb364dfd10af21242
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
R mlir/test/Target/LLVMIR/omptarget-nowait-unsupported-llvm.mlir
A mlir/test/Target/LLVMIR/omptargetdata-nowait-llvm.mlir
Log Message:
-----------
[flang][OpenMP] Support `target enter|update|exit .. nowait` (#113305)
Extends `nowait` support for other device directives. This PR refactors
the task generation utils used for the `target` directive so that they
are general enough to be reused for other device directives as well.
Commit: dfc40650eccef9ec9a317e7cfe65d9d4fc8fe618
https://github.com/llvm/llvm-project/commit/dfc40650eccef9ec9a317e7cfe65d9d4fc8fe618
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/docs/GitHub.rst
Log Message:
-----------
[llvm][docs] Clean up the "Landing Your Change" section of the GitHub docs (#112869)
* Note up front that the author may not have permissions to use the
merge button and should ask a reviewer to do those steps.
* Make it clear that a single commit PR can be landed with a single
button click.
* There are in fact 3 ways to land a multi-commit PR.
* Order the ways in increasing amount of overhead for the PR author.
* Put them in bullet point sections so they are visually separate.
* Add a note that force pushes can be problematic when the PR has multiple authors, but don't go too much into how to solve that, Git's docs are better here anyway.
Commit: ac5a2010ad35a72de3e75a1883e2495345b92a73
https://github.com/llvm/llvm-project/commit/ac5a2010ad35a72de3e75a1883e2495345b92a73
Author: Edd Dawson <edd.dawson at sony.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/test/Driver/ps5-linker.c
Log Message:
-----------
[PS5][Driver] Pass default -z options to PS5 linker (#113162)
Until now, these options have been hardcoded as downstream patches in
LLD. Add them to the driver so that the private patches can be removed.
PS5 only. The implementation of these behaviours will remain in the
proprietary linker on PS4.
SIE tracker: TOOLCHAIN-16704
Commit: d89c1dbaf5f60c734f5168e8c778ba250d7d2d5e
https://github.com/llvm/llvm-project/commit/d89c1dbaf5f60c734f5168e8c778ba250d7d2d5e
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
A flang/test/HLFIR/assign-side-effects.fir
Log Message:
-----------
[flang][hlfir] refine hlfir.assign side effects (#113319)
hlfir.assign currently has the `MemoryEffects<[MemWrite]` which makes it
look like it can write to anything. This is good for some cases where
the assign effect cannot be precisely described through the MLIR side
effect API (e.g., when the LHS is a descriptor and it is not possible to
get an OpOperand describing the data address, or when derived type are
involved and finalization could be called, or user defined assignment
for some components). For the most common case of hlfir.assign on
intrinsic types without whole allocatable LHS, this is pessimistic.
This patch implements a finer description of the side effects when
possible, and also adds the proper read/allocate/free effects when
relevant.
The ultimate goal is to suppress the generation of temporary for the LHS
address when dealing with an assignment to a vector subscripted LHS
where the vector subscript is an array constructor that does not refer
to the LHS (as in `x([a,b]) = y`).
Two more patches will follow to enable this.
Commit: 03cef62fe53d9927865f2acbde438fc35377f16e
https://github.com/llvm/llvm-project/commit/03cef62fe53d9927865f2acbde438fc35377f16e
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
Log Message:
-----------
[flang][NFC] turn (h)fir.declare side effect into debug ressource alloca (#113321)
See https://reviews.llvm.org/D157626 for the rational of declare having
side effects.
The write effect is to scary for passes that look for read/write effects
without caring about the resource affected. I know Slava asked for it,
but I think the creation of the `DebuggingResource` was enough and that
a write is too much. The alloca effect is sufficient to prevent DCE to
remove it, which is all we care about currently.
This currently is flag as a reason for creating LHS temporary in
assignment to vector subscripted entity with array constructor.
There is a lot of read/write side effect analysis in the
"lower-hlfir-ordered-assignments" pass, and I feel like we will just
keep adding weird "debug ressource" bypassing here and there with these
side effects.
Commit: a59f7124349fc42e6aa8031796f310bb883d95de
https://github.com/llvm/llvm-project/commit/a59f7124349fc42e6aa8031796f310bb883d95de
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.cpp
A flang/test/HLFIR/order_assignments/vector-subscripts-scheduling.fir
M flang/test/HLFIR/order_assignments/where-scheduling.f90
Log Message:
-----------
[flang][hlfir] do not consider local temps as conflicting in assignment (#113330)
Last patch required to avoid creating a temporary for the LHS when
dealing with `x([a,b]) = y`.
The code dealing with "ordered assignments" (where, forall, user and
vector subscripted assignments) is saving the evaluated RHS/LHS and
masks if they have write effects because this write effects should not
be evaluated when they affect entities that may be written to in other
contexts after the evaluation and before the re-evaluation.
But when dealing with write to storage allocated in the region for the
expression being evluated, there is no problem to re-evaluate the write:
it has no effect outside of the expression evaluation that owns the
allocation.
In the case of `x([a,b]) = y`, the temporary is created for the vector
subscript. Raising the HLFIR abstraction for simple array constructors
may be a good idea, but local temps are created in other contexts, so
this fix is more generic.
Commit: 2c5208a2dc4aaa5615e6c19e3f417f4727f4b65b
https://github.com/llvm/llvm-project/commit/2c5208a2dc4aaa5615e6c19e3f417f4727f4b65b
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/MC/AArch64/SVE/bfcvtnt-diagnostics.s
M llvm/test/MC/AArch64/SVE2/fcvtlt-diagnostics.s
M llvm/test/MC/AArch64/SVE2/fcvtnt-diagnostics.s
M llvm/test/MC/AArch64/SVE2/fcvtxnt-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/bfcvtnt_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/bfcvtnt_z.s
A llvm/test/MC/AArch64/SVE2p2/directive-arch-negative.s
A llvm/test/MC/AArch64/SVE2p2/directive-arch.s
A llvm/test/MC/AArch64/SVE2p2/directive-arch_extension-negative.s
A llvm/test/MC/AArch64/SVE2p2/directive-arch_extension.s
A llvm/test/MC/AArch64/SVE2p2/directive-cpu-negative.s
A llvm/test/MC/AArch64/SVE2p2/directive-cpu.s
A llvm/test/MC/AArch64/SVE2p2/fcvtlt_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/fcvtlt_z.s
A llvm/test/MC/AArch64/SVE2p2/fcvtnt_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/fcvtnt_z.s
A llvm/test/MC/AArch64/SVE2p2/fcvtxnt_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/fcvtxnt_z.s
Log Message:
-----------
[LLVM][AARCH64] Add assembly/disassembly of zeroing convert instructions (#113292)
This patch adds the zeroing predicate forms (Pg/z) of the following
instructions:
- FCVTXNT
- FCVTNT
- FCVTLT
- BFCVTNT
As specified in https://developer.arm.com/documentation/ddi0602.
Co-authored-by: Spencer Abson
[spencer.abson at arm.com](mailto:spencer.abson at arm.com)
Commit: 9b88792291c6441aae7c66c046a9460984ddc7d2
https://github.com/llvm/llvm-project/commit/9b88792291c6441aae7c66c046a9460984ddc7d2
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Symbols.h
M lld/test/COFF/arm64ec-lib.test
Log Message:
-----------
[LLD][COFF] Allow overriding EC alias symbols with lazy archive symbols (#113283)
On ARM64EC, external function calls emit a pair of weak-dependency
aliases: `func` to `#func` and `#func` to the `func` guess exit thunk
(instead of a single undefined `func` symbol, which would be emitted on
other targets). Allow such aliases to be overridden by lazy archive
symbols, just as we would for undefined symbols.
Commit: 7ab6d39a4d58416c960847458df8d0babea07615
https://github.com/llvm/llvm-project/commit/7ab6d39a4d58416c960847458df8d0babea07615
Author: Mészáros Gergely <gergely.meszaros at intel.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/cmake/platforms/WinMsvc.cmake
M llvm/lib/Support/CMakeLists.txt
M llvm/tools/llvm-shlib/CMakeLists.txt
Log Message:
-----------
[LLVM][CMake][MSVC] Wrap linker flags for ICX on Windows (#112680)
The Intel C++ Compiler (ICX) passes linker flags through the driver
unlike MSVC and clang-cl, and therefore needs them to be prefixed with
`/Qoption,link` (the equivalent of `-Wl,` for gcc on *nix).
Use `LINKER:` prefix wherever supported by cmake, when that's not
possible fall-back to `${CMAKE_CXX_LINKER_WRAPPER_FLAG}`. CMake replaces
these with `/Qoption,link` for ICX and with the empty string for MSVC
and clang-cl.
For `target_link_libraries` neither `LINKER:` (not supported prior to
CMake 3.32) nor `${CMAKE_CXX_LINKER_WRAPPER_FLAG}` (does not begin with
`-` would be taken as a library name) works, use `-Qoption,link`
directly within a conditional generator expression that we're linking
with ICX.
For MSVC and clang-cl no functional change is intended.
Tested by compiling with ICX and setting
`CMAKE_(EXE|SHARED|STATIC|MODULE)_LINKER_FLAGS_INIT` to
`-Werror=unknown-argument`.
RFC:
https://discourse.llvm.org/t/rfc-cmake-linker-flags-need-wl-equivalent-for-intel-c-icx-on-windows/82446
Commit: 98bc5295ec2b996965f74e0490340d56c51ec147
https://github.com/llvm/llvm-project/commit/98bc5295ec2b996965f74e0490340d56c51ec147
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M lld/COFF/SymbolTable.cpp
M lld/test/COFF/arm64ec-lib.test
Log Message:
-----------
[LLD][COFF] Check both mangled and demangled symbols before adding a lazy archive symbol to the symbol table on ARM64EC (#113284)
On ARM64EC, a function symbol may appear in both mangled and demangled
forms:
- ARM64EC archives contain only the mangled name, while the demangled
symbol is defined by the object file as an alias.
- x86_64 archives contain only the demangled name (the mangled name is
usually defined by an object referencing the symbol as an alias to a
guess exit thunk).
- ARM64EC import files contain both the mangled and demangled names for
thunks.
If more than one archive defines the same function, this could lead to
different libraries being used for the same function depending on how
they are referenced. Avoid this by checking if the paired symbol is
already defined before adding a symbol to the table.
Commit: 699ce16b6284377e0cd9969b9f95e7367632a622
https://github.com/llvm/llvm-project/commit/699ce16b6284377e0cd9969b9f95e7367632a622
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
A lldb/test/Shell/SymbolFile/DWARF/x86/member-pointers.cpp
Log Message:
-----------
[lldb] Fix crash missing MSInheritanceAttr with DWARF on Windows (#112928)
Member pointers refer to data or function members of a `CXXRecordDecl` and
require a `MSInheritanceAttr` in order to be complete. Without that we
cannot calculate their size in memory. The attempt has been causing a crash
further down in the clang AST context. In order to implement the feature,
DWARF will need a new attribtue to convey the information. For the moment,
this patch teaches LLDB to handle to situation and avoid the crash.
Commit: c4c60c0db98dc9139d540963470c5dbdd6d45b9f
https://github.com/llvm/llvm-project/commit/c4c60c0db98dc9139d540963470c5dbdd6d45b9f
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
A llvm/include/llvm/CodeGen/OptimizePHIs.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/OptimizePHIs.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/test/CodeGen/Thumb/opt-phis.mir
M llvm/test/CodeGen/X86/opt_phis.mir
M llvm/test/CodeGen/X86/opt_phis2.mir
Log Message:
-----------
[CodeGen][NewPM] Port OptimizePHIs to NPM (#113433)
Commit: 401d123a1fdcbbf4ae7a20178957b7e3a625c044
https://github.com/llvm/llvm-project/commit/401d123a1fdcbbf4ae7a20178957b7e3a625c044
Author: Vladimir Radosavljevic <129192835+vladimirradosavljevic at users.noreply.github.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
A llvm/test/CodeGen/AArch64/machine-cp-backward-uses.mir
M llvm/test/CodeGen/ARM/umulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/Mips/llvm-ir/sdiv.ll
M llvm/test/CodeGen/Mips/llvm-ir/srem.ll
M llvm/test/CodeGen/Mips/llvm-ir/udiv.ll
M llvm/test/CodeGen/Mips/llvm-ir/urem.ll
M llvm/test/CodeGen/Mips/mcount.ll
M llvm/test/CodeGen/Mips/micromips-gp-rc.ll
M llvm/test/CodeGen/Mips/tailcall/tailcall.ll
M llvm/test/CodeGen/Mips/tls.ll
M llvm/test/CodeGen/X86/fp128-libcalls-strict.ll
M llvm/test/CodeGen/X86/fptosi-sat-vector-128.ll
M llvm/test/CodeGen/X86/matrix-multiply.ll
M llvm/test/CodeGen/X86/midpoint-int.ll
M llvm/test/CodeGen/X86/mul-i1024.ll
M llvm/test/CodeGen/X86/mul-i512.ll
M llvm/test/CodeGen/X86/pr46877.ll
M llvm/test/CodeGen/X86/sdiv_fix.ll
M llvm/test/CodeGen/X86/shift-and.ll
M llvm/test/CodeGen/X86/smulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/X86/sqrt-fastmath.ll
M llvm/test/CodeGen/X86/umulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/X86/vec_smulo.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll
M llvm/test/CodeGen/X86/wide-scalar-shift-by-byte-multiple-legalization.ll
M llvm/test/CodeGen/X86/wide-scalar-shift-legalization.ll
M llvm/test/CodeGen/X86/widen-load-of-small-alloca-with-zero-upper-half.ll
Log Message:
-----------
[MCP] Optimize copies when src is used during backward propagation (#111130)
Before this patch, redundant COPY couldn't be removed for the following
case:
```
$R0 = OP ...
... // Read of %R0
$R1 = COPY killed $R0
```
This patch adds support for tracking the users of the source register
during backward propagation, so that we can remove the redundant COPY in
the above case and optimize it to:
```
$R1 = OP ...
... // Replace all uses of %R0 with $R1
```
Commit: b225b15a3d5ff28e4848369ef14ea63f9e418a9d
https://github.com/llvm/llvm-project/commit/b225b15a3d5ff28e4848369ef14ea63f9e418a9d
Author: hev <wangrui at loongson.cn>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
M llvm/test/CodeGen/LoongArch/merge-base-offset.ll
Log Message:
-----------
[LoongArch] Merge base and offset for large offsets (#113277)
This PR merges large offsets into the base address loading.
Commit: d4dd770289b506a2a0fed6fe4add68048f37748d
https://github.com/llvm/llvm-project/commit/d4dd770289b506a2a0fed6fe4add68048f37748d
Author: Edd Dawson <edd.dawson at sony.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-cxxfilt.rst
M llvm/tools/llvm-cxxfilt/Opts.td
Log Message:
-----------
[llvm-cxxfilt] De-emphasize "function" in llvm-cxxfilt docs and --help (#113309)
llvm-cxxfilt can demangle names of data symbols, in addition to function
names.
$ llvm-cxxfilt _ZN6garden5gnomeE
garden::gnome
And type names too, on request:
$ llvm-cxxfilt -t i
int
Update some overly specific the wording in the --help and documentation
that suggests otherwise.
Commit: 6dad29aebc6914b32ddd17a01cbac511d2979bb9
https://github.com/llvm/llvm-project/commit/6dad29aebc6914b32ddd17a01cbac511d2979bb9
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M clang/include/clang/Basic/AArch64SVEACLETypes.def
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
A clang/test/CodeGen/arm-mfp8.c
M clang/test/Modules/no-external-type-id.cppm
M clang/test/Sema/arm-mfp8.cpp
M clang/utils/TableGen/NeonEmitter.cpp
Log Message:
-----------
[CLANG][AArch64]Add Neon vectors for mfloat8_t (#99865)
This patch adds these new vector sizes for neon:
mfloat8x16_t and mfloat8x8_t
According to the ARM ACLE PR#323[1].
[1] ARM-software/acle#323
Commit: ba19e98ca5e4fbc05429edd96e09b5c75df57e3c
https://github.com/llvm/llvm-project/commit/ba19e98ca5e4fbc05429edd96e09b5c75df57e3c
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M lldb/test/API/CMakeLists.txt
Log Message:
-----------
[lldb][CMake] If make isn't found, print a warning but don't error out (#111531)
Bot maintainers should be aware and it became too much of a burden
for developers. In particular on Windows, where make.exe won't be
found in Path typically.
Commit: eb9af19fbf13b91c9df8d6dc8553277169976520
https://github.com/llvm/llvm-project/commit/eb9af19fbf13b91c9df8d6dc8553277169976520
Author: Mészáros Gergely <gergely.meszaros at intel.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M clang/tools/clang-repl/CMakeLists.txt
M clang/unittests/Interpreter/CMakeLists.txt
Log Message:
-----------
[clang-repl][CMake][MSVC] Wrap /EXPORT linker option for ICX (#112867)
The Intel C++ Compiler (ICX) passes linker flags through the driver
unlike MSVC and clang-cl, and therefore needs them to be prefixed with
`/Qoption,link` (the equivalent of -Wl, for gcc on *nix).
Use the `LINKER:` prefix for the `/EXPORT:` options in clang-repl, this
expands to the correct flag for ICX and nothing for MSVC / clang-cl.
RFC:
https://discourse.llvm.org/t/rfc-cmake-linker-flags-need-wl-equivalent-for-intel-c-icx-on-windows/82446
Commit: 1f9953c055d4bf57935a43ea28a73e5fcda7cd96
https://github.com/llvm/llvm-project/commit/1f9953c055d4bf57935a43ea28a73e5fcda7cd96
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/autocomplete.c
M clang/test/Driver/fveclib.c
Log Message:
-----------
[clang] Make -fveclib={ArmPL,SLEEF} imply -fno-math-errno (#112580)
These two veclibs are only available for AArch64 targets, and as
mentioned in https://discourse.llvm.org/t/rfc-should-fveclib-imply-fno-math-errno-for-all-targets/81384,
we (Arm) think that `-fveclib` should imply `-fno-math-errno`. By
setting `-fveclib` the user shows they intend to use the vector math
functions, which implies they don't care about errno. However,
currently, the vector mappings won't be used in many cases without
setting `-fno-math-errno` separately.
Making this change would also help resolve some inconsistencies in how
vector mappings are applied (see https://github.com/llvm/llvm-project/pull/108980#discussion_r1766555560).
Note: Both SLEEF and ArmPL state that they do not set `errno`:
- https://developer.arm.com/documentation/101004/2410/General-information/Arm-Performance-Libraries-math-functions
* "The vector functions in libamath which are available on Linux may not set errno nor raise exceptions"
- https://sleef.org/2-references/libm/
* "These functions do not set errno nor raise an exception."
Commit: 973fa983afbd769a847f3b2ca564b8a53b7ff4b1
https://github.com/llvm/llvm-project/commit/973fa983afbd769a847f3b2ca564b8a53b7ff4b1
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/scope.h
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/type-parsers.h
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Parser/OpenMP/map-modifiers.f90
M flang/test/Semantics/OpenMP/map-modifiers.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.h
Log Message:
-----------
[flang][OpenMP] Parse iterators, add to MAP clause, TODO for lowering (#113167)
Define `OmpIteratorSpecifier` and `OmpIteratorModifier` parser classes,
and add parsing for them. Those are reusable between any clauses that
use iterator modifiers.
Add support for iterator modifiers to the MAP clause up to lowering,
where a TODO message is emitted.
Commit: a19f05b9ec361e67413b4c609923778949737e2e
https://github.com/llvm/llvm-project/commit/a19f05b9ec361e67413b4c609923778949737e2e
Author: Lei Huang <lei at ca.ibm.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/named-reg-alloc-r0.ll
M llvm/test/CodeGen/PowerPC/named-reg-alloc-r1-64.ll
M llvm/test/CodeGen/PowerPC/named-reg-alloc-r1.ll
M llvm/test/CodeGen/PowerPC/named-reg-alloc-r13-64.ll
M llvm/test/CodeGen/PowerPC/named-reg-alloc-r13.ll
M llvm/test/CodeGen/PowerPC/named-reg-alloc-r2-64.ll
M llvm/test/CodeGen/PowerPC/named-reg-alloc-r2.ll
R llvm/test/CodeGen/PowerPC/named-reg-alloc.ll
Log Message:
-----------
Revert "[PowerPC] Expand global named register support" (#113457)
Reverts llvm/llvm-project#112603
Commit: 5560f7e86fa019270c23523dec372298727f5198
https://github.com/llvm/llvm-project/commit/5560f7e86fa019270c23523dec372298727f5198
Author: Edd Dawson <edd.dawson at sony.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M clang/lib/Driver/ToolChains/PS4CPU.cpp
Log Message:
-----------
[PS5][Driver] Query `OPT_r`/`OPT_shared`/`OPT_static` just once (NFC) (#113452)
Commit: 7c721999ca81f22a12ff671291ec0b51397d8ba9
https://github.com/llvm/llvm-project/commit/7c721999ca81f22a12ff671291ec0b51397d8ba9
Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/__ranges/to.h
M libcxx/test/std/ranges/range.utility/range.utility.conv/container.h
M libcxx/test/std/ranges/range.utility/range.utility.conv/to.pass.cpp
Log Message:
-----------
[libc++][ranges] LWG4016: container-insertable checks do not match what container-inserter does (#113103)
This patch implements LWG4016: container-insertable checks do not match
what container-inserter does.
Commit: 294726d738c47cc9df41618862f235fd985642d7
https://github.com/llvm/llvm-project/commit/294726d738c47cc9df41618862f235fd985642d7
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/and-or-icmps.ll
M llvm/test/Transforms/InstCombine/icmp-signmask.ll
M llvm/test/Transforms/InstCombine/icmp.ll
Log Message:
-----------
Reapply "[InstCombine] Folding `(icmp eq/ne (and X, -P2), INT_MIN)`" (#111236)
The underlying issue with msan was fixed by #113200
Commit: 8a9921f5692ab33451d11454b40a023ca0965a69
https://github.com/llvm/llvm-project/commit/8a9921f5692ab33451d11454b40a023ca0965a69
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/active_lane_mask.ll
A llvm/test/CodeGen/AArch64/sve-index-const-step-vector.ll
Log Message:
-----------
[AArch64] Use INDEX for constant Neon step vectors (#113424)
When compiling for an SVE target we can use INDEX to generate constant
fixed-length step vectors, e.g.:
```
uint32x4_t foo() {
return (uint32x4_t){0, 1, 2, 3};
}
```
Currently:
```
foo():
adrp x8, .LCPI1_0
ldr q0, [x8, :lo12:.LCPI1_0]
ret
```
With INDEX:
```
foo():
index z0.s, #0, #1
ret
```
The logic for this was already in `LowerBUILD_VECTOR`, though it was
hidden under a check for `!Subtarget->isNeonAvailable()`. This patch
refactors this to enable the corresponding code path unconditionally for
constant step vectors (as long as we can use SVE for them).
Commit: f18c3e4e7335df282c468b6dff3d29be1822a96d
https://github.com/llvm/llvm-project/commit/f18c3e4e7335df282c468b6dff3d29be1822a96d
Author: Matthias Springer <me at m-sp.org>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/lib/Dialect/EmitC/Transforms/TypeConversions.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.cpp
M mlir/lib/Dialect/Tensor/TransformOps/TensorTransformOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaTypeConverters.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/lib/Conversion/OneToNTypeConversion/TestOneToNTypeConversionPass.cpp
M mlir/test/lib/Dialect/Arith/TestEmulateWideInt.cpp
M mlir/test/lib/Dialect/Func/TestDecomposeCallGraphTypes.cpp
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
M mlir/test/lib/Transforms/TestDialectConversion.cpp
Log Message:
-----------
[mlir][Transforms] Dialect Conversion: Simplify materialization fn result type (#113031)
This commit simplifies the result type of materialization functions.
Previously: `std::optional<Value>`
Now: `Value`
The previous implementation allowed 3 possible return values:
- Non-null value: The materialization function produced a valid
materialization.
- `std::nullopt`: The materialization function failed, but another
materialization can be attempted.
- `Value()`: The materialization failed and so should the dialect
conversion. (Previously: Dialect conversion can roll back.)
This commit removes the last variant. It is not particularly useful
because the dialect conversion will fail anyway if all other
materialization functions produced `std::nullopt`.
Furthermore, in contrast to type conversions, at least one
materialization callback is expected to succeed. In case of a failing
type conversion, the current dialect conversion can roll back and try a
different pattern. This also used to be the case for materializations,
but that functionality was removed with #107109: failed materializations
can no longer trigger a rollback. (They can just make the entire dialect
conversion fail without rollback.) With this in mind, it is even less
useful to have an additional error state for materialization functions.
This commit is in preparation of merging the 1:1 and 1:N type
converters. Target materializations will have to return multiple values
instead of a single one. With this commit, we can keep the API simple:
`SmallVector<Value>` instead of `std::optional<SmallVector<Value>>`.
Note for LLVM integration: All 1:1 materializations should return
`Value` instead of `std::optional<Value>`. Instead of `std::nullopt`
return `Value()`.
Commit: 629d9809ab1457f525b88efbc0dc2919b8b0d00d
https://github.com/llvm/llvm-project/commit/629d9809ab1457f525b88efbc0dc2919b8b0d00d
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-inlineasm.mir
M llvm/test/CodeGen/AArch64/aarch64-sve-asm.ll
M llvm/test/CodeGen/AArch64/emit_fneg_with_non_register_operand.mir
M llvm/test/CodeGen/AArch64/fmlal-loreg.ll
M llvm/test/CodeGen/AArch64/peephole-insvigpr.mir
A llvm/test/MC/AArch64/SME2p2/bftmopa-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/bftmopa.s
A llvm/test/MC/AArch64/SME2p2/directive-arch-negative.s
A llvm/test/MC/AArch64/SME2p2/directive-arch.s
A llvm/test/MC/AArch64/SME2p2/directive-arch_extension-negative.s
A llvm/test/MC/AArch64/SME2p2/directive-arch_extension.s
A llvm/test/MC/AArch64/SME2p2/directive-cpu-negative.s
A llvm/test/MC/AArch64/SME2p2/directive-cpu.s
A llvm/test/MC/AArch64/SME2p2/ftmopa-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/ftmopa.s
Log Message:
-----------
[LLVM][AArch64] Add assembly/disassembly for FTMOPA and BFTMOPA (#113230)
This patch adds assembly/disassembly for the following SME2p2
instructions (part of the 2024 AArch64 ISA update)
- BFTMOPA (widening) - FEAT_SME2p2
- BFTMOPA (non-widening) - FEAT_SME2p2 & FEAT_SME_B16B16
- FTMOPA (4-way) - FEAT_SME2p2 & FEAT_SME_F8F32
- FTMOPA (2-way, 8-to-16) - FEAT_SME2p2 & FEAT_SME_F8F16
- FTMOPA (2-way, 16-to-32) - FEAT_SME2p2
- FTMOPA (non-widening, f16) - FEAT_SME2p2 & FEAT_SME_F16F16
- FTMOPA (non-widening, f32) - FEAT_SME2p2
- Add new ZPR_K register class and ZK register operand
- Introduce assembler extension tests for the new sme2p2 feature
In accordance with:
https://developer.arm.com/documentation/ddi0602/latest/
Co-authored-by: Marian Lukac marian.lukac at arm.com
Commit: 82d2df2b4922a158b01ab00f3cac5f552bf0172d
https://github.com/llvm/llvm-project/commit/82d2df2b4922a158b01ab00f3cac5f552bf0172d
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64FixupKinds.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
A llvm/test/MC/AArch64/CMPBR/cmpbr-diagnostics.s
A llvm/test/MC/AArch64/CMPBR/cmpbr.s
A llvm/test/MC/AArch64/CMPBR/cmpbr_aliases-diagnostics.s
A llvm/test/MC/AArch64/CMPBR/cmpbr_aliases.s
A llvm/test/MC/AArch64/CMPBR/cmpbr_lbl.s
M llvm/test/MC/AArch64/directive-arch-negative.s
M llvm/test/MC/AArch64/directive-arch.s
M llvm/test/MC/AArch64/directive-arch_extension-negative.s
Log Message:
-----------
[LLVM][AArch64]Add assembly/disassembly for compare-and-branch instr… (#113461)
…uctions (#112726)
This patch adds the assembly/disassembly for the following instructions:
CBB<cc>, CBH<cc>,
CB<cc>(immediate), CB<cc>(register)
CBBLE, CBBLO, CBBLS, CBBLT
CBHLE, CBHLO, CBHLS, CBHLT
CBGE, CBHS, CBLE, CBLS (immediate)
CBLE, CBLO, CBLS, CBLT(register)
According to [1]
[1]https://developer.arm.com/documentation/ddi0602
Co-authored-by: Momchil Velikov momchil.velikov at arm.com
Co-authored-by: Spencer Abson spencer.abson at arm.com
This patch was reverted(git commit 83c6e2f8f4d3) and is being submitted
again with the fix for buildbot failure in:
https://lab.llvm.org/buildbot/#/builders/25/builds/3493
The fix was to replaced a shift left of a possibly negative value with a
multiplication in DecodePCRelLabel9.
Because int64_t ImmVal is signed it needed to replace:
(ImmVal << 2)
with :
(ImmVal * 4)
Commit: a91ebcdd91cae429762bbed39f569a4016fbf2b1
https://github.com/llvm/llvm-project/commit/a91ebcdd91cae429762bbed39f569a4016fbf2b1
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M clang/test/CodeGen/aarch64-cpu-supports.c
M clang/test/CodeGen/aarch64-fmv-dependencies.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/Sema/attr-target-clones-aarch64.c
M clang/test/Sema/attr-target-version.c
M compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/apple.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/fuchsia.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
M llvm/include/llvm/TargetParser/AArch64CPUFeatures.inc
M llvm/lib/Target/AArch64/AArch64FMV.td
Log Message:
-----------
[FMV][AArch64] Unify aes with pmull and sve2-aes with sve2-pmull128. (#111673)
According to the Arm Architecture Reference Manual for A-profile
architecture you can't have one feature without having the other:
ID_AA64ZFR0_EL1.AES, bits [7:4]
> FEAT_SVE_AES implements the functionality identified by the value
0b0001.
> FEAT_SVE_PMULL128 implements the functionality identified by the value
0b0010.
> The permitted values are 0b0000 and 0b0010.
(The following was removed from the latest release of the specification,
but it appears to be a mistake that was not intended to relax the
architecture constraints. The discrepancy has been reported)
ID_AA64ISAR0_EL1.AES, bits [7:4]
> FEAT_AES implements the functionality identified by the value 0b0001.
> FEAT_PMULL implements the functionality identified by the value
0b0010.
> From Armv8, the permitted values are 0b0000 and 0b0010.
Approved in ACLE as https://github.com/ARM-software/acle/pull/352
Commit: 95e5a999ab8f2a8f163899c6ab445baf901c3c96
https://github.com/llvm/llvm-project/commit/95e5a999ab8f2a8f163899c6ab445baf901c3c96
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
Log Message:
-----------
[Bitcode] Get rid of compiler message (#113428)
Insert explicit cast from an enumerator to unsigned int, because some
compilers issue a warning on signed vs unsigned comparison, see:
https://github.com/llvm/llvm-project/pull/110805#issuecomment-2411095723.
Commit: 0b327694440f64f497eca9ca7754ff0b80798a5d
https://github.com/llvm/llvm-project/commit/0b327694440f64f497eca9ca7754ff0b80798a5d
Author: Benson Chu <bensonchu457 at gmail.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
Log Message:
-----------
[ARM] Apply sign-return-address attribute to outlined function
This make checking for whether PAC is necessary simpler when building
the outlined frame.
Commit: cb46662fde7ecae117316db01f37df2c13b9be46
https://github.com/llvm/llvm-project/commit/cb46662fde7ecae117316db01f37df2c13b9be46
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M compiler-rt/test/profile/ContinuousSyncMode/online-merging-windows.c
Log Message:
-----------
[compiler-rt][profile] Disable oneline-merging-windows.c on Windows on Arm
This test has been failing since https://lab.llvm.org/buildbot/#/builders/161/builds/2899,
but no change in that build caused it.
I think this has always failed but https://github.com/llvm/llvm-zorg/pull/252
only recently enabled in on the bot.
Commit: d8ef7b67e84145275682185905fcdfd938fe08ce
https://github.com/llvm/llvm-project/commit/d8ef7b67e84145275682185905fcdfd938fe08ce
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M clang-tools-extra/clang-tidy/CMakeLists.txt
M clang-tools-extra/clang-tidy/ClangTidy.cpp
Log Message:
-----------
[clang-tidy] Stop linking against clangSema (#113373)
This is bad layering-wise. The only fix needed now is to anchor
`SemaConsumer` vtable, which is also done in this patch.
Commit: a4ace3de1b390451ce5e41bce74b90dcd992ab61
https://github.com/llvm/llvm-project/commit/a4ace3de1b390451ce5e41bce74b90dcd992ab61
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M lld/ELF/Arch/AArch64.cpp
Log Message:
-----------
[PAC][lld] Fix reloc against adrp imm in PAC PLT header (#113429)
The PAC PLT header contains adrp instruction which immediate should be
filled. In https://reviews.llvm.org/D62609, the adrp instruction address
was calculated incorrectly. This patch resolves the issue.
The test is already present in test/ELF/aarch64-feature-pac.s
Commit: 3309061b2dd8a5cacacf05d956a872617808a974
https://github.com/llvm/llvm-project/commit/3309061b2dd8a5cacacf05d956a872617808a974
Author: Spencer Abson <Spencer.Abson at arm.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[lldb] Cover all of SVE_TYPE in encoding switch
Commit: c17040599666c1f14906a899cabcf545c2c85744
https://github.com/llvm/llvm-project/commit/c17040599666c1f14906a899cabcf545c2c85744
Author: tltao <tony.le.tao at gmail.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMInstPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZInstrFormats.td
M llvm/test/CodeGen/SystemZ/call-zos-01.ll
M llvm/test/CodeGen/SystemZ/call-zos-02.ll
M llvm/test/CodeGen/SystemZ/call-zos-i128.ll
M llvm/test/CodeGen/SystemZ/call-zos-vararg.ll
M llvm/test/CodeGen/SystemZ/call-zos-vec.ll
M llvm/test/CodeGen/SystemZ/mixed-ptr-sizes.ll
M llvm/test/CodeGen/SystemZ/zos-ada-relocations.ll
M llvm/test/CodeGen/SystemZ/zos-ada.ll
M llvm/test/CodeGen/SystemZ/zos-frameaddr.ll
M llvm/test/CodeGen/SystemZ/zos-landingpad.ll
M llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
M llvm/test/CodeGen/SystemZ/zos-ret-addr.ll
M llvm/test/CodeGen/SystemZ/zos-stackpointer.ll
Log Message:
-----------
[SystemZ] Introduce GNU and HLASM differences to asmwriter and update tests (#113369)
Now that the GNU and HLASM `InstPrinter` paths are separated in
https://github.com/llvm/llvm-project/pull/112975, differentiate between
them in `SystemZInstrFormats.td`.
The main difference are:
- Tabs converted to space
- Remove space after comma for instruction operands
---------
Co-authored-by: Tony Tao <tonytao at ca.ibm.com>
Commit: f1be516223f1c5ae5554f1b842d90cf429611617
https://github.com/llvm/llvm-project/commit/f1be516223f1c5ae5554f1b842d90cf429611617
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SeedCollector.h
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SeedCollector.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SeedCollectorTest.cpp
Log Message:
-----------
[SandboxVectorizer] New class to actually collect and manage seeds (#113386)
This relands d91318b643188bb855f115b02af9532f87c787b7, with test-only
changes to make gcc-10 happy.
Commit: 141574bacb2c10b795490d0fa5ea31acbc5d8c6e
https://github.com/llvm/llvm-project/commit/141574bacb2c10b795490d0fa5ea31acbc5d8c6e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/lib/CGData/CodeGenData.cpp
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/Support/TimeProfiler.cpp
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/unittests/IR/DroppedVariableStatsTest.cpp
Log Message:
-----------
[llvm] Remove redundant calls to std::unique_ptr<T>::get (NFC) (#113415)
Commit: 7a1036935f8122d9120df5ecf5afb5c927a9ea8b
https://github.com/llvm/llvm-project/commit/7a1036935f8122d9120df5ecf5afb5c927a9ea8b
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffer-annotations.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffer-subscript.hlsl
M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
Log Message:
-----------
[HLSL] Change StructuredBuffer resource class to SRV (#113397)
Change `StructuredBuffer` resource class to SRV (read-only) to match DXC.
Part of llvm/llvm-project#112775
Commit: a3508e0246741851f06cb9ba86203be8d89febed
https://github.com/llvm/llvm-project/commit/a3508e0246741851f06cb9ba86203be8d89febed
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/small-graph-diff-block-instructions.ll
Log Message:
-----------
[SLP]Small buidlvector only graph should contains scalars from same block
If the graph is small and has single buildvector node, all scalars
instructions must be from the same basic block to prevent compiler
crash.
Fixes #113451
Commit: 60105ac6bab130c2694fc7f5b7b6a5fddaaab752
https://github.com/llvm/llvm-project/commit/60105ac6bab130c2694fc7f5b7b6a5fddaaab752
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/registration.h
M flang/lib/Optimizer/Dialect/CUF/CUFToLLVMIRTranslation.cpp
M flang/runtime/CUDA/registration.cpp
Log Message:
-----------
[flang][cuda] Fix kernel registration (#113372)
The registration needs the fct pointer and the name. This patch updates
the entry point with an extra arg and the translation as well.
Commit: 743f839a886ef0b5ca17b580bfb37fc762ef5cec
https://github.com/llvm/llvm-project/commit/743f839a886ef0b5ca17b580bfb37fc762ef5cec
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/TableGen/TGParser.h
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
Log Message:
-----------
[NFC][LLVM][TableGen] Change `RecordKeeper::getClass` to return const pointer (#112261)
Change `RecordKeeper::getClass` to return const record pointer. This is
a part of effort to have better const correctness in TableGen backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: c99f3950f4697666124160fbc1e3e712b470d9e4
https://github.com/llvm/llvm-project/commit/c99f3950f4697666124160fbc1e3e712b470d9e4
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
Log Message:
-----------
[flang][OpenMP] Order clause AST nodes alphabetically, NFC (#113469)
This makes it easier to navigate the parse-tree.h file.
Commit: c2293b33ddc6c722178087d85b2b4312ea830d12
https://github.com/llvm/llvm-project/commit/c2293b33ddc6c722178087d85b2b4312ea830d12
Author: Alex Crichton <alex at alexcrichton.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/test/Driver/wasm-features.c
M clang/test/Preprocessor/wasm-target-features.c
M llvm/lib/Target/WebAssembly/WebAssembly.td
M llvm/lib/Target/WebAssembly/WebAssemblyISD.def
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInteger.td
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
A llvm/test/CodeGen/WebAssembly/wide-arithmetic.ll
Log Message:
-----------
[WebAssembly] Implement the wide-arithmetic proposal (#111598)
This commit implements the [wide-arithmetic] proposal which has recently
reached phase 2 in the WebAssembly proposals process. The goal here is
to implement support in LLVM for emitting these instructions which are
gated behind a new feature flag by default. A new `wide-arithmetic`
feature flag is introduced which gates these four new instructions from
being emitted.
Emission of each instruction itself is relatively simple given LLVM's
preexisting lowering rules and infrastructure. The main gotcha is that
due to the multi-result nature of all of these instructions it needed
the lowerings to be implemented in C++ rather than in TableGen.
[wide-arithmetic]: https://github.com/WebAssembly/wide-arithmetic
Commit: a5d919b4b2f24c582838659fe7f30073e7285524
https://github.com/llvm/llvm-project/commit/a5d919b4b2f24c582838659fe7f30073e7285524
Author: Hui <hui.xie1990 at gmail.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M libcxx/include/__iterator/prev.h
A libcxx/test/libcxx/iterators/iterator.primitives/iterator.operations/prev.verify.cpp
Log Message:
-----------
[libc++] Disallow std::prev(non_cpp17_bidi_iterator) (#112102)
The std::prev function appeared to work on non Cpp17BidirectionalIterators, however it
behaved strangely by being the identity function. That was extremely misleading and
potentially dangerous, since several recent iterators that are C++20 bidirectional_iterators
don't satisfy the Cpp17BidirectionalIterator named requirement. For example:
auto zv = std::views::zip(vec1, vec2);
auto it = zv.begin() + 5;
auto it2 = std::prev(it); // "it2" will be the same as "it", instead of the previous one
Here, zip_view::iterator is a c++20 random_access_iterator, but it only satisfies the
Cpp17InputIterator named requirement because its reference type is a proxy type. Hence
`std::prev` would silently accept that iterator but it would do a no-op instead of going
to the previous position.
This patch changes `std::prev(it)` to produce an error at compile-time when instantiated
with a type that is not a Cpp17BidirectionalIterator.
Fixes #109456
Commit: 3605d9a456185f4af78c01a2684b822b57bca9b0
https://github.com/llvm/llvm-project/commit/3605d9a456185f4af78c01a2684b822b57bca9b0
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/container-contains.cpp
Log Message:
-----------
[clang-tidy][readability-container-contains] Fix matching of non-binaryOperator cases (#110386)
Fix #79437.
Commit: b65b2b4ab60763515694c740935989f908a03312
https://github.com/llvm/llvm-project/commit/b65b2b4ab60763515694c740935989f908a03312
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/partial-register-extract.ll
Log Message:
-----------
[SLP]Expand vector to the whole register size in extracts adjustment
Need to expand the number of elements to the whole register to correctly
process estimation and avoid compiler crash.
Fixes #113462
Commit: 4583dbc7b85d25bdda652ad1afe5ec3e95183a16
https://github.com/llvm/llvm-project/commit/4583dbc7b85d25bdda652ad1afe5ec3e95183a16
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/utils/lit/lit/llvm/config.py
Log Message:
-----------
[lit][aix] Always use internal lit shell on AIX (#113355)
Diff on AIX doesn't have all the required features used in tests (see
<https://github.com/llvm/llvm-project/pull/108871> and
<https://github.com/llvm/llvm-project/pull/112997#issuecomment-2429656192>),
so always use the internal shell.
Commit: 04aa0c63f09e82bcbafe23981b36263056019538
https://github.com/llvm/llvm-project/commit/04aa0c63f09e82bcbafe23981b36263056019538
Author: Martin Storsjö <martin at martin.st>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/.gitattributes
M llvm/test/tools/llvm-rc/tag-html.test
Log Message:
-----------
[gitattributes] Mark some llvm-rc inputs as requiring LF newlines (#113222)
These text files get embedded verbatim in
llvm/test/tools/llvm-rc/tag-html.test, so their newlines form needs to
match the expected form exactly.
This reverts commit 2fdf49db7562eadbe01b18f0d01a955cd41b94ea, as that
change no longer should be necessary. (At the time, buildbots had
checkouts with all files having CRLF, and those don't get updated even
if the toplevel .gitattributes were reverted in
e669bbbb7265a7d4d59bac2d3889194efa167ea8. Now those buildbots have
gotten fresh checkouts with all files having the right line endings.)
Commit: 2002533802dbe74c82476e30d093baf6d4cdee50
https://github.com/llvm/llvm-project/commit/2002533802dbe74c82476e30d093baf6d4cdee50
Author: Martin Storsjö <martin at martin.st>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
A compiler-rt/test/profile/Inputs/.gitattributes
Log Message:
-----------
[compiler-rt] [test] Mark a couple files as requiring LF newlines
Some of the profile test files fail if they have CRLF newlines;
add a .gitattributes file that forces them to be checked out
with LF newlines, regarless of the user Git configuration.
Commit: 2dfb1c664c0a0afc512b900c45989e247406e523
https://github.com/llvm/llvm-project/commit/2dfb1c664c0a0afc512b900c45989e247406e523
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-multiply-recurrences.ll
Log Message:
-----------
[VPlan] Try to hoist Previous (and operands), if sinking fails for FORs. (#108945)
In some cases, Previous (and its operands) can be hoisted. This allows
supporting additional cases where sinking of all users of to FOR fails,
e.g. due having to sink recipes with side-effects.
This fixes a crash where we fail to create a scalar VPlan for a
first-order recurrence, but can create a vector VPlan, because the trunc
instruction of an IV which generates the previous value of the
recurrence has been optimized to a truncated induction recipe, thus
hoisting it to the beginning.
Fixes https://github.com/llvm/llvm-project/issues/106523.
PR: https://github.com/llvm/llvm-project/pull/108945
Commit: e2766b2bceb75dcb946a67e9115e1548296c133f
https://github.com/llvm/llvm-project/commit/e2766b2bceb75dcb946a67e9115e1548296c133f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/common.h
A flang/include/flang/Runtime/CUDA/kernel.h
M flang/runtime/CUDA/CMakeLists.txt
A flang/runtime/CUDA/kernel.cpp
Log Message:
-----------
[flang][cuda] Add entry point to launch cuda fortran kernel (#113490)
Commit: d269ec321dfdfcd817544da0a94dc42c109694a2
https://github.com/llvm/llvm-project/commit/d269ec321dfdfcd817544da0a94dc42c109694a2
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/include/__verbose_abort
M libcxx/src/verbose_abort.cpp
Log Message:
-----------
[libc++] Add a escape hatch for making __libcpp_verbose_abort non-noexcept again (#113310)
This allows a slightly smoother transition for people after #109151, as
requested on that PR.
Commit: c9199700b8fdde50a920857207e4387cfe69da45
https://github.com/llvm/llvm-project/commit/c9199700b8fdde50a920857207e4387cfe69da45
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
R lldb/test/Shell/SymbolFile/DWARF/x86/member-pointers.cpp
Log Message:
-----------
Revert "[lldb] Fix crash missing MSInheritanceAttr on CXXRecordDecl with DWARF on Windows" (#113498)
Reverts llvm/llvm-project#112928
This is because it broke greendragon:
SymbolFile/DWARF/x86/member-pointers.cpp
Commit: e78f53d1e8d622ee4b12dbc2ac8252b4805d5719
https://github.com/llvm/llvm-project/commit/e78f53d1e8d622ee4b12dbc2ac8252b4805d5719
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
A libcxx/include/__cxx03/CMakeLists.txt
A libcxx/include/__cxx03/__algorithm/adjacent_find.h
A libcxx/include/__cxx03/__algorithm/all_of.h
A libcxx/include/__cxx03/__algorithm/any_of.h
A libcxx/include/__cxx03/__algorithm/binary_search.h
A libcxx/include/__cxx03/__algorithm/clamp.h
A libcxx/include/__cxx03/__algorithm/comp.h
A libcxx/include/__cxx03/__algorithm/comp_ref_type.h
A libcxx/include/__cxx03/__algorithm/copy.h
A libcxx/include/__cxx03/__algorithm/copy_backward.h
A libcxx/include/__cxx03/__algorithm/copy_if.h
A libcxx/include/__cxx03/__algorithm/copy_move_common.h
A libcxx/include/__cxx03/__algorithm/copy_n.h
A libcxx/include/__cxx03/__algorithm/count.h
A libcxx/include/__cxx03/__algorithm/count_if.h
A libcxx/include/__cxx03/__algorithm/equal.h
A libcxx/include/__cxx03/__algorithm/equal_range.h
A libcxx/include/__cxx03/__algorithm/fill.h
A libcxx/include/__cxx03/__algorithm/fill_n.h
A libcxx/include/__cxx03/__algorithm/find.h
A libcxx/include/__cxx03/__algorithm/find_end.h
A libcxx/include/__cxx03/__algorithm/find_first_of.h
A libcxx/include/__cxx03/__algorithm/find_if.h
A libcxx/include/__cxx03/__algorithm/find_if_not.h
A libcxx/include/__cxx03/__algorithm/find_segment_if.h
A libcxx/include/__cxx03/__algorithm/fold.h
A libcxx/include/__cxx03/__algorithm/for_each.h
A libcxx/include/__cxx03/__algorithm/for_each_n.h
A libcxx/include/__cxx03/__algorithm/for_each_segment.h
A libcxx/include/__cxx03/__algorithm/generate.h
A libcxx/include/__cxx03/__algorithm/generate_n.h
A libcxx/include/__cxx03/__algorithm/half_positive.h
A libcxx/include/__cxx03/__algorithm/in_found_result.h
A libcxx/include/__cxx03/__algorithm/in_fun_result.h
A libcxx/include/__cxx03/__algorithm/in_in_out_result.h
A libcxx/include/__cxx03/__algorithm/in_in_result.h
A libcxx/include/__cxx03/__algorithm/in_out_out_result.h
A libcxx/include/__cxx03/__algorithm/in_out_result.h
A libcxx/include/__cxx03/__algorithm/includes.h
A libcxx/include/__cxx03/__algorithm/inplace_merge.h
A libcxx/include/__cxx03/__algorithm/is_heap.h
A libcxx/include/__cxx03/__algorithm/is_heap_until.h
A libcxx/include/__cxx03/__algorithm/is_partitioned.h
A libcxx/include/__cxx03/__algorithm/is_permutation.h
A libcxx/include/__cxx03/__algorithm/is_sorted.h
A libcxx/include/__cxx03/__algorithm/is_sorted_until.h
A libcxx/include/__cxx03/__algorithm/iter_swap.h
A libcxx/include/__cxx03/__algorithm/iterator_operations.h
A libcxx/include/__cxx03/__algorithm/lexicographical_compare.h
A libcxx/include/__cxx03/__algorithm/lexicographical_compare_three_way.h
A libcxx/include/__cxx03/__algorithm/lower_bound.h
A libcxx/include/__cxx03/__algorithm/make_heap.h
A libcxx/include/__cxx03/__algorithm/make_projected.h
A libcxx/include/__cxx03/__algorithm/max.h
A libcxx/include/__cxx03/__algorithm/max_element.h
A libcxx/include/__cxx03/__algorithm/merge.h
A libcxx/include/__cxx03/__algorithm/min.h
A libcxx/include/__cxx03/__algorithm/min_element.h
A libcxx/include/__cxx03/__algorithm/min_max_result.h
A libcxx/include/__cxx03/__algorithm/minmax.h
A libcxx/include/__cxx03/__algorithm/minmax_element.h
A libcxx/include/__cxx03/__algorithm/mismatch.h
A libcxx/include/__cxx03/__algorithm/move.h
A libcxx/include/__cxx03/__algorithm/move_backward.h
A libcxx/include/__cxx03/__algorithm/next_permutation.h
A libcxx/include/__cxx03/__algorithm/none_of.h
A libcxx/include/__cxx03/__algorithm/nth_element.h
A libcxx/include/__cxx03/__algorithm/partial_sort.h
A libcxx/include/__cxx03/__algorithm/partial_sort_copy.h
A libcxx/include/__cxx03/__algorithm/partition.h
A libcxx/include/__cxx03/__algorithm/partition_copy.h
A libcxx/include/__cxx03/__algorithm/partition_point.h
A libcxx/include/__cxx03/__algorithm/pop_heap.h
A libcxx/include/__cxx03/__algorithm/prev_permutation.h
A libcxx/include/__cxx03/__algorithm/pstl.h
A libcxx/include/__cxx03/__algorithm/push_heap.h
A libcxx/include/__cxx03/__algorithm/ranges_adjacent_find.h
A libcxx/include/__cxx03/__algorithm/ranges_all_of.h
A libcxx/include/__cxx03/__algorithm/ranges_any_of.h
A libcxx/include/__cxx03/__algorithm/ranges_binary_search.h
A libcxx/include/__cxx03/__algorithm/ranges_clamp.h
A libcxx/include/__cxx03/__algorithm/ranges_contains.h
A libcxx/include/__cxx03/__algorithm/ranges_contains_subrange.h
A libcxx/include/__cxx03/__algorithm/ranges_copy.h
A libcxx/include/__cxx03/__algorithm/ranges_copy_backward.h
A libcxx/include/__cxx03/__algorithm/ranges_copy_if.h
A libcxx/include/__cxx03/__algorithm/ranges_copy_n.h
A libcxx/include/__cxx03/__algorithm/ranges_count.h
A libcxx/include/__cxx03/__algorithm/ranges_count_if.h
A libcxx/include/__cxx03/__algorithm/ranges_ends_with.h
A libcxx/include/__cxx03/__algorithm/ranges_equal.h
A libcxx/include/__cxx03/__algorithm/ranges_equal_range.h
A libcxx/include/__cxx03/__algorithm/ranges_fill.h
A libcxx/include/__cxx03/__algorithm/ranges_fill_n.h
A libcxx/include/__cxx03/__algorithm/ranges_find.h
A libcxx/include/__cxx03/__algorithm/ranges_find_end.h
A libcxx/include/__cxx03/__algorithm/ranges_find_first_of.h
A libcxx/include/__cxx03/__algorithm/ranges_find_if.h
A libcxx/include/__cxx03/__algorithm/ranges_find_if_not.h
A libcxx/include/__cxx03/__algorithm/ranges_find_last.h
A libcxx/include/__cxx03/__algorithm/ranges_for_each.h
A libcxx/include/__cxx03/__algorithm/ranges_for_each_n.h
A libcxx/include/__cxx03/__algorithm/ranges_generate.h
A libcxx/include/__cxx03/__algorithm/ranges_generate_n.h
A libcxx/include/__cxx03/__algorithm/ranges_includes.h
A libcxx/include/__cxx03/__algorithm/ranges_inplace_merge.h
A libcxx/include/__cxx03/__algorithm/ranges_is_heap.h
A libcxx/include/__cxx03/__algorithm/ranges_is_heap_until.h
A libcxx/include/__cxx03/__algorithm/ranges_is_partitioned.h
A libcxx/include/__cxx03/__algorithm/ranges_is_permutation.h
A libcxx/include/__cxx03/__algorithm/ranges_is_sorted.h
A libcxx/include/__cxx03/__algorithm/ranges_is_sorted_until.h
A libcxx/include/__cxx03/__algorithm/ranges_iterator_concept.h
A libcxx/include/__cxx03/__algorithm/ranges_lexicographical_compare.h
A libcxx/include/__cxx03/__algorithm/ranges_lower_bound.h
A libcxx/include/__cxx03/__algorithm/ranges_make_heap.h
A libcxx/include/__cxx03/__algorithm/ranges_max.h
A libcxx/include/__cxx03/__algorithm/ranges_max_element.h
A libcxx/include/__cxx03/__algorithm/ranges_merge.h
A libcxx/include/__cxx03/__algorithm/ranges_min.h
A libcxx/include/__cxx03/__algorithm/ranges_min_element.h
A libcxx/include/__cxx03/__algorithm/ranges_minmax.h
A libcxx/include/__cxx03/__algorithm/ranges_minmax_element.h
A libcxx/include/__cxx03/__algorithm/ranges_mismatch.h
A libcxx/include/__cxx03/__algorithm/ranges_move.h
A libcxx/include/__cxx03/__algorithm/ranges_move_backward.h
A libcxx/include/__cxx03/__algorithm/ranges_next_permutation.h
A libcxx/include/__cxx03/__algorithm/ranges_none_of.h
A libcxx/include/__cxx03/__algorithm/ranges_nth_element.h
A libcxx/include/__cxx03/__algorithm/ranges_partial_sort.h
A libcxx/include/__cxx03/__algorithm/ranges_partial_sort_copy.h
A libcxx/include/__cxx03/__algorithm/ranges_partition.h
A libcxx/include/__cxx03/__algorithm/ranges_partition_copy.h
A libcxx/include/__cxx03/__algorithm/ranges_partition_point.h
A libcxx/include/__cxx03/__algorithm/ranges_pop_heap.h
A libcxx/include/__cxx03/__algorithm/ranges_prev_permutation.h
A libcxx/include/__cxx03/__algorithm/ranges_push_heap.h
A libcxx/include/__cxx03/__algorithm/ranges_remove.h
A libcxx/include/__cxx03/__algorithm/ranges_remove_copy.h
A libcxx/include/__cxx03/__algorithm/ranges_remove_copy_if.h
A libcxx/include/__cxx03/__algorithm/ranges_remove_if.h
A libcxx/include/__cxx03/__algorithm/ranges_replace.h
A libcxx/include/__cxx03/__algorithm/ranges_replace_copy.h
A libcxx/include/__cxx03/__algorithm/ranges_replace_copy_if.h
A libcxx/include/__cxx03/__algorithm/ranges_replace_if.h
A libcxx/include/__cxx03/__algorithm/ranges_reverse.h
A libcxx/include/__cxx03/__algorithm/ranges_reverse_copy.h
A libcxx/include/__cxx03/__algorithm/ranges_rotate.h
A libcxx/include/__cxx03/__algorithm/ranges_rotate_copy.h
A libcxx/include/__cxx03/__algorithm/ranges_sample.h
A libcxx/include/__cxx03/__algorithm/ranges_search.h
A libcxx/include/__cxx03/__algorithm/ranges_search_n.h
A libcxx/include/__cxx03/__algorithm/ranges_set_difference.h
A libcxx/include/__cxx03/__algorithm/ranges_set_intersection.h
A libcxx/include/__cxx03/__algorithm/ranges_set_symmetric_difference.h
A libcxx/include/__cxx03/__algorithm/ranges_set_union.h
A libcxx/include/__cxx03/__algorithm/ranges_shuffle.h
A libcxx/include/__cxx03/__algorithm/ranges_sort.h
A libcxx/include/__cxx03/__algorithm/ranges_sort_heap.h
A libcxx/include/__cxx03/__algorithm/ranges_stable_partition.h
A libcxx/include/__cxx03/__algorithm/ranges_stable_sort.h
A libcxx/include/__cxx03/__algorithm/ranges_starts_with.h
A libcxx/include/__cxx03/__algorithm/ranges_swap_ranges.h
A libcxx/include/__cxx03/__algorithm/ranges_transform.h
A libcxx/include/__cxx03/__algorithm/ranges_unique.h
A libcxx/include/__cxx03/__algorithm/ranges_unique_copy.h
A libcxx/include/__cxx03/__algorithm/ranges_upper_bound.h
A libcxx/include/__cxx03/__algorithm/remove.h
A libcxx/include/__cxx03/__algorithm/remove_copy.h
A libcxx/include/__cxx03/__algorithm/remove_copy_if.h
A libcxx/include/__cxx03/__algorithm/remove_if.h
A libcxx/include/__cxx03/__algorithm/replace.h
A libcxx/include/__cxx03/__algorithm/replace_copy.h
A libcxx/include/__cxx03/__algorithm/replace_copy_if.h
A libcxx/include/__cxx03/__algorithm/replace_if.h
A libcxx/include/__cxx03/__algorithm/reverse.h
A libcxx/include/__cxx03/__algorithm/reverse_copy.h
A libcxx/include/__cxx03/__algorithm/rotate.h
A libcxx/include/__cxx03/__algorithm/rotate_copy.h
A libcxx/include/__cxx03/__algorithm/sample.h
A libcxx/include/__cxx03/__algorithm/search.h
A libcxx/include/__cxx03/__algorithm/search_n.h
A libcxx/include/__cxx03/__algorithm/set_difference.h
A libcxx/include/__cxx03/__algorithm/set_intersection.h
A libcxx/include/__cxx03/__algorithm/set_symmetric_difference.h
A libcxx/include/__cxx03/__algorithm/set_union.h
A libcxx/include/__cxx03/__algorithm/shift_left.h
A libcxx/include/__cxx03/__algorithm/shift_right.h
A libcxx/include/__cxx03/__algorithm/shuffle.h
A libcxx/include/__cxx03/__algorithm/sift_down.h
A libcxx/include/__cxx03/__algorithm/simd_utils.h
A libcxx/include/__cxx03/__algorithm/sort.h
A libcxx/include/__cxx03/__algorithm/sort_heap.h
A libcxx/include/__cxx03/__algorithm/stable_partition.h
A libcxx/include/__cxx03/__algorithm/stable_sort.h
A libcxx/include/__cxx03/__algorithm/swap_ranges.h
A libcxx/include/__cxx03/__algorithm/three_way_comp_ref_type.h
A libcxx/include/__cxx03/__algorithm/transform.h
A libcxx/include/__cxx03/__algorithm/uniform_random_bit_generator_adaptor.h
A libcxx/include/__cxx03/__algorithm/unique.h
A libcxx/include/__cxx03/__algorithm/unique_copy.h
A libcxx/include/__cxx03/__algorithm/unwrap_iter.h
A libcxx/include/__cxx03/__algorithm/unwrap_range.h
A libcxx/include/__cxx03/__algorithm/upper_bound.h
A libcxx/include/__cxx03/__assert
A libcxx/include/__cxx03/__atomic/aliases.h
A libcxx/include/__cxx03/__atomic/atomic.h
A libcxx/include/__cxx03/__atomic/atomic_base.h
A libcxx/include/__cxx03/__atomic/atomic_flag.h
A libcxx/include/__cxx03/__atomic/atomic_init.h
A libcxx/include/__cxx03/__atomic/atomic_lock_free.h
A libcxx/include/__cxx03/__atomic/atomic_ref.h
A libcxx/include/__cxx03/__atomic/atomic_sync.h
A libcxx/include/__cxx03/__atomic/check_memory_order.h
A libcxx/include/__cxx03/__atomic/contention_t.h
A libcxx/include/__cxx03/__atomic/cxx_atomic_impl.h
A libcxx/include/__cxx03/__atomic/fence.h
A libcxx/include/__cxx03/__atomic/is_always_lock_free.h
A libcxx/include/__cxx03/__atomic/kill_dependency.h
A libcxx/include/__cxx03/__atomic/memory_order.h
A libcxx/include/__cxx03/__atomic/to_gcc_order.h
A libcxx/include/__cxx03/__bit/bit_cast.h
A libcxx/include/__cxx03/__bit/bit_ceil.h
A libcxx/include/__cxx03/__bit/bit_floor.h
A libcxx/include/__cxx03/__bit/bit_log2.h
A libcxx/include/__cxx03/__bit/bit_width.h
A libcxx/include/__cxx03/__bit/blsr.h
A libcxx/include/__cxx03/__bit/byteswap.h
A libcxx/include/__cxx03/__bit/countl.h
A libcxx/include/__cxx03/__bit/countr.h
A libcxx/include/__cxx03/__bit/endian.h
A libcxx/include/__cxx03/__bit/has_single_bit.h
A libcxx/include/__cxx03/__bit/invert_if.h
A libcxx/include/__cxx03/__bit/popcount.h
A libcxx/include/__cxx03/__bit/rotate.h
A libcxx/include/__cxx03/__bit_reference
A libcxx/include/__cxx03/__charconv/chars_format.h
A libcxx/include/__cxx03/__charconv/from_chars_integral.h
A libcxx/include/__cxx03/__charconv/from_chars_result.h
A libcxx/include/__cxx03/__charconv/tables.h
A libcxx/include/__cxx03/__charconv/to_chars.h
A libcxx/include/__cxx03/__charconv/to_chars_base_10.h
A libcxx/include/__cxx03/__charconv/to_chars_floating_point.h
A libcxx/include/__cxx03/__charconv/to_chars_integral.h
A libcxx/include/__cxx03/__charconv/to_chars_result.h
A libcxx/include/__cxx03/__charconv/traits.h
A libcxx/include/__cxx03/__chrono/calendar.h
A libcxx/include/__cxx03/__chrono/concepts.h
A libcxx/include/__cxx03/__chrono/convert_to_timespec.h
A libcxx/include/__cxx03/__chrono/convert_to_tm.h
A libcxx/include/__cxx03/__chrono/day.h
A libcxx/include/__cxx03/__chrono/duration.h
A libcxx/include/__cxx03/__chrono/exception.h
A libcxx/include/__cxx03/__chrono/file_clock.h
A libcxx/include/__cxx03/__chrono/formatter.h
A libcxx/include/__cxx03/__chrono/hh_mm_ss.h
A libcxx/include/__cxx03/__chrono/high_resolution_clock.h
A libcxx/include/__cxx03/__chrono/leap_second.h
A libcxx/include/__cxx03/__chrono/literals.h
A libcxx/include/__cxx03/__chrono/local_info.h
A libcxx/include/__cxx03/__chrono/month.h
A libcxx/include/__cxx03/__chrono/month_weekday.h
A libcxx/include/__cxx03/__chrono/monthday.h
A libcxx/include/__cxx03/__chrono/ostream.h
A libcxx/include/__cxx03/__chrono/parser_std_format_spec.h
A libcxx/include/__cxx03/__chrono/statically_widen.h
A libcxx/include/__cxx03/__chrono/steady_clock.h
A libcxx/include/__cxx03/__chrono/sys_info.h
A libcxx/include/__cxx03/__chrono/system_clock.h
A libcxx/include/__cxx03/__chrono/time_point.h
A libcxx/include/__cxx03/__chrono/time_zone.h
A libcxx/include/__cxx03/__chrono/time_zone_link.h
A libcxx/include/__cxx03/__chrono/tzdb.h
A libcxx/include/__cxx03/__chrono/tzdb_list.h
A libcxx/include/__cxx03/__chrono/weekday.h
A libcxx/include/__cxx03/__chrono/year.h
A libcxx/include/__cxx03/__chrono/year_month.h
A libcxx/include/__cxx03/__chrono/year_month_day.h
A libcxx/include/__cxx03/__chrono/year_month_weekday.h
A libcxx/include/__cxx03/__chrono/zoned_time.h
A libcxx/include/__cxx03/__compare/common_comparison_category.h
A libcxx/include/__cxx03/__compare/compare_partial_order_fallback.h
A libcxx/include/__cxx03/__compare/compare_strong_order_fallback.h
A libcxx/include/__cxx03/__compare/compare_three_way.h
A libcxx/include/__cxx03/__compare/compare_three_way_result.h
A libcxx/include/__cxx03/__compare/compare_weak_order_fallback.h
A libcxx/include/__cxx03/__compare/is_eq.h
A libcxx/include/__cxx03/__compare/ordering.h
A libcxx/include/__cxx03/__compare/partial_order.h
A libcxx/include/__cxx03/__compare/strong_order.h
A libcxx/include/__cxx03/__compare/synth_three_way.h
A libcxx/include/__cxx03/__compare/three_way_comparable.h
A libcxx/include/__cxx03/__compare/weak_order.h
A libcxx/include/__cxx03/__concepts/arithmetic.h
A libcxx/include/__cxx03/__concepts/assignable.h
A libcxx/include/__cxx03/__concepts/boolean_testable.h
A libcxx/include/__cxx03/__concepts/class_or_enum.h
A libcxx/include/__cxx03/__concepts/common_reference_with.h
A libcxx/include/__cxx03/__concepts/common_with.h
A libcxx/include/__cxx03/__concepts/constructible.h
A libcxx/include/__cxx03/__concepts/convertible_to.h
A libcxx/include/__cxx03/__concepts/copyable.h
A libcxx/include/__cxx03/__concepts/derived_from.h
A libcxx/include/__cxx03/__concepts/destructible.h
A libcxx/include/__cxx03/__concepts/different_from.h
A libcxx/include/__cxx03/__concepts/equality_comparable.h
A libcxx/include/__cxx03/__concepts/invocable.h
A libcxx/include/__cxx03/__concepts/movable.h
A libcxx/include/__cxx03/__concepts/predicate.h
A libcxx/include/__cxx03/__concepts/regular.h
A libcxx/include/__cxx03/__concepts/relation.h
A libcxx/include/__cxx03/__concepts/same_as.h
A libcxx/include/__cxx03/__concepts/semiregular.h
A libcxx/include/__cxx03/__concepts/swappable.h
A libcxx/include/__cxx03/__concepts/totally_ordered.h
A libcxx/include/__cxx03/__condition_variable/condition_variable.h
A libcxx/include/__cxx03/__config
A libcxx/include/__cxx03/__config_site.in
A libcxx/include/__cxx03/__configuration/abi.h
A libcxx/include/__cxx03/__configuration/availability.h
A libcxx/include/__cxx03/__configuration/compiler.h
A libcxx/include/__cxx03/__configuration/language.h
A libcxx/include/__cxx03/__configuration/platform.h
A libcxx/include/__cxx03/__coroutine/coroutine_handle.h
A libcxx/include/__cxx03/__coroutine/coroutine_traits.h
A libcxx/include/__cxx03/__coroutine/noop_coroutine_handle.h
A libcxx/include/__cxx03/__coroutine/trivial_awaitables.h
A libcxx/include/__cxx03/__debug_utils/randomize_range.h
A libcxx/include/__cxx03/__debug_utils/sanitizers.h
A libcxx/include/__cxx03/__debug_utils/strict_weak_ordering_check.h
A libcxx/include/__cxx03/__exception/exception.h
A libcxx/include/__cxx03/__exception/exception_ptr.h
A libcxx/include/__cxx03/__exception/nested_exception.h
A libcxx/include/__cxx03/__exception/operations.h
A libcxx/include/__cxx03/__exception/terminate.h
A libcxx/include/__cxx03/__expected/bad_expected_access.h
A libcxx/include/__cxx03/__expected/expected.h
A libcxx/include/__cxx03/__expected/unexpect.h
A libcxx/include/__cxx03/__expected/unexpected.h
A libcxx/include/__cxx03/__filesystem/copy_options.h
A libcxx/include/__cxx03/__filesystem/directory_entry.h
A libcxx/include/__cxx03/__filesystem/directory_iterator.h
A libcxx/include/__cxx03/__filesystem/directory_options.h
A libcxx/include/__cxx03/__filesystem/file_status.h
A libcxx/include/__cxx03/__filesystem/file_time_type.h
A libcxx/include/__cxx03/__filesystem/file_type.h
A libcxx/include/__cxx03/__filesystem/filesystem_error.h
A libcxx/include/__cxx03/__filesystem/operations.h
A libcxx/include/__cxx03/__filesystem/path.h
A libcxx/include/__cxx03/__filesystem/path_iterator.h
A libcxx/include/__cxx03/__filesystem/perm_options.h
A libcxx/include/__cxx03/__filesystem/perms.h
A libcxx/include/__cxx03/__filesystem/recursive_directory_iterator.h
A libcxx/include/__cxx03/__filesystem/space_info.h
A libcxx/include/__cxx03/__filesystem/u8path.h
A libcxx/include/__cxx03/__format/buffer.h
A libcxx/include/__cxx03/__format/concepts.h
A libcxx/include/__cxx03/__format/container_adaptor.h
A libcxx/include/__cxx03/__format/enable_insertable.h
A libcxx/include/__cxx03/__format/escaped_output_table.h
A libcxx/include/__cxx03/__format/extended_grapheme_cluster_table.h
A libcxx/include/__cxx03/__format/format_arg.h
A libcxx/include/__cxx03/__format/format_arg_store.h
A libcxx/include/__cxx03/__format/format_args.h
A libcxx/include/__cxx03/__format/format_context.h
A libcxx/include/__cxx03/__format/format_error.h
A libcxx/include/__cxx03/__format/format_functions.h
A libcxx/include/__cxx03/__format/format_parse_context.h
A libcxx/include/__cxx03/__format/format_string.h
A libcxx/include/__cxx03/__format/format_to_n_result.h
A libcxx/include/__cxx03/__format/formatter.h
A libcxx/include/__cxx03/__format/formatter_bool.h
A libcxx/include/__cxx03/__format/formatter_char.h
A libcxx/include/__cxx03/__format/formatter_floating_point.h
A libcxx/include/__cxx03/__format/formatter_integer.h
A libcxx/include/__cxx03/__format/formatter_integral.h
A libcxx/include/__cxx03/__format/formatter_output.h
A libcxx/include/__cxx03/__format/formatter_pointer.h
A libcxx/include/__cxx03/__format/formatter_string.h
A libcxx/include/__cxx03/__format/formatter_tuple.h
A libcxx/include/__cxx03/__format/indic_conjunct_break_table.h
A libcxx/include/__cxx03/__format/parser_std_format_spec.h
A libcxx/include/__cxx03/__format/range_default_formatter.h
A libcxx/include/__cxx03/__format/range_formatter.h
A libcxx/include/__cxx03/__format/unicode.h
A libcxx/include/__cxx03/__format/width_estimation_table.h
A libcxx/include/__cxx03/__format/write_escaped.h
A libcxx/include/__cxx03/__functional/binary_function.h
A libcxx/include/__cxx03/__functional/binary_negate.h
A libcxx/include/__cxx03/__functional/bind.h
A libcxx/include/__cxx03/__functional/bind_back.h
A libcxx/include/__cxx03/__functional/bind_front.h
A libcxx/include/__cxx03/__functional/binder1st.h
A libcxx/include/__cxx03/__functional/binder2nd.h
A libcxx/include/__cxx03/__functional/boyer_moore_searcher.h
A libcxx/include/__cxx03/__functional/compose.h
A libcxx/include/__cxx03/__functional/default_searcher.h
A libcxx/include/__cxx03/__functional/function.h
A libcxx/include/__cxx03/__functional/hash.h
A libcxx/include/__cxx03/__functional/identity.h
A libcxx/include/__cxx03/__functional/invoke.h
A libcxx/include/__cxx03/__functional/is_transparent.h
A libcxx/include/__cxx03/__functional/mem_fn.h
A libcxx/include/__cxx03/__functional/mem_fun_ref.h
A libcxx/include/__cxx03/__functional/not_fn.h
A libcxx/include/__cxx03/__functional/operations.h
A libcxx/include/__cxx03/__functional/perfect_forward.h
A libcxx/include/__cxx03/__functional/pointer_to_binary_function.h
A libcxx/include/__cxx03/__functional/pointer_to_unary_function.h
A libcxx/include/__cxx03/__functional/ranges_operations.h
A libcxx/include/__cxx03/__functional/reference_wrapper.h
A libcxx/include/__cxx03/__functional/unary_function.h
A libcxx/include/__cxx03/__functional/unary_negate.h
A libcxx/include/__cxx03/__functional/weak_result_type.h
A libcxx/include/__cxx03/__fwd/array.h
A libcxx/include/__cxx03/__fwd/bit_reference.h
A libcxx/include/__cxx03/__fwd/complex.h
A libcxx/include/__cxx03/__fwd/deque.h
A libcxx/include/__cxx03/__fwd/format.h
A libcxx/include/__cxx03/__fwd/fstream.h
A libcxx/include/__cxx03/__fwd/functional.h
A libcxx/include/__cxx03/__fwd/ios.h
A libcxx/include/__cxx03/__fwd/istream.h
A libcxx/include/__cxx03/__fwd/mdspan.h
A libcxx/include/__cxx03/__fwd/memory.h
A libcxx/include/__cxx03/__fwd/memory_resource.h
A libcxx/include/__cxx03/__fwd/ostream.h
A libcxx/include/__cxx03/__fwd/pair.h
A libcxx/include/__cxx03/__fwd/queue.h
A libcxx/include/__cxx03/__fwd/span.h
A libcxx/include/__cxx03/__fwd/sstream.h
A libcxx/include/__cxx03/__fwd/stack.h
A libcxx/include/__cxx03/__fwd/streambuf.h
A libcxx/include/__cxx03/__fwd/string.h
A libcxx/include/__cxx03/__fwd/string_view.h
A libcxx/include/__cxx03/__fwd/subrange.h
A libcxx/include/__cxx03/__fwd/tuple.h
A libcxx/include/__cxx03/__fwd/vector.h
A libcxx/include/__cxx03/__hash_table
A libcxx/include/__cxx03/__ios/fpos.h
A libcxx/include/__cxx03/__iterator/access.h
A libcxx/include/__cxx03/__iterator/advance.h
A libcxx/include/__cxx03/__iterator/aliasing_iterator.h
A libcxx/include/__cxx03/__iterator/back_insert_iterator.h
A libcxx/include/__cxx03/__iterator/bounded_iter.h
A libcxx/include/__cxx03/__iterator/common_iterator.h
A libcxx/include/__cxx03/__iterator/concepts.h
A libcxx/include/__cxx03/__iterator/counted_iterator.h
A libcxx/include/__cxx03/__iterator/cpp17_iterator_concepts.h
A libcxx/include/__cxx03/__iterator/data.h
A libcxx/include/__cxx03/__iterator/default_sentinel.h
A libcxx/include/__cxx03/__iterator/distance.h
A libcxx/include/__cxx03/__iterator/empty.h
A libcxx/include/__cxx03/__iterator/erase_if_container.h
A libcxx/include/__cxx03/__iterator/front_insert_iterator.h
A libcxx/include/__cxx03/__iterator/incrementable_traits.h
A libcxx/include/__cxx03/__iterator/indirectly_comparable.h
A libcxx/include/__cxx03/__iterator/insert_iterator.h
A libcxx/include/__cxx03/__iterator/istream_iterator.h
A libcxx/include/__cxx03/__iterator/istreambuf_iterator.h
A libcxx/include/__cxx03/__iterator/iter_move.h
A libcxx/include/__cxx03/__iterator/iter_swap.h
A libcxx/include/__cxx03/__iterator/iterator.h
A libcxx/include/__cxx03/__iterator/iterator_traits.h
A libcxx/include/__cxx03/__iterator/iterator_with_data.h
A libcxx/include/__cxx03/__iterator/mergeable.h
A libcxx/include/__cxx03/__iterator/move_iterator.h
A libcxx/include/__cxx03/__iterator/move_sentinel.h
A libcxx/include/__cxx03/__iterator/next.h
A libcxx/include/__cxx03/__iterator/ostream_iterator.h
A libcxx/include/__cxx03/__iterator/ostreambuf_iterator.h
A libcxx/include/__cxx03/__iterator/permutable.h
A libcxx/include/__cxx03/__iterator/prev.h
A libcxx/include/__cxx03/__iterator/projected.h
A libcxx/include/__cxx03/__iterator/ranges_iterator_traits.h
A libcxx/include/__cxx03/__iterator/readable_traits.h
A libcxx/include/__cxx03/__iterator/reverse_access.h
A libcxx/include/__cxx03/__iterator/reverse_iterator.h
A libcxx/include/__cxx03/__iterator/segmented_iterator.h
A libcxx/include/__cxx03/__iterator/size.h
A libcxx/include/__cxx03/__iterator/sortable.h
A libcxx/include/__cxx03/__iterator/unreachable_sentinel.h
A libcxx/include/__cxx03/__iterator/wrap_iter.h
A libcxx/include/__cxx03/__locale
A libcxx/include/__cxx03/__locale_dir/locale_base_api.h
A libcxx/include/__cxx03/__locale_dir/locale_base_api/android.h
A libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_defaults.h
A libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
A libcxx/include/__cxx03/__locale_dir/locale_base_api/fuchsia.h
A libcxx/include/__cxx03/__locale_dir/locale_base_api/ibm.h
A libcxx/include/__cxx03/__locale_dir/locale_base_api/locale_guard.h
A libcxx/include/__cxx03/__locale_dir/locale_base_api/musl.h
A libcxx/include/__cxx03/__locale_dir/locale_base_api/newlib.h
A libcxx/include/__cxx03/__locale_dir/locale_base_api/openbsd.h
A libcxx/include/__cxx03/__locale_dir/locale_base_api/win32.h
A libcxx/include/__cxx03/__math/abs.h
A libcxx/include/__cxx03/__math/copysign.h
A libcxx/include/__cxx03/__math/error_functions.h
A libcxx/include/__cxx03/__math/exponential_functions.h
A libcxx/include/__cxx03/__math/fdim.h
A libcxx/include/__cxx03/__math/fma.h
A libcxx/include/__cxx03/__math/gamma.h
A libcxx/include/__cxx03/__math/hyperbolic_functions.h
A libcxx/include/__cxx03/__math/hypot.h
A libcxx/include/__cxx03/__math/inverse_hyperbolic_functions.h
A libcxx/include/__cxx03/__math/inverse_trigonometric_functions.h
A libcxx/include/__cxx03/__math/logarithms.h
A libcxx/include/__cxx03/__math/min_max.h
A libcxx/include/__cxx03/__math/modulo.h
A libcxx/include/__cxx03/__math/remainder.h
A libcxx/include/__cxx03/__math/roots.h
A libcxx/include/__cxx03/__math/rounding_functions.h
A libcxx/include/__cxx03/__math/special_functions.h
A libcxx/include/__cxx03/__math/traits.h
A libcxx/include/__cxx03/__math/trigonometric_functions.h
A libcxx/include/__cxx03/__mbstate_t.h
A libcxx/include/__cxx03/__mdspan/default_accessor.h
A libcxx/include/__cxx03/__mdspan/extents.h
A libcxx/include/__cxx03/__mdspan/layout_left.h
A libcxx/include/__cxx03/__mdspan/layout_right.h
A libcxx/include/__cxx03/__mdspan/layout_stride.h
A libcxx/include/__cxx03/__mdspan/mdspan.h
A libcxx/include/__cxx03/__memory/addressof.h
A libcxx/include/__cxx03/__memory/align.h
A libcxx/include/__cxx03/__memory/aligned_alloc.h
A libcxx/include/__cxx03/__memory/allocate_at_least.h
A libcxx/include/__cxx03/__memory/allocation_guard.h
A libcxx/include/__cxx03/__memory/allocator.h
A libcxx/include/__cxx03/__memory/allocator_arg_t.h
A libcxx/include/__cxx03/__memory/allocator_destructor.h
A libcxx/include/__cxx03/__memory/allocator_traits.h
A libcxx/include/__cxx03/__memory/assume_aligned.h
A libcxx/include/__cxx03/__memory/auto_ptr.h
A libcxx/include/__cxx03/__memory/builtin_new_allocator.h
A libcxx/include/__cxx03/__memory/compressed_pair.h
A libcxx/include/__cxx03/__memory/concepts.h
A libcxx/include/__cxx03/__memory/construct_at.h
A libcxx/include/__cxx03/__memory/destruct_n.h
A libcxx/include/__cxx03/__memory/inout_ptr.h
A libcxx/include/__cxx03/__memory/out_ptr.h
A libcxx/include/__cxx03/__memory/pointer_traits.h
A libcxx/include/__cxx03/__memory/ranges_construct_at.h
A libcxx/include/__cxx03/__memory/ranges_uninitialized_algorithms.h
A libcxx/include/__cxx03/__memory/raw_storage_iterator.h
A libcxx/include/__cxx03/__memory/shared_ptr.h
A libcxx/include/__cxx03/__memory/swap_allocator.h
A libcxx/include/__cxx03/__memory/temp_value.h
A libcxx/include/__cxx03/__memory/temporary_buffer.h
A libcxx/include/__cxx03/__memory/uninitialized_algorithms.h
A libcxx/include/__cxx03/__memory/unique_ptr.h
A libcxx/include/__cxx03/__memory/uses_allocator.h
A libcxx/include/__cxx03/__memory/uses_allocator_construction.h
A libcxx/include/__cxx03/__memory/voidify.h
A libcxx/include/__cxx03/__memory_resource/memory_resource.h
A libcxx/include/__cxx03/__memory_resource/monotonic_buffer_resource.h
A libcxx/include/__cxx03/__memory_resource/polymorphic_allocator.h
A libcxx/include/__cxx03/__memory_resource/pool_options.h
A libcxx/include/__cxx03/__memory_resource/synchronized_pool_resource.h
A libcxx/include/__cxx03/__memory_resource/unsynchronized_pool_resource.h
A libcxx/include/__cxx03/__mutex/lock_guard.h
A libcxx/include/__cxx03/__mutex/mutex.h
A libcxx/include/__cxx03/__mutex/once_flag.h
A libcxx/include/__cxx03/__mutex/tag_types.h
A libcxx/include/__cxx03/__mutex/unique_lock.h
A libcxx/include/__cxx03/__node_handle
A libcxx/include/__cxx03/__numeric/accumulate.h
A libcxx/include/__cxx03/__numeric/adjacent_difference.h
A libcxx/include/__cxx03/__numeric/exclusive_scan.h
A libcxx/include/__cxx03/__numeric/gcd_lcm.h
A libcxx/include/__cxx03/__numeric/inclusive_scan.h
A libcxx/include/__cxx03/__numeric/inner_product.h
A libcxx/include/__cxx03/__numeric/iota.h
A libcxx/include/__cxx03/__numeric/midpoint.h
A libcxx/include/__cxx03/__numeric/partial_sum.h
A libcxx/include/__cxx03/__numeric/pstl.h
A libcxx/include/__cxx03/__numeric/reduce.h
A libcxx/include/__cxx03/__numeric/saturation_arithmetic.h
A libcxx/include/__cxx03/__numeric/transform_exclusive_scan.h
A libcxx/include/__cxx03/__numeric/transform_inclusive_scan.h
A libcxx/include/__cxx03/__numeric/transform_reduce.h
A libcxx/include/__cxx03/__ostream/basic_ostream.h
A libcxx/include/__cxx03/__ostream/print.h
A libcxx/include/__cxx03/__pstl/backend.h
A libcxx/include/__cxx03/__pstl/backend_fwd.h
A libcxx/include/__cxx03/__pstl/backends/default.h
A libcxx/include/__cxx03/__pstl/backends/libdispatch.h
A libcxx/include/__cxx03/__pstl/backends/serial.h
A libcxx/include/__cxx03/__pstl/backends/std_thread.h
A libcxx/include/__cxx03/__pstl/cpu_algos/any_of.h
A libcxx/include/__cxx03/__pstl/cpu_algos/cpu_traits.h
A libcxx/include/__cxx03/__pstl/cpu_algos/fill.h
A libcxx/include/__cxx03/__pstl/cpu_algos/find_if.h
A libcxx/include/__cxx03/__pstl/cpu_algos/for_each.h
A libcxx/include/__cxx03/__pstl/cpu_algos/merge.h
A libcxx/include/__cxx03/__pstl/cpu_algos/stable_sort.h
A libcxx/include/__cxx03/__pstl/cpu_algos/transform.h
A libcxx/include/__cxx03/__pstl/cpu_algos/transform_reduce.h
A libcxx/include/__cxx03/__pstl/dispatch.h
A libcxx/include/__cxx03/__pstl/handle_exception.h
A libcxx/include/__cxx03/__random/bernoulli_distribution.h
A libcxx/include/__cxx03/__random/binomial_distribution.h
A libcxx/include/__cxx03/__random/cauchy_distribution.h
A libcxx/include/__cxx03/__random/chi_squared_distribution.h
A libcxx/include/__cxx03/__random/clamp_to_integral.h
A libcxx/include/__cxx03/__random/default_random_engine.h
A libcxx/include/__cxx03/__random/discard_block_engine.h
A libcxx/include/__cxx03/__random/discrete_distribution.h
A libcxx/include/__cxx03/__random/exponential_distribution.h
A libcxx/include/__cxx03/__random/extreme_value_distribution.h
A libcxx/include/__cxx03/__random/fisher_f_distribution.h
A libcxx/include/__cxx03/__random/gamma_distribution.h
A libcxx/include/__cxx03/__random/generate_canonical.h
A libcxx/include/__cxx03/__random/geometric_distribution.h
A libcxx/include/__cxx03/__random/independent_bits_engine.h
A libcxx/include/__cxx03/__random/is_seed_sequence.h
A libcxx/include/__cxx03/__random/is_valid.h
A libcxx/include/__cxx03/__random/knuth_b.h
A libcxx/include/__cxx03/__random/linear_congruential_engine.h
A libcxx/include/__cxx03/__random/log2.h
A libcxx/include/__cxx03/__random/lognormal_distribution.h
A libcxx/include/__cxx03/__random/mersenne_twister_engine.h
A libcxx/include/__cxx03/__random/negative_binomial_distribution.h
A libcxx/include/__cxx03/__random/normal_distribution.h
A libcxx/include/__cxx03/__random/piecewise_constant_distribution.h
A libcxx/include/__cxx03/__random/piecewise_linear_distribution.h
A libcxx/include/__cxx03/__random/poisson_distribution.h
A libcxx/include/__cxx03/__random/random_device.h
A libcxx/include/__cxx03/__random/ranlux.h
A libcxx/include/__cxx03/__random/seed_seq.h
A libcxx/include/__cxx03/__random/shuffle_order_engine.h
A libcxx/include/__cxx03/__random/student_t_distribution.h
A libcxx/include/__cxx03/__random/subtract_with_carry_engine.h
A libcxx/include/__cxx03/__random/uniform_int_distribution.h
A libcxx/include/__cxx03/__random/uniform_random_bit_generator.h
A libcxx/include/__cxx03/__random/uniform_real_distribution.h
A libcxx/include/__cxx03/__random/weibull_distribution.h
A libcxx/include/__cxx03/__ranges/access.h
A libcxx/include/__cxx03/__ranges/all.h
A libcxx/include/__cxx03/__ranges/as_rvalue_view.h
A libcxx/include/__cxx03/__ranges/chunk_by_view.h
A libcxx/include/__cxx03/__ranges/common_view.h
A libcxx/include/__cxx03/__ranges/concepts.h
A libcxx/include/__cxx03/__ranges/container_compatible_range.h
A libcxx/include/__cxx03/__ranges/counted.h
A libcxx/include/__cxx03/__ranges/dangling.h
A libcxx/include/__cxx03/__ranges/data.h
A libcxx/include/__cxx03/__ranges/drop_view.h
A libcxx/include/__cxx03/__ranges/drop_while_view.h
A libcxx/include/__cxx03/__ranges/elements_view.h
A libcxx/include/__cxx03/__ranges/empty.h
A libcxx/include/__cxx03/__ranges/empty_view.h
A libcxx/include/__cxx03/__ranges/enable_borrowed_range.h
A libcxx/include/__cxx03/__ranges/enable_view.h
A libcxx/include/__cxx03/__ranges/filter_view.h
A libcxx/include/__cxx03/__ranges/from_range.h
A libcxx/include/__cxx03/__ranges/iota_view.h
A libcxx/include/__cxx03/__ranges/istream_view.h
A libcxx/include/__cxx03/__ranges/join_view.h
A libcxx/include/__cxx03/__ranges/lazy_split_view.h
A libcxx/include/__cxx03/__ranges/movable_box.h
A libcxx/include/__cxx03/__ranges/non_propagating_cache.h
A libcxx/include/__cxx03/__ranges/owning_view.h
A libcxx/include/__cxx03/__ranges/range_adaptor.h
A libcxx/include/__cxx03/__ranges/rbegin.h
A libcxx/include/__cxx03/__ranges/ref_view.h
A libcxx/include/__cxx03/__ranges/rend.h
A libcxx/include/__cxx03/__ranges/repeat_view.h
A libcxx/include/__cxx03/__ranges/reverse_view.h
A libcxx/include/__cxx03/__ranges/single_view.h
A libcxx/include/__cxx03/__ranges/size.h
A libcxx/include/__cxx03/__ranges/split_view.h
A libcxx/include/__cxx03/__ranges/subrange.h
A libcxx/include/__cxx03/__ranges/take_view.h
A libcxx/include/__cxx03/__ranges/take_while_view.h
A libcxx/include/__cxx03/__ranges/to.h
A libcxx/include/__cxx03/__ranges/transform_view.h
A libcxx/include/__cxx03/__ranges/view_interface.h
A libcxx/include/__cxx03/__ranges/views.h
A libcxx/include/__cxx03/__ranges/zip_view.h
A libcxx/include/__cxx03/__split_buffer
A libcxx/include/__cxx03/__std_clang_module
A libcxx/include/__cxx03/__std_mbstate_t.h
A libcxx/include/__cxx03/__stop_token/atomic_unique_lock.h
A libcxx/include/__cxx03/__stop_token/intrusive_list_view.h
A libcxx/include/__cxx03/__stop_token/intrusive_shared_ptr.h
A libcxx/include/__cxx03/__stop_token/stop_callback.h
A libcxx/include/__cxx03/__stop_token/stop_source.h
A libcxx/include/__cxx03/__stop_token/stop_state.h
A libcxx/include/__cxx03/__stop_token/stop_token.h
A libcxx/include/__cxx03/__string/char_traits.h
A libcxx/include/__cxx03/__string/constexpr_c_functions.h
A libcxx/include/__cxx03/__string/extern_template_lists.h
A libcxx/include/__cxx03/__support/ibm/gettod_zos.h
A libcxx/include/__cxx03/__support/ibm/locale_mgmt_zos.h
A libcxx/include/__cxx03/__support/ibm/nanosleep.h
A libcxx/include/__cxx03/__support/xlocale/__nop_locale_mgmt.h
A libcxx/include/__cxx03/__support/xlocale/__posix_l_fallback.h
A libcxx/include/__cxx03/__support/xlocale/__strtonum_fallback.h
A libcxx/include/__cxx03/__system_error/errc.h
A libcxx/include/__cxx03/__system_error/error_category.h
A libcxx/include/__cxx03/__system_error/error_code.h
A libcxx/include/__cxx03/__system_error/error_condition.h
A libcxx/include/__cxx03/__system_error/system_error.h
A libcxx/include/__cxx03/__thread/formatter.h
A libcxx/include/__cxx03/__thread/id.h
A libcxx/include/__cxx03/__thread/jthread.h
A libcxx/include/__cxx03/__thread/poll_with_backoff.h
A libcxx/include/__cxx03/__thread/support.h
A libcxx/include/__cxx03/__thread/support/c11.h
A libcxx/include/__cxx03/__thread/support/external.h
A libcxx/include/__cxx03/__thread/support/pthread.h
A libcxx/include/__cxx03/__thread/support/windows.h
A libcxx/include/__cxx03/__thread/this_thread.h
A libcxx/include/__cxx03/__thread/thread.h
A libcxx/include/__cxx03/__thread/timed_backoff_policy.h
A libcxx/include/__cxx03/__tree
A libcxx/include/__cxx03/__tuple/find_index.h
A libcxx/include/__cxx03/__tuple/ignore.h
A libcxx/include/__cxx03/__tuple/make_tuple_types.h
A libcxx/include/__cxx03/__tuple/sfinae_helpers.h
A libcxx/include/__cxx03/__tuple/tuple_element.h
A libcxx/include/__cxx03/__tuple/tuple_indices.h
A libcxx/include/__cxx03/__tuple/tuple_like.h
A libcxx/include/__cxx03/__tuple/tuple_like_ext.h
A libcxx/include/__cxx03/__tuple/tuple_like_no_subrange.h
A libcxx/include/__cxx03/__tuple/tuple_size.h
A libcxx/include/__cxx03/__tuple/tuple_types.h
A libcxx/include/__cxx03/__type_traits/add_const.h
A libcxx/include/__cxx03/__type_traits/add_cv.h
A libcxx/include/__cxx03/__type_traits/add_lvalue_reference.h
A libcxx/include/__cxx03/__type_traits/add_pointer.h
A libcxx/include/__cxx03/__type_traits/add_rvalue_reference.h
A libcxx/include/__cxx03/__type_traits/add_volatile.h
A libcxx/include/__cxx03/__type_traits/aligned_storage.h
A libcxx/include/__cxx03/__type_traits/aligned_union.h
A libcxx/include/__cxx03/__type_traits/alignment_of.h
A libcxx/include/__cxx03/__type_traits/can_extract_key.h
A libcxx/include/__cxx03/__type_traits/common_reference.h
A libcxx/include/__cxx03/__type_traits/common_type.h
A libcxx/include/__cxx03/__type_traits/conditional.h
A libcxx/include/__cxx03/__type_traits/conjunction.h
A libcxx/include/__cxx03/__type_traits/copy_cv.h
A libcxx/include/__cxx03/__type_traits/copy_cvref.h
A libcxx/include/__cxx03/__type_traits/datasizeof.h
A libcxx/include/__cxx03/__type_traits/decay.h
A libcxx/include/__cxx03/__type_traits/dependent_type.h
A libcxx/include/__cxx03/__type_traits/desugars_to.h
A libcxx/include/__cxx03/__type_traits/disjunction.h
A libcxx/include/__cxx03/__type_traits/enable_if.h
A libcxx/include/__cxx03/__type_traits/extent.h
A libcxx/include/__cxx03/__type_traits/has_unique_object_representation.h
A libcxx/include/__cxx03/__type_traits/has_virtual_destructor.h
A libcxx/include/__cxx03/__type_traits/integral_constant.h
A libcxx/include/__cxx03/__type_traits/invoke.h
A libcxx/include/__cxx03/__type_traits/is_abstract.h
A libcxx/include/__cxx03/__type_traits/is_aggregate.h
A libcxx/include/__cxx03/__type_traits/is_allocator.h
A libcxx/include/__cxx03/__type_traits/is_always_bitcastable.h
A libcxx/include/__cxx03/__type_traits/is_arithmetic.h
A libcxx/include/__cxx03/__type_traits/is_array.h
A libcxx/include/__cxx03/__type_traits/is_assignable.h
A libcxx/include/__cxx03/__type_traits/is_base_of.h
A libcxx/include/__cxx03/__type_traits/is_bounded_array.h
A libcxx/include/__cxx03/__type_traits/is_callable.h
A libcxx/include/__cxx03/__type_traits/is_char_like_type.h
A libcxx/include/__cxx03/__type_traits/is_class.h
A libcxx/include/__cxx03/__type_traits/is_compound.h
A libcxx/include/__cxx03/__type_traits/is_const.h
A libcxx/include/__cxx03/__type_traits/is_constant_evaluated.h
A libcxx/include/__cxx03/__type_traits/is_constructible.h
A libcxx/include/__cxx03/__type_traits/is_convertible.h
A libcxx/include/__cxx03/__type_traits/is_core_convertible.h
A libcxx/include/__cxx03/__type_traits/is_destructible.h
A libcxx/include/__cxx03/__type_traits/is_empty.h
A libcxx/include/__cxx03/__type_traits/is_enum.h
A libcxx/include/__cxx03/__type_traits/is_equality_comparable.h
A libcxx/include/__cxx03/__type_traits/is_execution_policy.h
A libcxx/include/__cxx03/__type_traits/is_final.h
A libcxx/include/__cxx03/__type_traits/is_floating_point.h
A libcxx/include/__cxx03/__type_traits/is_function.h
A libcxx/include/__cxx03/__type_traits/is_fundamental.h
A libcxx/include/__cxx03/__type_traits/is_implicitly_default_constructible.h
A libcxx/include/__cxx03/__type_traits/is_integral.h
A libcxx/include/__cxx03/__type_traits/is_literal_type.h
A libcxx/include/__cxx03/__type_traits/is_member_pointer.h
A libcxx/include/__cxx03/__type_traits/is_nothrow_assignable.h
A libcxx/include/__cxx03/__type_traits/is_nothrow_constructible.h
A libcxx/include/__cxx03/__type_traits/is_nothrow_convertible.h
A libcxx/include/__cxx03/__type_traits/is_nothrow_destructible.h
A libcxx/include/__cxx03/__type_traits/is_null_pointer.h
A libcxx/include/__cxx03/__type_traits/is_object.h
A libcxx/include/__cxx03/__type_traits/is_pod.h
A libcxx/include/__cxx03/__type_traits/is_pointer.h
A libcxx/include/__cxx03/__type_traits/is_polymorphic.h
A libcxx/include/__cxx03/__type_traits/is_primary_template.h
A libcxx/include/__cxx03/__type_traits/is_reference.h
A libcxx/include/__cxx03/__type_traits/is_reference_wrapper.h
A libcxx/include/__cxx03/__type_traits/is_referenceable.h
A libcxx/include/__cxx03/__type_traits/is_same.h
A libcxx/include/__cxx03/__type_traits/is_scalar.h
A libcxx/include/__cxx03/__type_traits/is_signed.h
A libcxx/include/__cxx03/__type_traits/is_signed_integer.h
A libcxx/include/__cxx03/__type_traits/is_specialization.h
A libcxx/include/__cxx03/__type_traits/is_standard_layout.h
A libcxx/include/__cxx03/__type_traits/is_swappable.h
A libcxx/include/__cxx03/__type_traits/is_trivial.h
A libcxx/include/__cxx03/__type_traits/is_trivially_assignable.h
A libcxx/include/__cxx03/__type_traits/is_trivially_constructible.h
A libcxx/include/__cxx03/__type_traits/is_trivially_copyable.h
A libcxx/include/__cxx03/__type_traits/is_trivially_destructible.h
A libcxx/include/__cxx03/__type_traits/is_trivially_lexicographically_comparable.h
A libcxx/include/__cxx03/__type_traits/is_trivially_relocatable.h
A libcxx/include/__cxx03/__type_traits/is_unbounded_array.h
A libcxx/include/__cxx03/__type_traits/is_union.h
A libcxx/include/__cxx03/__type_traits/is_unsigned.h
A libcxx/include/__cxx03/__type_traits/is_unsigned_integer.h
A libcxx/include/__cxx03/__type_traits/is_valid_expansion.h
A libcxx/include/__cxx03/__type_traits/is_void.h
A libcxx/include/__cxx03/__type_traits/is_volatile.h
A libcxx/include/__cxx03/__type_traits/lazy.h
A libcxx/include/__cxx03/__type_traits/make_32_64_or_128_bit.h
A libcxx/include/__cxx03/__type_traits/make_const_lvalue_ref.h
A libcxx/include/__cxx03/__type_traits/make_signed.h
A libcxx/include/__cxx03/__type_traits/make_unsigned.h
A libcxx/include/__cxx03/__type_traits/maybe_const.h
A libcxx/include/__cxx03/__type_traits/nat.h
A libcxx/include/__cxx03/__type_traits/negation.h
A libcxx/include/__cxx03/__type_traits/noexcept_move_assign_container.h
A libcxx/include/__cxx03/__type_traits/promote.h
A libcxx/include/__cxx03/__type_traits/rank.h
A libcxx/include/__cxx03/__type_traits/remove_all_extents.h
A libcxx/include/__cxx03/__type_traits/remove_const.h
A libcxx/include/__cxx03/__type_traits/remove_const_ref.h
A libcxx/include/__cxx03/__type_traits/remove_cv.h
A libcxx/include/__cxx03/__type_traits/remove_cvref.h
A libcxx/include/__cxx03/__type_traits/remove_extent.h
A libcxx/include/__cxx03/__type_traits/remove_pointer.h
A libcxx/include/__cxx03/__type_traits/remove_reference.h
A libcxx/include/__cxx03/__type_traits/remove_volatile.h
A libcxx/include/__cxx03/__type_traits/result_of.h
A libcxx/include/__cxx03/__type_traits/strip_signature.h
A libcxx/include/__cxx03/__type_traits/type_identity.h
A libcxx/include/__cxx03/__type_traits/type_list.h
A libcxx/include/__cxx03/__type_traits/underlying_type.h
A libcxx/include/__cxx03/__type_traits/unwrap_ref.h
A libcxx/include/__cxx03/__type_traits/void_t.h
A libcxx/include/__cxx03/__undef_macros
A libcxx/include/__cxx03/__utility/as_const.h
A libcxx/include/__cxx03/__utility/as_lvalue.h
A libcxx/include/__cxx03/__utility/auto_cast.h
A libcxx/include/__cxx03/__utility/cmp.h
A libcxx/include/__cxx03/__utility/convert_to_integral.h
A libcxx/include/__cxx03/__utility/declval.h
A libcxx/include/__cxx03/__utility/empty.h
A libcxx/include/__cxx03/__utility/exception_guard.h
A libcxx/include/__cxx03/__utility/exchange.h
A libcxx/include/__cxx03/__utility/forward.h
A libcxx/include/__cxx03/__utility/forward_like.h
A libcxx/include/__cxx03/__utility/in_place.h
A libcxx/include/__cxx03/__utility/integer_sequence.h
A libcxx/include/__cxx03/__utility/is_pointer_in_range.h
A libcxx/include/__cxx03/__utility/is_valid_range.h
A libcxx/include/__cxx03/__utility/move.h
A libcxx/include/__cxx03/__utility/no_destroy.h
A libcxx/include/__cxx03/__utility/pair.h
A libcxx/include/__cxx03/__utility/piecewise_construct.h
A libcxx/include/__cxx03/__utility/priority_tag.h
A libcxx/include/__cxx03/__utility/private_constructor_tag.h
A libcxx/include/__cxx03/__utility/rel_ops.h
A libcxx/include/__cxx03/__utility/small_buffer.h
A libcxx/include/__cxx03/__utility/swap.h
A libcxx/include/__cxx03/__utility/to_underlying.h
A libcxx/include/__cxx03/__utility/unreachable.h
A libcxx/include/__cxx03/__variant/monostate.h
A libcxx/include/__cxx03/__verbose_abort
A libcxx/include/__cxx03/algorithm
A libcxx/include/__cxx03/any
A libcxx/include/__cxx03/array
A libcxx/include/__cxx03/atomic
A libcxx/include/__cxx03/barrier
A libcxx/include/__cxx03/bit
A libcxx/include/__cxx03/bitset
A libcxx/include/__cxx03/cassert
A libcxx/include/__cxx03/ccomplex
A libcxx/include/__cxx03/cctype
A libcxx/include/__cxx03/cerrno
A libcxx/include/__cxx03/cfenv
A libcxx/include/__cxx03/cfloat
A libcxx/include/__cxx03/charconv
A libcxx/include/__cxx03/chrono
A libcxx/include/__cxx03/cinttypes
A libcxx/include/__cxx03/ciso646
A libcxx/include/__cxx03/climits
A libcxx/include/__cxx03/clocale
A libcxx/include/__cxx03/cmath
A libcxx/include/__cxx03/codecvt
A libcxx/include/__cxx03/compare
A libcxx/include/__cxx03/complex
A libcxx/include/__cxx03/complex.h
A libcxx/include/__cxx03/concepts
A libcxx/include/__cxx03/condition_variable
A libcxx/include/__cxx03/coroutine
A libcxx/include/__cxx03/csetjmp
A libcxx/include/__cxx03/csignal
A libcxx/include/__cxx03/cstdarg
A libcxx/include/__cxx03/cstdbool
A libcxx/include/__cxx03/cstddef
A libcxx/include/__cxx03/cstdint
A libcxx/include/__cxx03/cstdio
A libcxx/include/__cxx03/cstdlib
A libcxx/include/__cxx03/cstring
A libcxx/include/__cxx03/ctgmath
A libcxx/include/__cxx03/ctime
A libcxx/include/__cxx03/ctype.h
A libcxx/include/__cxx03/cuchar
A libcxx/include/__cxx03/cwchar
A libcxx/include/__cxx03/cwctype
A libcxx/include/__cxx03/deque
A libcxx/include/__cxx03/errno.h
A libcxx/include/__cxx03/exception
A libcxx/include/__cxx03/execution
A libcxx/include/__cxx03/expected
A libcxx/include/__cxx03/experimental/__config
A libcxx/include/__cxx03/experimental/__simd/aligned_tag.h
A libcxx/include/__cxx03/experimental/__simd/declaration.h
A libcxx/include/__cxx03/experimental/__simd/reference.h
A libcxx/include/__cxx03/experimental/__simd/scalar.h
A libcxx/include/__cxx03/experimental/__simd/simd.h
A libcxx/include/__cxx03/experimental/__simd/simd_mask.h
A libcxx/include/__cxx03/experimental/__simd/traits.h
A libcxx/include/__cxx03/experimental/__simd/utility.h
A libcxx/include/__cxx03/experimental/__simd/vec_ext.h
A libcxx/include/__cxx03/experimental/iterator
A libcxx/include/__cxx03/experimental/memory
A libcxx/include/__cxx03/experimental/propagate_const
A libcxx/include/__cxx03/experimental/simd
A libcxx/include/__cxx03/experimental/type_traits
A libcxx/include/__cxx03/experimental/utility
A libcxx/include/__cxx03/ext/__hash
A libcxx/include/__cxx03/ext/hash_map
A libcxx/include/__cxx03/ext/hash_set
A libcxx/include/__cxx03/fenv.h
A libcxx/include/__cxx03/filesystem
A libcxx/include/__cxx03/float.h
A libcxx/include/__cxx03/format
A libcxx/include/__cxx03/forward_list
A libcxx/include/__cxx03/fstream
A libcxx/include/__cxx03/functional
A libcxx/include/__cxx03/future
A libcxx/include/__cxx03/initializer_list
A libcxx/include/__cxx03/inttypes.h
A libcxx/include/__cxx03/iomanip
A libcxx/include/__cxx03/ios
A libcxx/include/__cxx03/iosfwd
A libcxx/include/__cxx03/iostream
A libcxx/include/__cxx03/istream
A libcxx/include/__cxx03/iterator
A libcxx/include/__cxx03/latch
A libcxx/include/__cxx03/limits
A libcxx/include/__cxx03/list
A libcxx/include/__cxx03/locale
A libcxx/include/__cxx03/locale.h
A libcxx/include/__cxx03/map
A libcxx/include/__cxx03/math.h
A libcxx/include/__cxx03/mdspan
A libcxx/include/__cxx03/memory
A libcxx/include/__cxx03/memory_resource
A libcxx/include/__cxx03/module.modulemap
A libcxx/include/__cxx03/mutex
A libcxx/include/__cxx03/new
A libcxx/include/__cxx03/numbers
A libcxx/include/__cxx03/numeric
A libcxx/include/__cxx03/optional
A libcxx/include/__cxx03/ostream
A libcxx/include/__cxx03/print
A libcxx/include/__cxx03/queue
A libcxx/include/__cxx03/random
A libcxx/include/__cxx03/ranges
A libcxx/include/__cxx03/ratio
A libcxx/include/__cxx03/regex
A libcxx/include/__cxx03/scoped_allocator
A libcxx/include/__cxx03/semaphore
A libcxx/include/__cxx03/set
A libcxx/include/__cxx03/shared_mutex
A libcxx/include/__cxx03/source_location
A libcxx/include/__cxx03/span
A libcxx/include/__cxx03/sstream
A libcxx/include/__cxx03/stack
A libcxx/include/__cxx03/stdatomic.h
A libcxx/include/__cxx03/stdbool.h
A libcxx/include/__cxx03/stddef.h
A libcxx/include/__cxx03/stdexcept
A libcxx/include/__cxx03/stdint.h
A libcxx/include/__cxx03/stdio.h
A libcxx/include/__cxx03/stdlib.h
A libcxx/include/__cxx03/stop_token
A libcxx/include/__cxx03/streambuf
A libcxx/include/__cxx03/string
A libcxx/include/__cxx03/string.h
A libcxx/include/__cxx03/string_view
A libcxx/include/__cxx03/strstream
A libcxx/include/__cxx03/syncstream
A libcxx/include/__cxx03/system_error
A libcxx/include/__cxx03/tgmath.h
A libcxx/include/__cxx03/thread
A libcxx/include/__cxx03/tuple
A libcxx/include/__cxx03/type_traits
A libcxx/include/__cxx03/typeindex
A libcxx/include/__cxx03/typeinfo
A libcxx/include/__cxx03/uchar.h
A libcxx/include/__cxx03/unordered_map
A libcxx/include/__cxx03/unordered_set
A libcxx/include/__cxx03/utility
A libcxx/include/__cxx03/valarray
A libcxx/include/__cxx03/variant
A libcxx/include/__cxx03/vector
A libcxx/include/__cxx03/version
A libcxx/include/__cxx03/wchar.h
A libcxx/include/__cxx03/wctype.h
M libcxx/utils/generate_iwyu_mapping.py
Log Message:
-----------
Reapply "[libc++][C++03] Copy the LLVM 19 headers (#108999)" (#112127)
This reverts commit 68c04b0ae62d8431d72d8b47fc13008002ee4387.
This disables the IWYU mapping that caused the failure, since
the headers aren't reachable for now.
This is the first part of the "Freezing C++03 headers" proposal
explained in
https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc/77319/58.
This patch mechanically copies the headers as of the LLVM 19.1 release
into a subdirectory of libc++ so that we can start using these headers
when building in C++03 mode. We are going to be backporting important
changes to that copy of the headers until the LLVM 21 release. After the
LLVM 21 release, only critical bugfixes will be fixed in the C++03 copy
of the headers.
This patch only performs a copy of the headers -- these headers are
still unused by the rest of the codebase.
Commit: 76bdc608980b307a354580dfbbed844fee0b75a8
https://github.com/llvm/llvm-project/commit/76bdc608980b307a354580dfbbed844fee0b75a8
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/include/llvm/LTO/legacy/ThinLTOCodeGenerator.h
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
Log Message:
-----------
[Legacy ThinLTO] NFC: Move helper class to an "Impl" namespace (#112846)
`::llvm::TargetMachineBuilder` is only a helper class for
`ThinLTOCodeGenerator` and not a real facility. Move it into an "Impl"
namespace.
Commit: 4e40b71c519a53de2c23f6796a816d10337d328c
https://github.com/llvm/llvm-project/commit/4e40b71c519a53de2c23f6796a816d10337d328c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
A flang/include/flang/Optimizer/Transforms/CUFGPUToLLVMConversion.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/runtime/CUDA/registration.cpp
A flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir
M flang/tools/fir-opt/fir-opt.cpp
Log Message:
-----------
[flang][cuda] Add specialized gpu.launch_func conversion (#113493)
Commit: 9ed6f7f99b556faa6dd24ff3a97bab1ab3c4fece
https://github.com/llvm/llvm-project/commit/9ed6f7f99b556faa6dd24ff3a97bab1ab3c4fece
Author: Chris Apple <cja-private at pm.me>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[rtsan] Add include guards around posix interceptors, tests (#113188)
Commit: 33363521ca24f912cc25530f6cecbca53acce8a3
https://github.com/llvm/llvm-project/commit/33363521ca24f912cc25530f6cecbca53acce8a3
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
Log Message:
-----------
[NFC][WebAssembly] Inline var only used in assertion (#113507)
Commit: 786db636b9b6967087685a62af665046621b4957
https://github.com/llvm/llvm-project/commit/786db636b9b6967087685a62af665046621b4957
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Format/WhitespaceManager.h
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add KeepFormFeed option (#113268)
Closes #113170.
Commit: bf8f5cc9b50b411ab0d8ee6532c6189992d790db
https://github.com/llvm/llvm-project/commit/bf8f5cc9b50b411ab0d8ee6532c6189992d790db
Author: Yuta Saito <kateinoigakukun at gmail.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
A llvm/test/tools/llvm-cov/Inputs/binary-formats.v6.wasm32
A llvm/test/tools/llvm-cov/Inputs/binary-formats.wasm.proftext
M llvm/test/tools/llvm-cov/binary-formats.c
Log Message:
-----------
Reland: [llvm-cov][WebAssembly] Read `__llvm_prf_names` from data segments (#112569)
On WebAssembly, most coverage metadata contents read by llvm-cov (like
`__llvm_covmap` and `__llvm_covfun`) are stored in custom sections
because they are not referenced at runtime. However, `__llvm_prf_names`
is referenced at runtime by the profile runtime library and is read by
llvm-cov post-processing tools, so it needs to be stored in a data
segment, which is allocatable at runtime and accessible by tools as long
as "name" section is present in the binary.
This patch changes the way llvm-cov reads `__llvm_prf_names` on
WebAssembly. Instead of looking for a section, it looks for a data
segment with the same name.
This reverts commit 157f10ddf2d851125a85a71e530dc9d50cb032a2 and fixes
PE/COFF `.lprfn$A` section handling.
Commit: ef217a0f6b37a7f5e7ca5e9333df8c2ab8c84c30
https://github.com/llvm/llvm-project/commit/ef217a0f6b37a7f5e7ca5e9333df8c2ab8c84c30
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Introduce and use getVectorPreheader (NFC).
Introduce a dedicated function to retrieve the vector preheader. This
ensures the correct block is used, even if the skeleton is exetended.
Commit: 04f14e4d652a344fedea6de8df532e88a652bcc4
https://github.com/llvm/llvm-project/commit/04f14e4d652a344fedea6de8df532e88a652bcc4
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M clang/include/clang/Format/Format.h
Log Message:
-----------
[clang-format] Remove repeated `TabWidth` in Format.h
Commit: b8fddca7bdb354d51e340c60aafe3dff1b35a195
https://github.com/llvm/llvm-project/commit/b8fddca7bdb354d51e340c60aafe3dff1b35a195
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/NoopLattice.h
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M llvm/include/llvm/Analysis/LazyCallGraph.h
M llvm/include/llvm/IR/PassInstrumentation.h
M llvm/lib/Analysis/LazyCallGraph.cpp
M llvm/lib/IR/PassInstrumentation.cpp
M llvm/lib/Transforms/Scalar/LoopPassManager.cpp
M llvm/unittests/IR/PassBuilderCallbacksTest.cpp
Log Message:
-----------
[llvm] Support llvm::Any across shared libraries on windows (#108051)
This is part of the effort to support for enabling plugins on windows by
adding better support for building llvm as a DLL. The export macros used
here were added in #96630
Since shared library symbols aren't deduplicated across multiple
libraries on windows like Linux we have to manually explicitly import
and export `Any::TypeId` template instantiations for the uses of
`llvm::Any` in the LLVM codebase to support LLVM Windows shared library
builds.
This change ensures that external code, including LLVM's own tests, can
use PassManager callbacks when LLVM is built as a DLL.
I also removed the only use of llvm::Any for LoopNest that only existed
in debug code and there also doesn't seem to be any code creating
`Any<LoopNest>`
Commit: a9050525954cbe11d45b415e2248d9e25e004bfe
https://github.com/llvm/llvm-project/commit/a9050525954cbe11d45b415e2248d9e25e004bfe
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/Constant.h
M llvm/lib/SandboxIR/Constant.cpp
Log Message:
-----------
[SandboxIR] Add extern templates for GlobalWithNodeAPI (#111940)
These symbols will need to be explicitly exported for SandboxIRTests
when LLVM is built as shared library on window with explicitly
visibility macros are enabled.
This is part of the work to enable LLVM_BUILD_LLVM_DYLIB and plugins on
windows.
Commit: 089237c0d0b544b4a823891b9ea650325b9dee6d
https://github.com/llvm/llvm-project/commit/089237c0d0b544b4a823891b9ea650325b9dee6d
Author: Haopeng Liu <153236845+haopliu at users.noreply.github.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
A llvm/test/Transforms/DeadStoreElimination/inter-procedural.ll
Log Message:
-----------
[DSE] Apply initializes attribute to DSE (#107282)
Apply the initializes attribute to DSE and guard with a flag,
"enable-dse-initializes-attr-improvement".
The attribute support has been landed in:
https://github.com/llvm/llvm-project/pull/84803
The attribute inference will be landed after this PR:
https://github.com/llvm/llvm-project/pull/97373
Commit: d1fae5996e66c2a9f0b1c5b9776f86962ab8e9ea
https://github.com/llvm/llvm-project/commit/d1fae5996e66c2a9f0b1c5b9776f86962ab8e9ea
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/NoopLattice.h
Log Message:
-----------
[clang-tidy] Fix build error (NFC)
/llvm-project/clang/include/clang/Analysis/FlowSensitive/NoopLattice.h:49:2:
error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
}; // namespace llvm
Commit: 60944177b8fa43d0d315af6b4827f94226e0aa01
https://github.com/llvm/llvm-project/commit/60944177b8fa43d0d315af6b4827f94226e0aa01
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-10-23 (Wed, 23 Oct 2024)
Changed paths:
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/test/Transforms/WholeProgramDevirt/import.ll
Log Message:
-----------
[WPD][ThinLTO]Add cutoff option for WPD (#113383)
This option applies for _import_ WPD (i.e., when `DevirtModule` pass
de-virtualizes according to an imported summary, in ThinLTO backend
pipeline). It's meant for debugging (e.g., bisection).
Commit: 0b7e8c25ece1ff0e0dc0b7d283600b49498e8162
https://github.com/llvm/llvm-project/commit/0b7e8c25ece1ff0e0dc0b7d283600b49498e8162
Author: Dmitry Polukhin <34227995+dmpolukhin at users.noreply.github.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M clang/lib/Frontend/PrintPreprocessedOutput.cpp
M clang/lib/Lex/TokenConcatenation.cpp
A clang/test/Headers/header_unit_preprocessed_output.cpp
M clang/test/Modules/cxx20-include-translation.cpp
Log Message:
-----------
[C++20][Modules] Quote header unit name in preprocessor output (-E) (#112883)
Summary:
Before this change clang produced output with header unit names that may
conaint path separators, dots and other non-identifier characters. This
diff prints header unit name in quotes and -E output can be compiled
again. Also remove unnecessary space between header unit name and semi.
Test Plan: check-clang
Commit: 509af087cccca3bf8a90bc9871335224226dc6fe
https://github.com/llvm/llvm-project/commit/509af087cccca3bf8a90bc9871335224226dc6fe
Author: Nuno Lopes <nuno.lopes at tecnico.ulisboa.pt>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/SjLjEHPrepare.cpp
Log Message:
-----------
replace 2 placeholder uses of undef with poison [NFC]
Commit: 17bfd21391d080afbf2697a0a1a631a1be76a2e4
https://github.com/llvm/llvm-project/commit/17bfd21391d080afbf2697a0a1a631a1be76a2e4
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
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
A llvm/test/MC/AArch64/SVE2p1/aesd-diagnostics.s
A llvm/test/MC/AArch64/SVE2p1/aesd.s
A llvm/test/MC/AArch64/SVE2p1/aesdimc-diagnostics.s
A llvm/test/MC/AArch64/SVE2p1/aesdimc.s
A llvm/test/MC/AArch64/SVE2p1/aese-diagnostics.s
A llvm/test/MC/AArch64/SVE2p1/aese.s
A llvm/test/MC/AArch64/SVE2p1/aesemc-diagnostics.s
A llvm/test/MC/AArch64/SVE2p1/aesemc.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
Log Message:
-----------
[AArch64] Add assembly/disassembly for multi-vector AES instructions (#113307)
This patch adds assembly/disassembly for the following multi-vector SVE
instructions
- AESE (two/four registers)
- AESD (two/four registers)
- AESDIMC (two/four registers)
- AESEMC (two/four registers)
- Introduce assembler extension tests for the new Armv9.6 sve-aes2 and
ssve-aes features
- In accordance with:
https://developer.arm.com/documentation/ddi0602/latest/
Commit: 61a456bd5ae88eeccc39b28a30be4eb03289446d
https://github.com/llvm/llvm-project/commit/61a456bd5ae88eeccc39b28a30be4eb03289446d
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
Log Message:
-----------
[Clang] prevent assertion failure in value-dependent initializer expressions (#112612)
Fixes #112140
---
```
CXXConstructExpr 0x14209e580 'const S':'const struct S' contains-errors 'void (const int &)' list
`-CXXDefaultArgExpr 0x14209e500 'const int' contains-errors
`-RecoveryExpr 0x14209daf0 'const int' contains-errors
```
This change resolves an issue with evaluating `ArrayFiller` initializers
in _dependent_ contexts, especially when they involve a `RecoveryExpr`.
In certain cases, `ArrayFiller` initializers containing a `RecoveryExpr`
from earlier errors are incorrectly passed to `EvaluateInPlace`, causing
evaluation failures when they are value-dependent.
When this is the case, the initializer is processed through
`EvaluateDependentExpr`, which prevents unnecessary evaluation attempts
and ensures proper handling of value-dependent initializers in
`ArrayFillers`.
Commit: e37d736def5b95a2710f92881b5fc8b0494d8a05
https://github.com/llvm/llvm-project/commit/e37d736def5b95a2710f92881b5fc8b0494d8a05
Author: Nashe Mncube <nashe.mncube at arm.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
A llvm/test/Transforms/GlobalOpt/ARM/arm-widen-dest-non-array.ll
A llvm/test/Transforms/GlobalOpt/ARM/arm-widen-global-dest.ll
A llvm/test/Transforms/GlobalOpt/ARM/arm-widen-non-byte-array.ll
A llvm/test/Transforms/GlobalOpt/ARM/arm-widen-non-const-global.ll
A llvm/test/Transforms/GlobalOpt/ARM/arm-widen-string-multi-use.ll
A llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-1.ll
A llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-2.ll
A llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-lengths-dont-match.ll
A llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-more-than-64-bytes.ll
A llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-ptrtoint.ll
A llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-struct-test.ll
A llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-volatile.ll
A llvm/test/Transforms/GlobalOpt/ARM/lit.local.cfg
Log Message:
-----------
Recommit: [llvm][ARM][GlobalOpt]Add widen global arrays pass (#113289)
This is a recommit of #107120 . The original PR was approved but failed
buildbot. The newly added tests should only be run for compilers that
support the ARM target. This has been resolved by adding a config file
for these tests.
- Pass optimizes memcpy's by padding out destinations and sources to a
full word to make ARM backend generate full word loads instead of
loading a single byte (ldrb) and/or half word (ldrh). Only pads
destination when it's a stack allocated constant size array and source
when it's constant string. Heuristic to decide whether to pad or not
is very basic and could be improved to allow more examples to be
padded.
- Pass works at the midend level
Commit: 4dd55c567aaed30c6842812e0798a70fee324c98
https://github.com/llvm/llvm-project/commit/4dd55c567aaed30c6842812e0798a70fee324c98
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M clang/include/clang/AST/CommentSema.h
M clang/include/clang/AST/DeclFriend.h
M clang/include/clang/AST/DeclObjC.h
M clang/include/clang/AST/DeclOpenMP.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/StmtOpenMP.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h
M clang/include/clang/Analysis/AnyCall.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Driver/Job.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Sema/CodeCompleteConsumer.h
M clang/include/clang/Sema/Overload.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaObjC.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
M clang/lib/ARCMigrate/Internals.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/Comment.cpp
M clang/lib/AST/CommentParser.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclObjC.cpp
M clang/lib/AST/DeclOpenMP.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/Analysis/BodyFarm.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/ARC.h
M clang/lib/Basic/Targets/AVR.h
M clang/lib/Basic/Targets/BPF.h
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/Lanai.h
M clang/lib/Basic/Targets/M68k.cpp
M clang/lib/Basic/Targets/MSP430.h
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/PNaCl.cpp
M clang/lib/Basic/Targets/PNaCl.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/Sparc.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/TCE.h
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/Basic/Targets/XCore.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.h
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/Frontend/DiagnosticRenderer.cpp
M clang/lib/Index/IndexingContext.h
M clang/lib/Lex/ModuleMap.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/ParseInit.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPseudoObject.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
M clang/unittests/Frontend/ASTUnitTest.cpp
M clang/utils/TableGen/NeonEmitter.cpp
Log Message:
-----------
[clang] Use {} instead of std::nullopt to initialize empty ArrayRef (#109399)
Follow up to #109133.
Commit: f52b89561f2d929c0c6f37fd818229fbcad3b26c
https://github.com/llvm/llvm-project/commit/f52b89561f2d929c0c6f37fd818229fbcad3b26c
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.cpp
M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.h
M lldb/source/Plugins/Process/elf-core/RegisterUtilities.h
M lldb/test/API/linux/aarch64/fpmr/TestAArch64LinuxFPMR.py
A lldb/test/API/linux/aarch64/fpmr/corefile
M lldb/test/API/linux/aarch64/fpmr/main.c
Log Message:
-----------
[lldb][AArch64] Read fpmr register from core files (#110104)
https://developer.arm.com/documentation/ddi0601/2024-06/AArch64-Registers/FPMR--Floating-point-Mode-Register
for details of the register.
Commit: 76f4f950f67b9f3f2d2789abbdffc24ea4506a09
https://github.com/llvm/llvm-project/commit/76f4f950f67b9f3f2d2789abbdffc24ea4506a09
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb][AArch64] Add release note for AArch64 Linux FPMR register
Commit: cd0373e029fdca7d6d99677b805e728016574a1f
https://github.com/llvm/llvm-project/commit/cd0373e029fdca7d6d99677b805e728016574a1f
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/sve-streaming-mode-cvt-fp-int-fp.ll
Log Message:
-----------
[AArch64] Allow single-element vector FP converts with +sme2p2 (#112905)
Follow up to #112213 now that the +sme2p2 feature flag has landed. The
single-element vector variants of FCVTZS, FCVTZU, UCVTF, and SCVTF are
allowed in streaming SVE mode with +sme2p2.
Reference:
-
https://developer.arm.com/documentation/ddi0602/2024-09/SIMD-FP-Instructions/FCVTZS--vector--integer---Floating-point-convert-to-signed-integer--rounding-toward-zero--vector--
-
https://developer.arm.com/documentation/ddi0602/2024-09/SIMD-FP-Instructions/UCVTF--vector--integer---Unsigned-integer-convert-to-floating-point--vector--
-
https://developer.arm.com/documentation/ddi0602/2024-09/SIMD-FP-Instructions/SCVTF--vector--integer---Signed-integer-convert-to-floating-point--vector--
Commit: c07abf727220e3bd2c78b129a683ad79f735e43c
https://github.com/llvm/llvm-project/commit/c07abf727220e3bd2c78b129a683ad79f735e43c
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
A flang/test/Transforms/debug-ref-type.fir
Log Message:
-----------
[flang][debug] Support fir::ReferenceType. (#113480)
Commit: 9575ab28c1d48efba273d189f82be66a7e484da1
https://github.com/llvm/llvm-project/commit/9575ab28c1d48efba273d189f82be66a7e484da1
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Update feature dep. for Armv9.6 extensions (#113466)
Co-authored-by: Jonathan Thackray <jonathan.thackray at arm.com>
Co-authored-by: SpencerAbson <Spencer.Abson at arm.com>
Commit: ea3534b385a713639953fb5dfd287af87b52bead
https://github.com/llvm/llvm-project/commit/ea3534b385a713639953fb5dfd287af87b52bead
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
A flang/test/Lower/OpenMP/Todo/affinity-clause.f90
A flang/test/Parser/OpenMP/affinity-clause.f90
A flang/test/Semantics/OpenMP/affinity-clause.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[flang][OpenMP] Parse AFFINITY clause, lowering not supported yet (#113485)
Implement parsing of the AFFINITY clause on TASK construct, conversion
from the parser class to omp::Clause.
Lowering to HLFIR is unsupported, a TODO message is displayed.
Commit: 4affb2d59a541d8163404d7e21252b4686f1c3b8
https://github.com/llvm/llvm-project/commit/4affb2d59a541d8163404d7e21252b4686f1c3b8
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/test/Analysis/const-method-call.cpp
Log Message:
-----------
[analyzer] Use dynamic type when invalidating by a member function call (#111138)
When instantiating "callable<T>", the "class CallableType" nested type
will only have a declaration in the copy for the instantiation - because
it's not refereed to directly by any other code that would need a
complete definition.
However, in the past, when conservative eval calling member function, we
took the static type of the "this" expr, and looked up the CXXRecordDecl
it refereed to to see if it has any mutable members (to decide if it
needs to refine invalidation or not). Unfortunately, that query needs a
definition, and it asserts otherwise, thus we crashed.
To fix this, we should consult the dynamic type of the object, because
that will have the definition.
I anyways added a check for "hasDefinition" just to be on the safe side.
Fixes #77378
Commit: 76edf72501cd6f66788c631fada95972a797a4a6
https://github.com/llvm/llvm-project/commit/76edf72501cd6f66788c631fada95972a797a4a6
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
A lldb/test/Shell/SymbolFile/DWARF/x86/member-pointers.cpp
Log Message:
-----------
Reland: [lldb] Fix crash missing MSInheritanceAttr with DWARF on Windows (#112928)
Member pointers refer to data or function members of a `CXXRecordDecl`,
which require a `MSInheritanceAttr` in order to be complete. Without that
we cannot calculate the size of a member pointer in memory. The attempt
has been causing a crash further down in the clang AST context. In order
to implement the feature, DWARF will need a new attribtue to convey the
information. For the moment, this patch teaches LLDB to handle to
situation and avoid the crash.
Commit: 47c1abf4afd9120921001ef4bc04492cf949dce7
https://github.com/llvm/llvm-project/commit/47c1abf4afd9120921001ef4bc04492cf949dce7
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
A flang/test/Transforms/debug-derived-type-2.fir
Log Message:
-----------
[flang][debug] Fix array lower bounds in derived type members. (#113183)
The lower bound information for the array members of a derived type
can't be obtained from the `DeclareOp`. It has to be extracted from the
`TypeInfoOp`. That was left as FIXME in the code. This PR adds the
missing functionality to fix the issue.
I tried the following approaches before settling on the current one that
is to generate `DITypeAttr` for array members right where the components
are being processed.
1. Generate a temp XDeclareOp with the shift information obtained from
the `TypeInfoOp`. This caused a few issues mostly related to
`unrealized_conversion_cast`.
2. Change the shift operands in the `declOp` that was passed in the
function before calling `convertType`. The code can be seen in the
abcf031a8e5a02f0081e7f293858302e7bf47bec. It essentially looked like the
following. It works correctly but I was not sure if temporarily changing
the `declOp` is the safe thing to do.
```
mlir::OperandRange originalShift = declOp.getShift();
mlir::MutableOperandRange mutableOpRange = declOp.getShiftMutable();
mutableOpRange.assign(shiftOpers);
elemTy = convertType(fieldTy, fileAttr, scope, declOp);
mutableOpRange.assign(originalShift);
```
Fixes #113178.
Commit: 927559d27d5bfe97ad668a562489d732b8bc246f
https://github.com/llvm/llvm-project/commit/927559d27d5bfe97ad668a562489d732b8bc246f
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/test/Conversion/VectorToGPU/vector-to-mma-ops.mlir
Log Message:
-----------
[mlir][vector] Fix a crash in `VectorToGPU` (#113454)
This PR fixes a crash in `VectorToGPU` when the operand of `extOp` is a
function argument, which cannot be retrieved using `getDefiningOp`.
Fixes #107967.
Commit: 7e61d893739ff309a1c2e01dee31b1a5e6ed91b8
https://github.com/llvm/llvm-project/commit/7e61d893739ff309a1c2e01dee31b1a5e6ed91b8
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M mlir/tools/mlir-rewrite/mlir-rewrite.cpp
Log Message:
-----------
[mlir] Apply ClangTidy performance finding
loop variable is copied but only used as const reference
Commit: 37832d5de2abb425c460375a4054478ce9f948fe
https://github.com/llvm/llvm-project/commit/37832d5de2abb425c460375a4054478ce9f948fe
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
A flang/test/Transforms/debug-vector-type.fir
Log Message:
-----------
[flang][debug] Support fir.vector type. (#112951)
This PR converts the `fir.vector<>` to
`DICompositeTypeAttr(DW_TAG_array_type)` with `vector` flag set.
Commit: 046b87fb3ca8e84c42c915f2bd66a95004e136fc
https://github.com/llvm/llvm-project/commit/046b87fb3ca8e84c42c915f2bd66a95004e136fc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
Log Message:
-----------
Fix MSVC not all control paths return a value warning. NFC.
Commit: b34d64921b2f878b6e1ac7205fc4b13d54a7d8db
https://github.com/llvm/llvm-project/commit/b34d64921b2f878b6e1ac7205fc4b13d54a7d8db
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bitreverse.ll
Log Message:
-----------
[X86] ReplaceNodeResults - adjust assert to allow XOP or GFNI subtargets to split i64 BITREVERSE nodes on 32-bit targets
Fixes #113353
Fixes #113034
Commit: c7aff2ab4cfcc3cc4d43e8b9a3663096ab1e8f10
https://github.com/llvm/llvm-project/commit/c7aff2ab4cfcc3cc4d43e8b9a3663096ab1e8f10
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
Log Message:
-----------
[libc] Pass through LIBC_CONF_MATH_OPTIMIZATIONS correctly (#113540)
It's checked in a cmake function that builds up a list called
`config_options`. But the check was appending to a list called
`compile_options`, so the intended `-DLIBC_MATH=whatever` didn't end up
on the actual compile command lines.
Commit: 522f34cfff693fd3f198808b7b3d17fa02f44120
https://github.com/llvm/llvm-project/commit/522f34cfff693fd3f198808b7b3d17fa02f44120
Author: Lei Huang <lei at ca.ibm.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/named-reg-alloc-r0.ll
M llvm/test/CodeGen/PowerPC/named-reg-alloc-r2-64.ll
M llvm/test/CodeGen/PowerPC/named-reg-alloc-r2.ll
A llvm/test/CodeGen/PowerPC/named-reg-alloc.ll
Log Message:
-----------
[PowerPC] Expand global named register support (#113482)
Enable all valid registers for intrinsics that read from and write
to global named registers.
Commit: 2e686d6d17c4cc7608510a856055e6ca79fcb917
https://github.com/llvm/llvm-project/commit/2e686d6d17c4cc7608510a856055e6ca79fcb917
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++] Remove workaround which allows setting _LIBCPP_OVERRIDABLE_FUNC_VIS externally (#113139)
`-fvisibility-global-new-delete` has been added in Clang 18, so there is
no more need to specify the visibility of new/delete via libc++-internal
macros.
Some people used a custom new/delete, which requires them to have
default visibility, but didn't want to leak any symbols otherwise. Since
the new/delete visibility can now be controlled by a compiler flag,
there is no reason to set it with out macro.
https://reviews.llvm.org/D128007 originally tried to remove the option
to override the macro, but was partially reverted because people
actually set this specific macro.
Commit: f3131c99bf4816ac2fe48dcb5fa7b1f252b07f20
https://github.com/llvm/llvm-project/commit/f3131c99bf4816ac2fe48dcb5fa7b1f252b07f20
Author: Zaara Syeda <syzaara at ca.ibm.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalMerge.cpp
A llvm/test/CodeGen/PowerPC/aix-aggressive-merge-const.ll
Log Message:
-----------
[GlobalMerge] Aggressively merge constants to reduce TOC entries (#111756)
Symbols that get mapped into the read-only section are loaded as part of
the text segment and will always need a TOC entry to be addressable. Add
an option to aggressively merge these read only globals to reduce TOC
usage.
Commit: 8a7318eb00fcd833aefa8b0028690e9fae221ce6
https://github.com/llvm/llvm-project/commit/8a7318eb00fcd833aefa8b0028690e9fae221ce6
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M libcxx/include/vector
Log Message:
-----------
[libc++] Refactor vector::push_back to use vector::emplace (#113481)
This removes some duplicate code. I suspect this was originally written
that way because vector::emplace didn't exist in C++03 mode, which
stopped being relevant when Clang implemented rvalue references in
C++03.
Commit: cb445e8d1d66daf294e64a07bf69b6266fe1cded
https://github.com/llvm/llvm-project/commit/cb445e8d1d66daf294e64a07bf69b6266fe1cded
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M cmake/Modules/HandleCompilerRT.cmake
Log Message:
-----------
[cmake] Promote message when failing to find compiler-rt to warning (#111834)
This makes the message stand out a bit more, which can be helpful to
debug situations where compiler-rt is missing but shouldn't.
Commit: 0af6c304e48e0484672b53be49a15f411d173e59
https://github.com/llvm/llvm-project/commit/0af6c304e48e0484672b53be49a15f411d173e59
Author: Eisuke Kawashima <e.kawaschima+github at gmail.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M compiler-rt/test/asan/lit.cfg.py
M compiler-rt/test/builtins/Unit/lit.cfg.py
M compiler-rt/test/ctx_profile/lit.cfg.py
M compiler-rt/test/lsan/lit.common.cfg.py
M compiler-rt/test/memprof/lit.cfg.py
M compiler-rt/test/profile/lit.cfg.py
M compiler-rt/test/sanitizer_common/android_commands/android_compile.py
M compiler-rt/test/sanitizer_common/ios_commands/iossim_compile.py
M compiler-rt/test/ubsan/lit.common.cfg.py
M compiler-rt/test/ubsan_minimal/lit.common.cfg.py
Log Message:
-----------
[NFC][compiler-rt] fix(compiler-rt/**.py): fix comparison to None (#94015)
from PEP8
(https://peps.python.org/pep-0008/#programming-recommendations):
> Comparisons to singletons like None should always be done with is or
is not, never the equality operators.
Commit: cb5046da26399c0ab545c3ed764e0e68e997ff89
https://github.com/llvm/llvm-project/commit/cb5046da26399c0ab545c3ed764e0e68e997ff89
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/revec-getGatherCost.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll
M llvm/test/Transforms/SLPVectorizer/X86/matched-shuffled-entries.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_extract_broadcast.ll
M llvm/test/Transforms/SLPVectorizer/insertelement-across-zero.ll
M llvm/test/Transforms/SLPVectorizer/revec.ll
M llvm/test/Transforms/SLPVectorizer/splat-buildvector.ll
Log Message:
-----------
[SLP]Do not ignore undefs when trying to replace with "poisonous" shuffles
Need to consider undefs correctly, when trying to replace them with
potentially poisonous values in shuffles. Such elements should not be
silently replaced by poison values, instead complex analysis should be
implemented to see if it is safe to do it.
Fixes #113425
Commit: 0aec4d2b78a08f5f3e4b0ad0340a99e486d00110
https://github.com/llvm/llvm-project/commit/0aec4d2b78a08f5f3e4b0ad0340a99e486d00110
Author: tltao <tony.le.tao at gmail.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/test/CodeGen/SystemZ/Large/large-ada-01.py
M llvm/test/CodeGen/SystemZ/Large/large-ada-02.py
Log Message:
-----------
[SystemZ] Update large ada tests after HLASM syntax change (#113578)
Fix buildbot failures seen on:
https://lab.llvm.org/buildbot/#/builders/42/builds/1597
caused by: https://github.com/llvm/llvm-project/pull/113369
Co-authored-by: Tony Tao <tonytao at ca.ibm.com>
Commit: d2e7ee77d33e8b3be3b1d4e9bc5bc4c60b62b554
https://github.com/llvm/llvm-project/commit/d2e7ee77d33e8b3be3b1d4e9bc5bc4c60b62b554
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/non-load-reduced-as-part-of-bv.ll
Log Message:
-----------
[SLP]Do not check for clustered loads only
Since SLP support "clusterization" of the non-load instructions, the
restriction for reduced values for loads only should be removed to avoid
compiler crash.
Fixes #113516
Commit: 61a76f58ebf161c739fb196d56c1899735c7cea8
https://github.com/llvm/llvm-project/commit/61a76f58ebf161c739fb196d56c1899735c7cea8
Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M clang/docs/analyzer/user-docs.rst
A clang/docs/analyzer/user-docs/FAQ.rst
M clang/www/analyzer/faq.html
Log Message:
-----------
[clang][analyzer][doc] Migrate ClangSA www FAQ section (#112831)
The ClangSA documentation lives in RST format, and the FAQ section of
the old webpage is also migrated from HTML with this change.
---------
Co-authored-by: Donát Nagy <donat.nagy at ericsson.com>
Commit: 3a2c957c4b11babb6c2111b8827a324ffac5bab8
https://github.com/llvm/llvm-project/commit/3a2c957c4b11babb6c2111b8827a324ffac5bab8
Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M clang/www/analyzer/index.html
Log Message:
-----------
[clang][analyzer][doc] Update Clang SA www docs index.html (#112833)
Downloads and releases sections are removed, users are advised to use
the conventional ways of acquiring the analyzer.
Commit: 493529fbcee07b1ea17c3abfdea85cfa226a04a4
https://github.com/llvm/llvm-project/commit/493529fbcee07b1ea17c3abfdea85cfa226a04a4
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
M llvm/lib/Target/ARM/ARMCallingConv.td
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/lib/Target/ARM/ARMSubtarget.h
A llvm/test/CodeGen/Thumb2/pacbti-m-frame-chain.ll
Log Message:
-----------
Re-land: [ARM] Fix frame chains with M-profile PACBTI (#110285)
When using AAPCS-compliant frame chains with PACBTI return address
signing, there ware a number of bugs in the generation of the frame
pointer and function prologues. The most obvious was that we sometimes
would modify r11 before pushing it to the stack, so it wasn't preserved
as required by the PCS. We also sometimes did not push R11 and LR
adjacent to one another on the stack, or used R11 as a frame pointer
without pointing it at the saved value of R11, both of which are
required to have an AAPCS compliant frame chain.
The original work of this patch was done by James Westwood, reviewed as
#82801 and #81249, with some tidy-ups done by Mark Murray and myself.
Commit: 3cec720449d0b419570772a31aa137296bba6423
https://github.com/llvm/llvm-project/commit/3cec720449d0b419570772a31aa137296bba6423
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
R llvm/test/Transforms/DeadStoreElimination/inter-procedural.ll
Log Message:
-----------
Revert "[DSE] Apply initializes attribute to DSE" (#113589)
Reverts llvm/llvm-project#107282
Seems to be causing invalid analysis caching as mentioned in
https://github.com/llvm/llvm-project/pull/107282#issuecomment-2435083978.
Commit: a21573bb99735e6364bb150c4bbae3423bfc2973
https://github.com/llvm/llvm-project/commit/a21573bb99735e6364bb150c4bbae3423bfc2973
Author: Nico Weber <thakis at chromium.org>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/SystemZ/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn] port 6512a8d more
24293e690 added the files added there, but didn't do the tblgen changes.
Commit: 460406affeecf811d20241f073c800a7b31c5592
https://github.com/llvm/llvm-project/commit/460406affeecf811d20241f073c800a7b31c5592
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M libcxx/utils/libcxx/header_information.py
Log Message:
-----------
[libc++] Exclude C++03 frozen headers from the modulemap (#113572)
This is a temporary patch, eventually these headers should be included
in the modulemap as well.
Commit: 907c13638819b36ecc5154775217068b1a1f4cfc
https://github.com/llvm/llvm-project/commit/907c13638819b36ecc5154775217068b1a1f4cfc
Author: Nico Weber <thakis at chromium.org>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/SystemZ/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn] port 6512a8d yet more
Follow-up to a21573bb9973 which had a typo.
Commit: e914421d7fbf22059ea2180233add0c914ec80f0
https://github.com/llvm/llvm-project/commit/e914421d7fbf22059ea2180233add0c914ec80f0
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/SystemZ/ext-alt-node-must-ext.ll
M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
Log Message:
-----------
[SLP]Do correct signedness analysis for externally used scalars
If the scalars is used externally is in the root node, it may have
incorrect signedness info because of the conflict with the demanded bits
analysis. Need to perform exact signedness analysis and compute it
rather than rely on the precomputed value, which might be incorrect for
alternate zext/sext nodes.
Fixes #113520
Commit: 2646ce2a224c67435638a7d2ae72ba4e1a2c9f96
https://github.com/llvm/llvm-project/commit/2646ce2a224c67435638a7d2ae72ba4e1a2c9f96
Author: Nico Weber <thakis at chromium.org>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/PowerPC/AsmParser/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/PowerPC/BUILD.gn
Log Message:
-----------
[gn] port 522f34cfff693fd3f (PPC AsmMatcher dep)
Similar to 4168a2e9de35f. See also comment on #113482.
Commit: 762e65cf845c29bb5047f85244d8afc65a0665d0
https://github.com/llvm/llvm-project/commit/762e65cf845c29bb5047f85244d8afc65a0665d0
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/MC/AArch64/SVE2p2/frint32x-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/frint32x.s
A llvm/test/MC/AArch64/SVE2p2/frint32z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/frint32z.s
A llvm/test/MC/AArch64/SVE2p2/frint64x-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/frint64x.s
A llvm/test/MC/AArch64/SVE2p2/frint64z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/frint64z.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for FRINT{32,64}{X,Z} (merging) (#113562)
This patch adds assembly/disassembly support for the following SVE2.2
instructions
- FRINT32X (merging)
- FRINT32Z (merging)
- FRINT64X (merging)
- FRINT64Z (merging)
- In accordance with:
https://developer.arm.com/documentation/ddi0602/latest/
Commit: 9a8292f91454573036b5de46992a93d4de7f9fa3
https://github.com/llvm/llvm-project/commit/9a8292f91454573036b5de46992a93d4de7f9fa3
Author: Nico Weber <thakis at chromium.org>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
Log Message:
-----------
[gn build] Port 8a12e0131f3d
Commit: db0e3760442324d48adb68228d1939667807b2b8
https://github.com/llvm/llvm-project/commit/db0e3760442324d48adb68228d1939667807b2b8
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/aarch64-sve-asm.ll
Log Message:
-----------
[AArch64] Fix failure with inline asm and svcount (#112537)
This fixes an issue where the compiler runs into an assertion failure
for the following example:
register svcount_t pred asm("pn8") = svptrue_c8();
asm("ld1w { z0.s, z4.s, z8.s, z12.s }, %[pred]/z, [x0]\n"
:
: [pred] "Uph" (pred)
: "memory", "cc");
Here the register constraint that ends up in the LLVM IR is "{pn8}", but
the code in `TargetRegisterInfo::getRegForInlineAsmConstraint` that
parses that string, follows a path where it queries a suitable register
class for this register (<=> PPRorPNR regclass), for which it then
chooses `nxv16i1` as a suitable type. These choices individually are
correct, but the combined result isn't, because the type should be
`aarch64svcount`.
This then results in issues later on in SelectionDAGBuilder.cpp in
CopyToReg because the type of the actual value and the computed type
from the constraint don't match.
This PR pre-empts this issue by parsing the predicate explicitly and
returning the correct register class.
Commit: 0ef90bbdefc385bafb15e27cc2bfbeb34629ac40
https://github.com/llvm/llvm-project/commit/0ef90bbdefc385bafb15e27cc2bfbeb34629ac40
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/MC/MCParser/COFFAsmParser.cpp
Log Message:
-----------
[MCParser] De-capitalize COFFAsmParser functions. NFC
Commit: 5d37415a589177c4449a8262553bee5366c1bad6
https://github.com/llvm/llvm-project/commit/5d37415a589177c4449a8262553bee5366c1bad6
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M flang/test/Driver/embed.f90
Log Message:
-----------
Unsupport flang/test/Driver/embed.f90 on Windows
The test fails due to Windows' line-endings, and it's blocking
pre-checkin tests.
Commit: 5d07162bba0648f5a5733039a7795eb7e9913863
https://github.com/llvm/llvm-project/commit/5d07162bba0648f5a5733039a7795eb7e9913863
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M openmp/runtime/test/tasking/hidden_helper_task/gtid.cpp
Log Message:
-----------
[OpenMP] Fix the test issue when `libomp` is built as a static library (#113522)
Commit: e2e7d565bf7228b5c4994257950c64d419cc8f03
https://github.com/llvm/llvm-project/commit/e2e7d565bf7228b5c4994257950c64d419cc8f03
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M flang/include/flang/Semantics/symbol.h
M flang/lib/Semantics/resolve-directives.cpp
Log Message:
-----------
[flang][OpenMP] Make Symbol::OmpFlagToClauseName static (#113586)
It doesn't need the Symbol object for anything.
Commit: 100582ed4f5189c661c365e1ba8b07eb3af0f844
https://github.com/llvm/llvm-project/commit/100582ed4f5189c661c365e1ba8b07eb3af0f844
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/ArrayRef.h
Log Message:
-----------
Pass std::initializer_list by value to ArrayRef constructor. (#113590)
The std::initializer_list is a lightweight object, it is passed by value
in general.
This would also avoid a false positive when adding the lifetimebound
annotation (#113547)
```
ArrayRef<int> foo(std::initializer_list<int> list) {
return ArrayRef<int>(list);
}
```
Commit: 87b3c07ae696883098f4780765b7cf1fcf75716d
https://github.com/llvm/llvm-project/commit/87b3c07ae696883098f4780765b7cf1fcf75716d
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/MC/AArch64/SVE/frecpx-diagnostics.s
M llvm/test/MC/AArch64/SVE/frinta-diagnostics.s
M llvm/test/MC/AArch64/SVE/frinti-diagnostics.s
M llvm/test/MC/AArch64/SVE/frintm-diagnostics.s
M llvm/test/MC/AArch64/SVE/frintn-diagnostics.s
M llvm/test/MC/AArch64/SVE/frintp-diagnostics.s
M llvm/test/MC/AArch64/SVE/frintx-diagnostics.s
M llvm/test/MC/AArch64/SVE/frintz-diagnostics.s
M llvm/test/MC/AArch64/SVE/fsqrt-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/frecpx_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/frecpx_z.s
A llvm/test/MC/AArch64/SVE2p2/frint32x_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/frint32x_z.s
A llvm/test/MC/AArch64/SVE2p2/frint32z_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/frint32z_z.s
A llvm/test/MC/AArch64/SVE2p2/frint64x_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/frint64x_z.s
A llvm/test/MC/AArch64/SVE2p2/frint64z_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/frint64z_z.s
A llvm/test/MC/AArch64/SVE2p2/frinta_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/frinta_z.s
A llvm/test/MC/AArch64/SVE2p2/frinti_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/frinti_z.s
A llvm/test/MC/AArch64/SVE2p2/frintm_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/frintm_z.s
A llvm/test/MC/AArch64/SVE2p2/frintn_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/frintn_z.s
A llvm/test/MC/AArch64/SVE2p2/frintp_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/frintp_z.s
A llvm/test/MC/AArch64/SVE2p2/frintx_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/frintx_z.s
A llvm/test/MC/AArch64/SVE2p2/frintz_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/frintz_z.s
A llvm/test/MC/AArch64/SVE2p2/fsqrt_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/fsqrt_z.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for zeroing FRINT and FRECPX/FSQRT (#113543)
This patch adds assembly/disassembly support for the following
predicated SVE2.2 instructions
- FRINT32X, FRINT32Z (zeroing)
- FRINT64X, FRINT64Z (zeroing)
- FRINT{N,P,M,Z,A,X,I} (zeroing)
- FRECPX, FSQRT (zeroing)
- Updates the diagnostics tests for existing merging variants of these
instructions.
- In accordance with:
https://developer.arm.com/documentation/ddi0602/latest/
Commit: 4bce21480fc52bf583b6bfe5072f9eb70c21f6e4
https://github.com/llvm/llvm-project/commit/4bce21480fc52bf583b6bfe5072f9eb70c21f6e4
Author: Dimitry Andric <dimitry at andric.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Log Message:
-----------
Ensure !NDEBUG with LLVM_ENABLE_ABI_BREAKING_CHECKS does not segfault (#113588)
In SelectionDAG, `TargetTransformInfo::hasBranchDivergence()` can be
called when both `NDEBUG` and `LLVM_ENABLE_ABI_BREAKING_CHECKS` are
enabled. In that case, the class member `TTI` is still initialized to
`nullptr`, causing a segfault.
Fix this by ensuring that all the calls to `hasBranchDivergence` and
`VerifyDAGDivergence` only occur when `NDEBUG` is disabled, and
`LLVM_ENABLE_ABI_BREAKING_CHECKS` is enabled.
Commit: af872d5473e7e1132e0ec8e146d28af239196c53
https://github.com/llvm/llvm-project/commit/af872d5473e7e1132e0ec8e146d28af239196c53
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M clang/lib/Sema/HLSLExternalSemaSource.cpp
A clang/test/AST/HLSL/RWStructuredBuffer-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
A clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffer-subscript.hlsl
A clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
A clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
Log Message:
-----------
[HLSL] Add RWStructuredBuffer definition to HLSLExternalSemaSource (#113477)
Add tests for RWStructuredBuffer class definition. Use shared test files
for all structured buffers' constructor and subscript tests. Keep AST
and element-type tests separate for each buffer type because they longer
and failures would be harder to match.
Fixes #112775
Commit: 1fe64fe04687e5c95c33be9abac921cdd2a8e2ff
https://github.com/llvm/llvm-project/commit/1fe64fe04687e5c95c33be9abac921cdd2a8e2ff
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderVTune.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/RegisterEHFrames.h
Log Message:
-----------
[ORC] Add visibility macros to functions needed by lli and jitlink (#113271)
Annotating these symbols will fix missing symbols errors for lli and
llvm-jitlink when when the LLVM is built as shared library on windows
with explicit symbol visibility macros enabled.
This is part of the work to enable LLVM_BUILD_LLVM_DYLIB and plugins on
window.
Commit: 6d8d7a3acdebf5979b93629a2641ba1bf06c574b
https://github.com/llvm/llvm-project/commit/6d8d7a3acdebf5979b93629a2641ba1bf06c574b
Author: Nico Weber <thakis at chromium.org>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/BUILD.gn
Log Message:
-----------
[gn] disable building libc++ shared lib
It's currently broken by #91651. Stop buildling libcxx src files
until that is sorted out.
Commit: 564fd62aedfde6358baa1776a2de975b45bc7778
https://github.com/llvm/llvm-project/commit/564fd62aedfde6358baa1776a2de975b45bc7778
Author: Florian Mayer <fmayer at google.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
Log Message:
-----------
[FlowSensitive] Allow to dump nested RecordStorageLocation (#112457)
We have an internal analysis that uses them, and the HTML dump would
fail on the assertion.
Commit: 99a52f95018ddebc93caf26498c00cd9cc36c1d6
https://github.com/llvm/llvm-project/commit/99a52f95018ddebc93caf26498c00cd9cc36c1d6
Author: James Westwood <james.westwood at arm.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
A llvm/test/MC/AArch64/armv9.6a-statistical-profiling.s
A llvm/test/MC/AArch64/armv9.6a-trbe-exception.s
A llvm/test/MC/Disassembler/AArch64/armv9.6a-statistical-profiling.txt
A llvm/test/MC/Disassembler/AArch64/armv9.6a-trbe-exception.txt
Log Message:
-----------
[AArch64] Add support for Armv9.6-A FEAT_SPE_EXC and FEAT_TRBE_EXC (#113463)
Add support for the following Armv9.6-A architecture extensions:
* FEAT_SPE_EXC - Statistical Profiling Extension profiling exceptions
* FEAT_TRBE_EXC - Trace Buffer Management Events profiling exceptions
as documented here:
https://developer.arm.com/documentation/109697/2024_09/Feature-descriptions/The-Armv9-6-architecture-extension
Co-authored-by: Jonathan Thackray <jonathan.thackray at arm.com>
Commit: 789fdd536d0446b9effa034ea37f3b56461d8500
https://github.com/llvm/llvm-project/commit/789fdd536d0446b9effa034ea37f3b56461d8500
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineCSE.h
M llvm/include/llvm/CodeGen/MachinePassManager.h
M llvm/include/llvm/CodeGen/RegAllocFast.h
M llvm/include/llvm/CodeGen/TwoAddressInstructionPass.h
M llvm/lib/Target/AMDGPU/GCNDPPCombine.h
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.h
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.h
Log Message:
-----------
[CodeGen][NewPM] Make MFProperties methods const NFC (#113304)
Makes them congruent with the legacy PM methods.
Commit: 6c64c8a6f3f77c30745c751d4163ff6bf2fc323b
https://github.com/llvm/llvm-project/commit/6c64c8a6f3f77c30745c751d4163ff6bf2fc323b
Author: Artem Belevich <tra at google.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
M llvm/lib/Target/NVPTX/NVPTXPassRegistry.def
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
Log Message:
-----------
[NVPTX] add an optional early copy of byval arguments (#113384)
byval arguments in NVPTX are special. We're only allowed to read from
them using a special instruction, and if we ever need to write to them
or take an address, we must make a local copy and use it, instead.
The problem is that local copies are very expensive, and we create them
very late in the compilation pipeline, so LLVM does not have much of a
chance to eliminate them, if they turn out to be unnecessary.
One way around that is to create such copies early on, and let them
percolate through the optimizations. The copying itself will never
trigger creation of another copy later on, as the reads are allowed. If
LLVM can eliminate it, it's a win. It the full optimization pipeline
can't remove the copy, that's as good as it gets in terms of the effort
we could've done, and it's certainly a much better effort than what we
do now.
This early injection of the copies has potential to create undesireable
side-effects, so it's disabled by default, for now, until it sees more
testing.
Commit: 8aa69a0d02e99e50db0242f75a192b1c2d826528
https://github.com/llvm/llvm-project/commit/8aa69a0d02e99e50db0242f75a192b1c2d826528
Author: Jan Voung <jvoung at google.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/CachedConstAccessorsLattice.h
Log Message:
-----------
[clang][dataflow] Disambiguate a ref to "internal" in CachedConstAccessorsLattice (#113601)
Disambiguate to fix a build error (e.g., on windows with clang-cl)
Commit: 76316ec91410bfe4775f828e3ebae5958a9d2a1d
https://github.com/llvm/llvm-project/commit/76316ec91410bfe4775f828e3ebae5958a9d2a1d
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
Log Message:
-----------
[Legacy ThinLTO] NFC: Use explicit `static`; shrink anonymous namespace
Improve compliance with
https://llvm.org/docs/CodingStandards.html#anonymous-namespaces:
> [Only] use [anonymous namespaces] for class declarations.
Commit: 59b6c1b2d5290c40f59d2820b5144e2dec731635
https://github.com/llvm/llvm-project/commit/59b6c1b2d5290c40f59d2820b5144e2dec731635
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Target/DirectX/CMakeLists.txt
Log Message:
-----------
[DXIL] Add to LINK_COMPONENTS to fix BUILD_SHARED_LIBS build
Fixes: 324bdd662dedfd03b884e082f577a8ad6dc1f8a6
Commit: a14a83d9a102253eca7c02ff4c35a2ce3f7de6e5
https://github.com/llvm/llvm-project/commit/a14a83d9a102253eca7c02ff4c35a2ce3f7de6e5
Author: Martin Storsjö <martin at martin.st>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M compiler-rt/CMakeLists.txt
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
Log Message:
-----------
[compiler-rt] [test] Fix using toolchains that rely on Clang default configs (#113491)
The use of CLANG_NO_DEFAULT_CONFIG in the tests was added because some
Linux distributions had a global default config file, that added flags
relating to hardening, which interfere with the sanitizer tests. By
setting CLANG_NO_DEFAULT_CONFIG, the global default config files that
are found are ignored, and the sanitizers get the expected default
compiler behaviour.
(This was https://github.com/llvm/llvm-project/issues/60394, which was
fixed in 8ab762557fb057af1a3015211ee116a975027e78.)
However, some toolchains may rely on default config files for mandatory
parts required for functioning at all - setting things like sysroots,
-rtlib, -unwindlib, -stdlib, -fuse-ld etc. In such a case we can't
forcibly disable any default config, because it will break the otherwise
working toolchain.
Add a test for whether the compiler works while passing
--no-default-config to it. If the option is accepted and the toolchain
still works while that is set, set CLANG_NO_DEFAULT_CONFIG while running
tests.
(This adds a little bit of inconsistency, as we're testing for the
command line option, while using the environment variable. However doing
compile testing with an environment variable isn't quite as easily
doable, and passing an extra command line flag to all compile commands
while testing, is a bit clumsy - therefore this inconsistency.)
Commit: 75d0281bc81f0040c24d15bdf9c5cc46e9237224
https://github.com/llvm/llvm-project/commit/75d0281bc81f0040c24d15bdf9c5cc46e9237224
Author: Martin Storsjö <martin at martin.st>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M libcxx/cmake/config-ix.cmake
M libcxxabi/cmake/config-ix.cmake
M libcxxabi/src/CMakeLists.txt
M libunwind/cmake/config-ix.cmake
M libunwind/src/CMakeLists.txt
M runtimes/CMakeLists.txt
Log Message:
-----------
[runtimes] Probe for -nostdlib++ and -nostdinc++ with the C compiler (#108357)
While these flags semantically are relevant only for C++, we do add them
to CMAKE_REQUIRED_FLAGS if they are detected. All flags in that variable
are used both when testing compilation of C and C++ (and for detecting
libraries, which uses the C compiler driver).
Therefore, to be sure we safely can add the flags to
CMAKE_REQUIRED_FLAGS, test for the option with the C language.
This should fix compilation with GCC; newer versions of GCC do support
the -nostdlib++ option, but it's only supported by the C++ compiler
driver, not the C driver. (However, many builds of GCC also do accept
the option with the C driver, if GCC was compiled with Ada support
enabled, see [1]. That's why this issue isn't noticed in all
configurations with GCC.)
Clang does support these options in both C and C++ driver modes.
This should fix #90332.
[1]
https://github.com/llvm/llvm-project/issues/90332#issuecomment-2325099254
Commit: 1b8cff9a52eab8718ba55996847ece0a96271bb7
https://github.com/llvm/llvm-project/commit/1b8cff9a52eab8718ba55996847ece0a96271bb7
Author: Daniel Hoekwater <hoekwater at google.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/CFIFixup.cpp
Log Message:
-----------
Reland "CFIFixup] Factor CFI remember/restore insertion into a helper (NFC)" (#113387)
The original patch (ac1a01f) dereferenced an end iterator, breaking some
tests (e.g. https://lab.llvm.org/buildbot/#/builders/17/builds/3116).
This updated patch only accesses the iterator when it's valid.
Commit: 4c8779388fd2f25730a1b044f9f10d6717833fce
https://github.com/llvm/llvm-project/commit/4c8779388fd2f25730a1b044f9f10d6717833fce
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_allocator.cpp
Log Message:
-----------
sanitizer_allocator.cpp: Ensure at least sizeof(void*) alignment
Some platforms (e.g. 64-bit CHERI) have stronger alignment requirements
on values returned from allocators. For all other platforms this does
not result in any functional change.
Reviewed By: cjappl, vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/84440
Commit: 118445841d4d50b57ea2892a18f0b656526f804d
https://github.com/llvm/llvm-project/commit/118445841d4d50b57ea2892a18f0b656526f804d
Author: Dan Gohman <dev at sunfishcode.online>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISD.def
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrBulkMemory.td
M llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp
M llvm/test/CodeGen/WebAssembly/bulk-memory.ll
M llvm/test/CodeGen/WebAssembly/bulk-memory64.ll
Log Message:
-----------
[WebAssembly] Protect memory.fill and memory.copy from zero-length ranges. (#112617)
WebAssembly's `memory.fill` and `memory.copy` instructions trap if the
pointers are out of bounds, even if the length is zero. This is
different from LLVM, which expects that it can call `memcpy` on
arbitrary invalid pointers if the length is zero. To avoid spurious
traps, branch around `memory.fill` and `memory.copy` when the length is
zero.
---------
Co-authored-by: Heejin Ahn <aheejin at gmail.com>
Commit: a291f00edaeeea622a9e3e2c706e3bdb25f93f09
https://github.com/llvm/llvm-project/commit/a291f00edaeeea622a9e3e2c706e3bdb25f93f09
Author: Rashmi Mudduluru <r_mudduluru at apple.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
A clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg-std-array.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[WebKit Checkers] Make TrivialFunctionAnalysis recognize std::array::operator[] as trivial (#113377)
TFA wasn't recognizing `__libcpp_verbose_abort` as trivial causing `std::array::operator[]` also not being recognized as trivial.
Commit: 0558fe3bbf575f562e8bde4cb73cf47e0b6a8153
https://github.com/llvm/llvm-project/commit/0558fe3bbf575f562e8bde4cb73cf47e0b6a8153
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
Log Message:
-----------
[VPlan] Update unit tests to use getVectorLoopRegion (NFC).
Use getVectorLoopRegion to retrieve the vector loop header instead of
relying on getting the successor of the entry block. This makes sure the
code still works correctly as more parts of the skeleton are modeled in
VPlan.
Commit: 7b9f988a535c3549b71025e951e3a36a2bf0fa03
https://github.com/llvm/llvm-project/commit/7b9f988a535c3549b71025e951e3a36a2bf0fa03
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Limit stride replacement to vector region and middle VPBB (NFC).
At the moment this in NFC, but ensures we only replace uses that are
dominated by runtime checks as we model more of the skeleton in VPlan.
Commit: 633a6c91a3d8b8c97de661d7e611ff9720b857ab
https://github.com/llvm/llvm-project/commit/633a6c91a3d8b8c97de661d7e611ff9720b857ab
Author: Lang Hames <lhames at gmail.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/include/llvm/Support/ExtensibleRTTI.h
M llvm/unittests/Support/ExtensibleRTTITest.cpp
Log Message:
-----------
[Support] Extend ExtensibleRTTI utility to support basic multiple inheritance. (#112643)
Clients can now pass multiple parent classes to RTTIExtends. Each parent
class will be inherited from publicly (and non-virtually). The isa,
cast, and dyn_cast methods will now work as expected for types with
multiple inheritance.
Commit: 19b04533612e96a442bd5c63d75fd4e67d796193
https://github.com/llvm/llvm-project/commit/19b04533612e96a442bd5c63d75fd4e67d796193
Author: Jun Wang <jwang86 at yahoo.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.mir
M llvm/test/CodeGen/AMDGPU/release-vgprs.mir
A llvm/test/MC/Disassembler/AMDGPU/gfx10_mimg_features.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_mimg_features.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vimage_features.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_mimg_features.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx9_mimg_features.txt
Log Message:
-----------
[AMDGPU][MC] Fix disassembler problem for image_atomic with TFE (#112622)
For image_atomic instructions with TFE, in some cases (e.g., when
dmask=3) the disassembler produces dst register with wrong size (e.g.,
image_atomic_smin v5, v1, s[8:15] dmask:0x3 tfe, instead of v[5:7]).
This patch fixes the VDataDwords values for image atomic instructions.
Commit: 8c2e8b5124a0365664bb79b0caa9cec74d8148ff
https://github.com/llvm/llvm-project/commit/8c2e8b5124a0365664bb79b0caa9cec74d8148ff
Author: Nico Weber <thakis at chromium.org>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Log Message:
-----------
[gn] port a14a83d9a102
Commit: 455f71d28541c3dcb628c4c6f7b53d6eae0f1829
https://github.com/llvm/llvm-project/commit/455f71d28541c3dcb628c4c6f7b53d6eae0f1829
Author: Ian Wood <75152913+IanWood1 at users.noreply.github.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir] Convert `expand_shape` to more static form (#112265)
Add pattern that converts a `tensor.expand_shape` op to a more static
form.
This matches the pattern: `tensor.cast` -> `tensor.expand_shape` if it
has a foldable `tensor.cast` and some constant foldable `output_shape`
operands for the `tensor.expand_shape`. This makes the
`tensor.expand_shape` more static, as well as allowing the static
information to be propagated further down in the program.
Commit: 25909b811a7ddc983d042b15cb54ec271a673d63
https://github.com/llvm/llvm-project/commit/25909b811a7ddc983d042b15cb54ec271a673d63
Author: jeffreytan81 <jeffreytan at meta.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M lldb/source/Core/ValueObject.cpp
M lldb/test/API/lang/cpp/dereferencing_references/TestCPPDereferencingReferences.py
M lldb/test/API/lang/cpp/dereferencing_references/main.cpp
Log Message:
-----------
Fix pointer to reference type (#113596)
We have got customer reporting "v &obj" and "p &obj" reporting different
results.
Turns out it only happens for obj that is itself a reference type which
"v &obj" reports the address of the reference itself instead of the
target object the reference points to. This diverged from C++ semantics.
This PR fixes this issue by returning the address of the dereferenced
object if it is reference type.
A new test is added which fails before.
Co-authored-by: jeffreytan81 <jeffreytan at fb.com>
Commit: b1be21394e9c8fee1d2092c9e6a789121ab214be
https://github.com/llvm/llvm-project/commit/b1be21394e9c8fee1d2092c9e6a789121ab214be
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/test/hwasan/lit.cfg.py
M compiler-rt/test/lit.common.configured.in
M runtimes/CMakeLists.txt
Log Message:
-----------
[runtimes] Allow building against an installed LLVM tree
I am currently trying to test the LLVM runtimes (including compiler-rt)
against an installed LLVM tree rather than a build tree (since that is
no longer available). Currently, the runtimes build of compiler-rt assumes
that LLVM_BINARY_DIR is writable since it uses configure_file() to write
there during the CMake configure stage. Instead, generate this file inside
CMAKE_CURRENT_BINARY_DIR, which will match LLVM_BINARY_DIR when invoked
from llvm/runtimes/CMakeLists.txt.
I also needed to make a minor change to the hwasan tests: hwasan_symbolize
was previously found in the LLVM_BINARY_DIR, but since it is generated as
part of the compiler-rt build it is now inside the CMake build directory
instead. I fixed this by passing the output directory to lit as
config.compiler_rt_bindir and using llvm_config.add_tool_substitutions().
For testing that we no longer write to the LLVM install directory as
part of testing or configuration, I created a read-only bind mount and
configured the runtimes builds as follows:
```
$ sudo mount --bind --read-only ~/llvm-install /tmp/upstream-llvm-readonly
$ cmake -DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_C_COMPILER=/tmp/upstream-llvm-readonly/bin/clang \
-DCMAKE_CXX_COMPILER=/tmp/upstream-llvm-readonly/bin/clang++ \
-DLLVM_INCLUDE_TESTS=TRUE -DLLVM_ENABLE_ASSERTIONS=TRUE \
-DCOMPILER_RT_INCLUDE_TESTS=TRUE -DCOMPILER_RT_DEBUG=OFF \
-DLLVM_ENABLE_RUNTIMES=compiler-rt \
-DLLVM_BINARY_DIR=/tmp/upstream-llvm-readonly \
-G Ninja -S ~/upstream-llvm-project/runtimes \
-B ~/upstream-llvm-project/runtimes/cmake-build-debug-llvm-git
```
Reviewed By: ldionne
Pull Request: https://github.com/llvm/llvm-project/pull/86209
Commit: c03d09ce3eed336fea4d9283232383f6d4d4057d
https://github.com/llvm/llvm-project/commit/c03d09ce3eed336fea4d9283232383f6d4d4057d
Author: Tex Riddell <texr at microsoft.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
A llvm/test/CodeGen/AArch64/GlobalISel/legalize-atan2.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/f16-instructions.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics-fp16.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics.ll
M llvm/test/CodeGen/AArch64/illegal-float-ops.ll
M llvm/test/CodeGen/AArch64/replace-with-veclib-armpl.ll
M llvm/test/CodeGen/AArch64/replace-with-veclib-sleef-scalable.ll
M llvm/test/CodeGen/AArch64/replace-with-veclib-sleef.ll
M llvm/test/CodeGen/AArch64/vec-libcalls.ll
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-calls-libsystem-darwin.ll
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-intrinsic-calls.ll
Log Message:
-----------
[aarch64] atan2 intrinsic lowering (p5) (#112611)
This change is part of this proposal:
https://discourse.llvm.org/t/rfc-all-the-math-intrinsics/78294
- `VecFuncs.def`: define intrinsic to sleef/armpl mapping
- `LegalizerHelper.cpp`: add missing fewerElementsVector handling for
the new atan2 intrinsic
- `AArch64ISelLowering.cpp`: Add arch64 specializations for lowering
like neon instructions
- `AArch64LegalizerInfo.cpp`: Legalize atan2.
Part 5 for Implement the atan2 HLSL Function #70096.
Commit: c4248fa3edd3e2e18219b4fb46561ca1bfd65728
https://github.com/llvm/llvm-project/commit/c4248fa3edd3e2e18219b4fb46561ca1bfd65728
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/BuiltinsX86_64.def
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/immintrin.h
A clang/lib/Headers/movrs_avx10_2_512intrin.h
A clang/lib/Headers/movrs_avx10_2intrin.h
A clang/test/CodeGen/X86/movrs-avx10.2-512-builtins-error-32.c
A clang/test/CodeGen/X86/movrs-avx10.2-512-builtins.c
A clang/test/CodeGen/X86/movrs-avx10.2-builtins-error-32.c
A clang/test/CodeGen/X86/movrs-avx10.2-builtins.c
M clang/test/CodeGen/target-builtin-noerror.c
M clang/test/Driver/x86-target-features.c
M clang/test/Preprocessor/x86_target_features.c
M compiler-rt/lib/builtins/cpu_model/x86.c
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/X86TargetParser.cpp
A llvm/test/CodeGen/X86/movrs-avx10.2-512-intrinsics.ll
A llvm/test/CodeGen/X86/movrs-avx10.2-intrinsics.ll
A llvm/test/MC/Disassembler/X86/movrs-avx10-64.txt
A llvm/test/MC/X86/movrs-avx10-att-64.s
A llvm/test/MC/X86/movrs-avx10-intel-64.s
Log Message:
-----------
[X86] Support MOVRS and AVX10.2 instructions. (#113274)
Ref.: https://cdrdv2.intel.com/v1/dl/getContent/671368
Commit: 08159e6e117f5717d30230cb6568d7f3686b2c86
https://github.com/llvm/llvm-project/commit/08159e6e117f5717d30230cb6568d7f3686b2c86
Author: A. Jiang <de34 at live.cn>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M libcxx/include/__charconv/from_chars_floating_point.h
M libcxx/include/__config
M libcxx/src/charconv.cpp
Log Message:
-----------
[libc++] __uglify `[[clang::noescape]]` (#113280)
Identifiers `clang` and `noescape` are not reserved by the C++ standard,
so perhaps we need to use the equivalent reserved forms.
Also changes the occurrences of that attribute to a macro, following the
convention for `[[_Clang::__lifetimebound__]]`.
Addresses
https://github.com/llvm/llvm-project/pull/91651#discussion_r1807852646.
Commit: c9b10a94b56411ba3b7cc3a148edb257b7e88fcd
https://github.com/llvm/llvm-project/commit/c9b10a94b56411ba3b7cc3a148edb257b7e88fcd
Author: William Junda Huang <williamjhuang at google.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Linker/IRMover.cpp
A llvm/test/ThinLTO/X86/Inputs/ditemplatevalueparameter-remap.ll
A llvm/test/ThinLTO/X86/ditemplatevalueparameter-remap.ll
Log Message:
-----------
[ThinLTO] Do not duplicate import a function that is actually defined in the current module #110064 (#111933)
Trying to land #110064 again after fixing test case
Commit: a35ebcf255046bc78ea86b3c524e0836425a1156
https://github.com/llvm/llvm-project/commit/a35ebcf255046bc78ea86b3c524e0836425a1156
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M lld/test/wasm/lto/Inputs/archive.ll
M lld/test/wasm/lto/Inputs/cache.ll
M lld/test/wasm/lto/Inputs/comdat_ordering1.ll
M lld/test/wasm/lto/Inputs/comdat_ordering2.ll
M lld/test/wasm/lto/Inputs/foo.ll
M lld/test/wasm/lto/Inputs/libcall-archive.ll
M lld/test/wasm/lto/Inputs/libcall-truncsfhf2.ll
M lld/test/wasm/lto/Inputs/libcall.ll
M lld/test/wasm/lto/Inputs/save-temps.ll
M lld/test/wasm/lto/Inputs/thin1.ll
M lld/test/wasm/lto/Inputs/thin2.ll
M lld/test/wasm/lto/Inputs/thinlto.ll
M lld/test/wasm/lto/Inputs/used.ll
M lld/test/wasm/lto/archive.ll
M lld/test/wasm/lto/atomics.ll
M lld/test/wasm/lto/cache-warnings.ll
M lld/test/wasm/lto/cache.ll
M lld/test/wasm/lto/cgo.ll
M lld/test/wasm/lto/comdat.ll
M lld/test/wasm/lto/diagnostics.ll
M lld/test/wasm/lto/export.ll
M lld/test/wasm/lto/import-attributes.ll
M lld/test/wasm/lto/internalize-basic.ll
M lld/test/wasm/lto/libcall-archive.ll
M lld/test/wasm/lto/libcall-truncsfhf2.ll
M lld/test/wasm/lto/lto-start.ll
M lld/test/wasm/lto/new-pass-manager.ll
M lld/test/wasm/lto/opt-level.ll
M lld/test/wasm/lto/parallel.ll
M lld/test/wasm/lto/relocatable-undefined.ll
M lld/test/wasm/lto/relocatable.ll
M lld/test/wasm/lto/save-temps.ll
M lld/test/wasm/lto/thin-archivecollision.ll
M lld/test/wasm/lto/thinlto-thin-archive-collision.ll
M lld/test/wasm/lto/thinlto.ll
M lld/test/wasm/lto/undef.ll
M lld/test/wasm/lto/used.ll
M lld/test/wasm/lto/verify-invalid.ll
M lld/test/wasm/lto/weak-undefined.ll
M lld/test/wasm/lto/weak.ll
Log Message:
-----------
[lld][WebAssembly] Update datalayout strings to latest version
These mismatched data layouts are exposed by the refactoring in
https://github.com/llvm/llvm-project/pull/105734 that now also
compares the non-integral pointers list of the data layout.
I dropped the explicit definition from all tests that use opt/llc since
those tools will insert the correct value, but for the llvm-as based
tests and explicit layout is required.
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/107276
Commit: efd8938d575d1f8058bfe220e4c672d969c82be0
https://github.com/llvm/llvm-project/commit/efd8938d575d1f8058bfe220e4c672d969c82be0
Author: kakkoko <parenthesized.ko at gmail.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M clang/test/Format/clang-format-ignore.cpp
M clang/tools/clang-format/ClangFormat.cpp
Log Message:
-----------
[clang-format] Fix working -assume-filename with .clang-format-ignore (#113100)
Fixes #113099.
---------
Co-authored-by: Owen Pan <owenpiano at gmail.com>
Commit: 08916cef7e7ae334a04769126c2fefc144f8a5a0
https://github.com/llvm/llvm-project/commit/08916cef7e7ae334a04769126c2fefc144f8a5a0
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
[BOLT] Set RawBranchCount in DataAggregator
Align DataAggregator (Linux perf and pre-aggregated profile reader) to
DataReader (fdata profile reader) behavior: set BF->RawBranchCount which
is used in profile density computation (#101094).
Reviewers: ayermolo, maksfb, dcci, rafaelauler, WenleiHe
Reviewed By: WenleiHe
Pull Request: https://github.com/llvm/llvm-project/pull/101093
Commit: 6ee5ff95abe6ba6dfc4ca3a07a27b796fbf3664e
https://github.com/llvm/llvm-project/commit/6ee5ff95abe6ba6dfc4ca3a07a27b796fbf3664e
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/test/X86/pre-aggregated-perf.test
M bolt/tools/driver/llvm-bolt.cpp
Log Message:
-----------
[BOLT] Add profile density computation
Reuse the definition of profile density from llvm-profgen (#92144):
- the density is computed in perf2bolt using raw samples (perf.data or
pre-aggregated data),
- function density is the ratio of dynamically executed function bytes
to the static function size in bytes,
- profile density:
- functions are sorted by density in decreasing order, accumulating
their respective sample counts,
- profile density is the smallest density covering 99% of total sample
count.
In other words, BOLT binary profile density is the minimum amount of
profile information per function (excluding functions in tail 1% sample
count) which is sufficient to optimize the binary well.
The density threshold of 60 was determined through experiments with
large binaries by reducing the sample count and checking resulting
profile density and performance. The threshold is conservative.
perf2bolt would print the warning if the density is below the threshold
and suggest to increase the sampling duration and/or frequency to reach
a given density, e.g.:
```
BOLT-WARNING: BOLT is estimated to optimize better with 2.8x more samples.
```
Test Plan: updated pre-aggregated-perf.test
Reviewers: maksfb, wlei-llvm, rafaelauler, ayermolo, dcci, WenleiHe
Reviewed By: WenleiHe, wlei-llvm
Pull Request: https://github.com/llvm/llvm-project/pull/101094
Commit: f1595ecfdce5387e41826fd72ff930a1a39ae398
https://github.com/llvm/llvm-project/commit/f1595ecfdce5387e41826fd72ff930a1a39ae398
Author: Max191 <44243577+Max191 at users.noreply.github.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-using-interface.mlir
Log Message:
-----------
[mlir] Fix bug in UnPackOp tiling implementation causing infinite loop (#113571)
This fixes a bug in the tiling implementation of tensor.unpack that was
causing an infinite loop when certain unpack ops get tiled and fused as
a producer. The tiled implementation of tensor.unpack sometimes needs to
create an additional tensor.extract_slice on the result of the tiled
unpack op, but this slice was getting added to the `generatedSlices` of
the tiling result. The `generatedSlices` are used to find the next
producers to fuse, so it caused an infinite loop of fusing the same
unpack op after it was already in the loop. This fixes the bug by adding
the slice of the source instead of the result.
Signed-off-by: Max Dawkins <max.dawkins at gmail.com>
Commit: 78e7d9592d7c3b500ae2bae097d8cd7cd9369671
https://github.com/llvm/llvm-project/commit/78e7d9592d7c3b500ae2bae097d8cd7cd9369671
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M clang/lib/Format/CMakeLists.txt
Log Message:
-----------
[clang-format][NFC] Use CLANG_SOURCE_DIR in CMakeLists
Commit: a31ce36f568723ffa5b4155d0ba009403ccd0d9e
https://github.com/llvm/llvm-project/commit/a31ce36f568723ffa5b4155d0ba009403ccd0d9e
Author: Haopeng Liu <153236845+haopliu at users.noreply.github.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
A llvm/test/Transforms/DeadStoreElimination/inter-procedural.ll
Log Message:
-----------
Apply initializes attribute to DSE (#113630)
retry #107282
Fixed with `MadeChange |= Changed;` and confirmed it works.
```
cmake -DLLVM_CCACHE_BUILD=ON -DLLVM_ENABLE_EXPENSIVE_CHECKS=ON -DLLVM_ENABLE_WERROR=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS=-U_GLIBCXX_DEBUG '-DLLVM_LIT_ARGS=-v -vv -j96' '-DLLVM_ENABLE_PROJECTS=llvm;lld' -DLLVM_ENABLE_ASSERTIONS=ON -GNinja ../llvm
ninja check-llvm
```
Commit: b852fb1ec5fa15f0b913cc4988cbd09239b19904
https://github.com/llvm/llvm-project/commit/b852fb1ec5fa15f0b913cc4988cbd09239b19904
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M lldb/include/lldb/Core/IOHandler.h
R lldb/include/lldb/Core/ValueObject.h
R lldb/include/lldb/Core/ValueObjectCast.h
R lldb/include/lldb/Core/ValueObjectChild.h
R lldb/include/lldb/Core/ValueObjectConstResult.h
R lldb/include/lldb/Core/ValueObjectConstResultCast.h
R lldb/include/lldb/Core/ValueObjectConstResultChild.h
R lldb/include/lldb/Core/ValueObjectConstResultImpl.h
R lldb/include/lldb/Core/ValueObjectDynamicValue.h
R lldb/include/lldb/Core/ValueObjectList.h
R lldb/include/lldb/Core/ValueObjectMemory.h
R lldb/include/lldb/Core/ValueObjectRegister.h
R lldb/include/lldb/Core/ValueObjectSyntheticFilter.h
R lldb/include/lldb/Core/ValueObjectUpdater.h
R lldb/include/lldb/Core/ValueObjectVTable.h
R lldb/include/lldb/Core/ValueObjectVariable.h
M lldb/include/lldb/DataFormatters/FormattersContainer.h
M lldb/include/lldb/DataFormatters/TypeFormat.h
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/include/lldb/Expression/ExpressionVariable.h
M lldb/include/lldb/Interpreter/OptionGroupValueObjectDisplay.h
M lldb/include/lldb/Target/LanguageRuntime.h
M lldb/include/lldb/Target/StackFrame.h
M lldb/include/lldb/Target/StackFrameRecognizer.h
A lldb/include/lldb/ValueObject/ValueObject.h
A lldb/include/lldb/ValueObject/ValueObjectCast.h
A lldb/include/lldb/ValueObject/ValueObjectChild.h
A lldb/include/lldb/ValueObject/ValueObjectConstResult.h
A lldb/include/lldb/ValueObject/ValueObjectConstResultCast.h
A lldb/include/lldb/ValueObject/ValueObjectConstResultChild.h
A lldb/include/lldb/ValueObject/ValueObjectConstResultImpl.h
A lldb/include/lldb/ValueObject/ValueObjectDynamicValue.h
A lldb/include/lldb/ValueObject/ValueObjectList.h
A lldb/include/lldb/ValueObject/ValueObjectMemory.h
A lldb/include/lldb/ValueObject/ValueObjectRegister.h
A lldb/include/lldb/ValueObject/ValueObjectSyntheticFilter.h
A lldb/include/lldb/ValueObject/ValueObjectUpdater.h
A lldb/include/lldb/ValueObject/ValueObjectVTable.h
A lldb/include/lldb/ValueObject/ValueObjectVariable.h
M lldb/source/API/CMakeLists.txt
M lldb/source/API/SBBlock.cpp
M lldb/source/API/SBFrame.cpp
M lldb/source/API/SBModule.cpp
M lldb/source/API/SBTarget.cpp
M lldb/source/API/SBThread.cpp
M lldb/source/API/SBType.cpp
M lldb/source/API/SBValue.cpp
M lldb/source/API/SBValueList.cpp
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Breakpoint/CMakeLists.txt
M lldb/source/Breakpoint/Watchpoint.cpp
M lldb/source/CMakeLists.txt
M lldb/source/Commands/CMakeLists.txt
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/DumpRegisterValue.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/IOHandlerCursesGUI.cpp
R lldb/source/Core/ValueObject.cpp
R lldb/source/Core/ValueObjectCast.cpp
R lldb/source/Core/ValueObjectChild.cpp
R lldb/source/Core/ValueObjectConstResult.cpp
R lldb/source/Core/ValueObjectConstResultCast.cpp
R lldb/source/Core/ValueObjectConstResultChild.cpp
R lldb/source/Core/ValueObjectConstResultImpl.cpp
R lldb/source/Core/ValueObjectDynamicValue.cpp
R lldb/source/Core/ValueObjectList.cpp
R lldb/source/Core/ValueObjectMemory.cpp
R lldb/source/Core/ValueObjectRegister.cpp
R lldb/source/Core/ValueObjectSyntheticFilter.cpp
R lldb/source/Core/ValueObjectUpdater.cpp
R lldb/source/Core/ValueObjectVTable.cpp
R lldb/source/Core/ValueObjectVariable.cpp
M lldb/source/DataFormatters/CMakeLists.txt
M lldb/source/DataFormatters/CXXFunctionPointer.cpp
M lldb/source/DataFormatters/DumpValueObjectOptions.cpp
M lldb/source/DataFormatters/FormatManager.cpp
M lldb/source/DataFormatters/StringPrinter.cpp
M lldb/source/DataFormatters/TypeSummary.cpp
M lldb/source/DataFormatters/ValueObjectPrinter.cpp
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Expression/CMakeLists.txt
M lldb/source/Expression/FunctionCaller.cpp
M lldb/source/Expression/IRInterpreter.cpp
M lldb/source/Expression/LLVMUserExpression.cpp
M lldb/source/Expression/Materializer.cpp
M lldb/source/Expression/UserExpression.cpp
M lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
M lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
M lldb/source/Plugins/ABI/AArch64/CMakeLists.txt
M lldb/source/Plugins/ABI/ARC/ABISysV_arc.cpp
M lldb/source/Plugins/ABI/ARC/CMakeLists.txt
M lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
M lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp
M lldb/source/Plugins/ABI/ARM/CMakeLists.txt
M lldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.cpp
M lldb/source/Plugins/ABI/Hexagon/CMakeLists.txt
M lldb/source/Plugins/ABI/MSP430/ABISysV_msp430.cpp
M lldb/source/Plugins/ABI/MSP430/CMakeLists.txt
M lldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp
M lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp
M lldb/source/Plugins/ABI/Mips/CMakeLists.txt
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
M lldb/source/Plugins/ABI/PowerPC/CMakeLists.txt
M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp
M lldb/source/Plugins/ABI/RISCV/CMakeLists.txt
M lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
M lldb/source/Plugins/ABI/SystemZ/CMakeLists.txt
M lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.cpp
M lldb/source/Plugins/ABI/X86/ABISysV_i386.cpp
M lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
M lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp
M lldb/source/Plugins/ABI/X86/CMakeLists.txt
M lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionUtil.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
M lldb/source/Plugins/InstrumentationRuntime/TSan/CMakeLists.txt
M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
M lldb/source/Plugins/InstrumentationRuntime/UBSan/CMakeLists.txt
M lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp
M lldb/source/Plugins/InstrumentationRuntime/Utility/CMakeLists.txt
M lldb/source/Plugins/InstrumentationRuntime/Utility/ReportRetriever.cpp
M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
M lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp
M lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.h
M lldb/source/Plugins/Language/CPlusPlus/Generic.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxProxyArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxRangesRefView.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.h
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
M lldb/source/Plugins/Language/ObjC/CF.cpp
M lldb/source/Plugins/Language/ObjC/CF.h
M lldb/source/Plugins/Language/ObjC/CMakeLists.txt
M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
M lldb/source/Plugins/Language/ObjC/Cocoa.h
M lldb/source/Plugins/Language/ObjC/CoreMedia.h
M lldb/source/Plugins/Language/ObjC/NSArray.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.h
M lldb/source/Plugins/Language/ObjC/NSError.cpp
M lldb/source/Plugins/Language/ObjC/NSException.cpp
M lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.h
M lldb/source/Plugins/Language/ObjC/NSString.cpp
M lldb/source/Plugins/Language/ObjC/NSString.h
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/CMakeLists.txt
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/CMakeLists.txt
M lldb/source/Plugins/LanguageRuntime/ObjC/GNUstepObjCRuntime/CMakeLists.txt
M lldb/source/Plugins/LanguageRuntime/ObjC/GNUstepObjCRuntime/GNUstepObjCRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp
M lldb/source/Plugins/MemoryHistory/asan/CMakeLists.txt
M lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp
M lldb/source/Plugins/OperatingSystem/Python/CMakeLists.txt
M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
M lldb/source/Plugins/Platform/Android/CMakeLists.txt
M lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp
M lldb/source/Plugins/Platform/POSIX/CMakeLists.txt
M lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
M lldb/source/Plugins/Process/Utility/CMakeLists.txt
M lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/SymbolFile/DWARF/CMakeLists.txt
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.cpp
M lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.cpp
M lldb/source/Plugins/SystemRuntime/MacOSX/CMakeLists.txt
M lldb/source/Symbol/CMakeLists.txt
M lldb/source/Symbol/Variable.cpp
M lldb/source/Target/ABI.cpp
M lldb/source/Target/CMakeLists.txt
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadPlanStepOut.cpp
A lldb/source/ValueObject/CMakeLists.txt
A lldb/source/ValueObject/ValueObject.cpp
A lldb/source/ValueObject/ValueObjectCast.cpp
A lldb/source/ValueObject/ValueObjectChild.cpp
A lldb/source/ValueObject/ValueObjectConstResult.cpp
A lldb/source/ValueObject/ValueObjectConstResultCast.cpp
A lldb/source/ValueObject/ValueObjectConstResultChild.cpp
A lldb/source/ValueObject/ValueObjectConstResultImpl.cpp
A lldb/source/ValueObject/ValueObjectDynamicValue.cpp
A lldb/source/ValueObject/ValueObjectList.cpp
A lldb/source/ValueObject/ValueObjectMemory.cpp
A lldb/source/ValueObject/ValueObjectRegister.cpp
A lldb/source/ValueObject/ValueObjectSyntheticFilter.cpp
A lldb/source/ValueObject/ValueObjectUpdater.cpp
A lldb/source/ValueObject/ValueObjectVTable.cpp
A lldb/source/ValueObject/ValueObjectVariable.cpp
M lldb/unittests/ValueObject/CMakeLists.txt
M lldb/unittests/ValueObject/DumpValueObjectOptionsTests.cpp
Log Message:
-----------
[lldb] Move ValueObject into its own library (NFC) (#113393)
ValueObject is part of lldbCore for historical reasons, but conceptually
it deserves to be its own library. This does introduce a (link-time) circular
dependency between lldbCore and lldbValueObject, which is unfortunate
but probably unavoidable because so many things in LLDB rely on
ValueObject. We already have cycles and these libraries are never built
as dylibs so while this doesn't improve the situation, it also doesn't
make things worse.
The header includes were updated with the following command:
```
find . -type f -exec sed -i.bak "s%include \"lldb/Core/ValueObject%include \"lldb/ValueObject/ValueObject%" '{}' \;
```
Commit: cf8d24531e0464d32031e5490cf2772f47645674
https://github.com/llvm/llvm-project/commit/cf8d24531e0464d32031e5490cf2772f47645674
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll
M llvm/test/Instrumentation/MemorySanitizer/pr32842.ll
Log Message:
-----------
[msan] Reduces overhead of #113200, by 10% (#113201)
CTMark #113200 size overhead was 5.3%, now it's 4.7%.
The patch affects only signed integers.
https://alive2.llvm.org/ce/z/Lv5hyi
* The patch replaces code which extracted sign bit,
maximized/minimized it, then packed it back, with
simple sign bit flip. The another way to think about
transformation is as a subtraction of MIN_SINT from
A/B. Then we map MIN_SINT to 0, 0 to -MIN_SINT, and
MAX_SINT to MAX_UINT.
* Then to maximize/minimize A/B we don't need
to extract sign bit, we can apply shadow the
same way as to other bits.
* After sign bit flip, we had to switch to unsigned
version of the predicates.
* After change above getHighestPossibleValue/getLowestPossibleValue
became very similar, so we can combine into a single function.
* Because the function does sign bit flip and
requires unsigned predicates used for returned values,
there is no point in keeping it as a member of class,
to hide, we switch to function local lambda.
Commit: ce858e2127beb7e8f5780996d5a87994fbad39d4
https://github.com/llvm/llvm-project/commit/ce858e2127beb7e8f5780996d5a87994fbad39d4
Author: tangaac <tangyan01 at loongson.cn>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[LoongArch] fix description of clang option -m[no-]lam-bh (#113632)
Fix the description of option `-mlam-bh` and `-mno-lam-bh`
Previous decription causes a `build docs-clang-html` error in #112727
Commit: a9d51f0e18ec840bdb361daca48b4ef00e2ba8ac
https://github.com/llvm/llvm-project/commit/a9d51f0e18ec840bdb361daca48b4ef00e2ba8ac
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h
M llvm/lib/MC/MCParser/COFFAsmParser.cpp
M llvm/lib/MC/MCParser/DarwinAsmParser.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/MC/MCParser/MCAsmParserExtension.cpp
Log Message:
-----------
[MCParser] De-capitalize ParseDirectiveCGProfile. NFC
Commit: 2e6d451d1565814415e2692ef8e5c3942d4c11a2
https://github.com/llvm/llvm-project/commit/2e6d451d1565814415e2692ef8e5c3942d4c11a2
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M libc/newhdrgen/yaml_to_classes.py
Log Message:
-----------
[libc] Use idiomatic main() function in newhdrgen/yaml_to_classes.py (#113419)
This changes the entry-point Python script of newhdrgen to use
the idiomatic main() function of no arguments that does the whole
job of the script. This replaces the unusual pattern of having
an idiosyncratic main(...) signature and having the script's
direct code do argument parsing outside the main function. The
idiomatic pattern makes it possible to usefully wrap the script
in Python and still use its full command-line functionality.
Commit: 075581f34035c01659cc883d0d69336c279ef0d5
https://github.com/llvm/llvm-project/commit/075581f34035c01659cc883d0d69336c279ef0d5
Author: Anutosh Bhat <87052487+anutosh491 at users.noreply.github.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/lib/Interpreter/CMakeLists.txt
Log Message:
-----------
[clang-repl] Fix undefined lld::wasm::link symbol while building clangInterpreter for wasm (#113446)
While building llvm (clang, lld) for wasm using emscripten (recipe
hosted on emscripten-forge
https://github.com/emscripten-forge/recipes/tree/main/recipes/recipes_emscripten/llvm)
I ended up with this error
```
│ │ wasm-ld: error: ../../../../lib/libclangInterpreter.a(Wasm.cpp.o): undefined symbol: lld::wasm::link(llvm::ArrayRef<char const*>, llvm::raw_ostream&, llvm:
│ │ :raw_ostream&, bool, bool)
```
This is due to the link function here
https://github.com/llvm/llvm-project/blob/a4819bd46d8baebc3aaa8b38f78065de33593199/clang/lib/Interpreter/Wasm.cpp#L25-L30
This was added through this PR (https://github.com/llvm/llvm-project/pull/86402) as an attempt to support running clang-repl and executing C++ code interactively inside a Javascript engine using WebAssembly when built with Emscripten.
The definition for link is present in lldwasm and when building for the emscripten platform we should be linking against it.
Commit: d0c81509ffe7297903371111e7ee1f6f910c3dac
https://github.com/llvm/llvm-project/commit/d0c81509ffe7297903371111e7ee1f6f910c3dac
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/MC/MCParser/COFFMasmParser.cpp
Log Message:
-----------
[MCParser] De-capitalize COFFMasmParser functions. NFC
Commit: 240e4780680f0d6a760be1b9ea432f410424b3a5
https://github.com/llvm/llvm-project/commit/240e4780680f0d6a760be1b9ea432f410424b3a5
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M libcxx/cmake/config-ix.cmake
M libcxxabi/cmake/config-ix.cmake
M libcxxabi/src/CMakeLists.txt
M libunwind/cmake/config-ix.cmake
M libunwind/src/CMakeLists.txt
M runtimes/CMakeLists.txt
Log Message:
-----------
Revert "[runtimes] Probe for -nostdlib++ and -nostdinc++ with the C compiler" (#113653)
Reverts llvm/llvm-project#108357
Breaks https://lab.llvm.org/buildbot/#/builders/164/builds/3908 and
similar bots
Commit: 3a4ccebb5c5142c15fb6d72aedadb27205ef33d5
https://github.com/llvm/llvm-project/commit/3a4ccebb5c5142c15fb6d72aedadb27205ef33d5
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
Log Message:
-----------
[Driver] Use != instead of compare to compare strings (NFC) (#113651)
Commit: 96bb375f5cedcfcc5dcd96296ba54ff933b39d4d
https://github.com/llvm/llvm-project/commit/96bb375f5cedcfcc5dcd96296ba54ff933b39d4d
Author: Yusuke MINATO <minato.yusuke at fujitsu.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/test/Driver/frontend-forwarding.f90
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/loop01.fir
M flang/test/Fir/loop02.fir
M flang/test/Lower/HLFIR/goto-do-body.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/array-character.f90
M flang/test/Lower/array-derived-assignments.f90
M flang/test/Lower/array-derived.f90
M flang/test/Lower/array-elemental-calls-char-byval.f90
M flang/test/Lower/array-elemental-calls-char.f90
M flang/test/Lower/array-expression-assumed-size.f90
M flang/test/Lower/array-expression-slice-1.f90
M flang/test/Lower/array-substring.f90
M flang/test/Lower/array-temp.f90
M flang/test/Lower/components.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/do_loop_unstructured.f90
M flang/test/Lower/goto-do-body.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/infinite_loop.f90
M flang/test/Lower/io-implied-do-fixes.f90
M flang/test/Lower/loops2.f90
M flang/test/Lower/mixed_loops.f90
M flang/test/Lower/vector-subscript-io.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang] Integrate the option -flang-experimental-integer-overflow into -fno-wrapv (#110063)
nsw is now added to do-variable increment when -fno-wrapv is enabled as
GFortran seems to do.
That means the option introduced by #91579 isn't necessary any more.
Note that the feature of -flang-experimental-integer-overflow is enabled
by default.
Commit: 21b3769d1dfed38ef8d8fa35ee98973926f7de62
https://github.com/llvm/llvm-project/commit/21b3769d1dfed38ef8d8fa35ee98973926f7de62
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/Scalarizer.cpp
A llvm/test/Transforms/Scalarizer/uadd_overflow.ll
Log Message:
-----------
[Scalarizer] Fix to only scalarize if intrinsic was marked as isTriviallyScalarizable (#113625)
fixes #113624
Commit: 5827334ed2c68a660ac73ae251f974333310d30b
https://github.com/llvm/llvm-project/commit/5827334ed2c68a660ac73ae251f974333310d30b
Author: Nico Weber <thakis at chromium.org>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/API/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Breakpoint/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Commands/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Core/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/DataFormatters/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Expression/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/SymbolFile/DWARF/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Symbol/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn
A llvm/utils/gn/secondary/lldb/source/ValueObject/BUILD.gn
Log Message:
-----------
[gn] port 105d54726b1d7 (lldbValueObject)
Commit: 93ee9d1c549873ef7912959330c89ef2d36784fa
https://github.com/llvm/llvm-project/commit/93ee9d1c549873ef7912959330c89ef2d36784fa
Author: Nico Weber <thakis at chromium.org>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/ABI/X86/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/ExpressionParser/Clang/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/ObjC/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Platform/POSIX/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn
Log Message:
-----------
[gn] port 105d54726b1d7 more
Also, it's really b852fb1ec5f, not 105d54726b1d7.
Commit: 18f4b7e4a862c11816e62cc72fb2a4ca8fac1987
https://github.com/llvm/llvm-project/commit/18f4b7e4a862c11816e62cc72fb2a4ca8fac1987
Author: Nico Weber <thakis at chromium.org>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Log Message:
-----------
[gn] port b1be21394e9c
Commit: b89f09f5cc072b927917844a5781be3600acb72a
https://github.com/llvm/llvm-project/commit/b89f09f5cc072b927917844a5781be3600acb72a
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaAvailability.cpp
M clang/test/SemaCXX/deprecated.cpp
Log Message:
-----------
[Clang] Enhance handling of [[deprecated]] attribute diagnostics for local variables (#113575)
Fixes #90073
Commit: ed6ddffb583beb450c4b0e1747ccd14f7e063105
https://github.com/llvm/llvm-project/commit/ed6ddffb583beb450c4b0e1747ccd14f7e063105
Author: dong-miao <601183878 at qq.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/test/MC/RISCV/machine-csr-names.s
A llvm/test/MC/RISCV/smrnmi-invalid.s
A llvm/test/MC/RISCV/smrnmi-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Smrnmi extension (#111668)
This commit has completed the Extension for Resumable Non Maskable
Interrupts, adding four CRSs and one Trap-Return instruction.
Specification link:["Smrnmi"
Extension](https://github.com/riscv/riscv-isa-manual/blob/main/src/rnmi.adoc)
---------
Co-authored-by: Sam Elliott <sam at lenary.co.uk>
Commit: e738a5d8e33911381dbd0e1bc5a0109e9ebb62f2
https://github.com/llvm/llvm-project/commit/e738a5d8e33911381dbd0e1bc5a0109e9ebb62f2
Author: Sebastian Kreutzer <SebastianKreutzer at gmx.net>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/XRayArgs.h
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/XRayArgs.cpp
A clang/test/Driver/XRay/xray-shared.cpp
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/include/xray/xray_interface.h
M compiler-rt/lib/xray/CMakeLists.txt
M compiler-rt/lib/xray/xray_AArch64.cpp
M compiler-rt/lib/xray/xray_arm.cpp
A compiler-rt/lib/xray/xray_dso_init.cpp
M compiler-rt/lib/xray/xray_hexagon.cpp
M compiler-rt/lib/xray/xray_init.cpp
M compiler-rt/lib/xray/xray_interface.cpp
M compiler-rt/lib/xray/xray_interface_internal.h
M compiler-rt/lib/xray/xray_loongarch64.cpp
M compiler-rt/lib/xray/xray_mips.cpp
M compiler-rt/lib/xray/xray_mips64.cpp
M compiler-rt/lib/xray/xray_powerpc64.cpp
M compiler-rt/lib/xray/xray_trampoline_x86_64.S
M compiler-rt/lib/xray/xray_x86_64.cpp
A compiler-rt/test/xray/TestCases/Posix/basic-mode-dso.cpp
A compiler-rt/test/xray/TestCases/Posix/clang-xray-shared.cpp
A compiler-rt/test/xray/TestCases/Posix/dlopen.cpp
A compiler-rt/test/xray/TestCases/Posix/dso-dep-chains.cpp
A compiler-rt/test/xray/TestCases/Posix/patch-premain-dso.cpp
A compiler-rt/test/xray/TestCases/Posix/patching-unpatching-dso.cpp
Log Message:
-----------
Reapply " [XRay] Add support for instrumentation of DSOs on x86_64 (#90959)" (#113548)
This fixes remaining issues in my previous PR #90959.
Changes:
- Removed dependency on LLVM header in `xray_interface.cpp`
- Fixed XRay patching for some targets due to missing changes in
architecture-specific patching functions
- Addressed some remaining compiler warnings that I missed in the
previous patch
- Formatting
I have tested these changes on `x86_64` (natively), as well as
`ppc64le`, `aarch64` and `arm32` (cross-compiled and emulated using
qemu).
**Original description:**
This PR introduces shared library (DSO) support for XRay based on a
revised version of the implementation outlined in [this
RFC](https://discourse.llvm.org/t/rfc-upstreaming-dso-instrumentation-support-for-xray/73000).
The feature enables the patching and handling of events from DSOs,
supporting both libraries linked at startup or explicitly loaded, e.g.
via `dlopen`.
This patch adds the following:
- The `-fxray-shared` flag to enable the feature (turned off by default)
- A small runtime library that is linked into every instrumented DSO,
providing position-independent trampolines and code to register with the
main XRay runtime
- Changes to the XRay runtime to support management and patching of
multiple objects
These changes are fully backward compatible, i.e. running without
instrumented DSOs will produce identical traces (in terms of recorded
function IDs) to the previous implementation.
Due to my limited ability to test on other architectures, this feature
is only implemented and tested with x86_64. Extending support to other
architectures is fairly straightforward, requiring only a
position-independent implementation of the architecture-specific
trampoline implementation (see
`compiler-rt/lib/xray/xray_trampoline_x86_64.S` for reference).
This patch does not include any functionality to resolve function IDs
from DSOs for the provided logging/tracing modes. These modes still work
and will record calls from DSOs, but symbol resolution for these
functions in not available. Getting this to work properly requires
recording information about the loaded DSOs and should IMO be discussed
in a separate RFC, as there are mulitple feasible approaches.
---------
Co-authored-by: Sebastian Kreutzer <sebastian.kreutzer at tu-darmstadt.de>
Commit: e3f218096ca31863cc245fdd411f0b6e5cbfb1cb
https://github.com/llvm/llvm-project/commit/e3f218096ca31863cc245fdd411f0b6e5cbfb1cb
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/test/CodeGen/ARM/fp-arg-shuffle.ll
Log Message:
-----------
[ARM] Re-generate a test
Commit: 8e289e4fa60eb59fc12c39b88987d4956c1d38ea
https://github.com/llvm/llvm-project/commit/8e289e4fa60eb59fc12c39b88987d4956c1d38ea
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
[ARM] Fix comment typo
Commit: 246baeb5fe7d9176f3bc143ab8abe9199a8636f4
https://github.com/llvm/llvm-project/commit/246baeb5fe7d9176f3bc143ab8abe9199a8636f4
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
[ARM] Add debug trace for tail-call optimisation
There are lots of reasons a call might not be eligible for tail-call
optimisation, this adds debug trace to help understand the compiler's
decisions here.
Commit: c1eb790cd2f2a3fd48781167b50f091c0d20be8d
https://github.com/llvm/llvm-project/commit/c1eb790cd2f2a3fd48781167b50f091c0d20be8d
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/fp-arg-shuffle.ll
M llvm/test/CodeGen/ARM/fp16-vector-argument.ll
A llvm/test/CodeGen/ARM/musttail.ll
Log Message:
-----------
[ARM] Tail-calls do not require caller and callee arguments to match
The ARM backend was checking that the outgoing values for a tail-call
matched the incoming argument values of the caller. This isn't
necessary, because the caller can change the values in both registers
and the stack before doing the tail-call. The actual limitation is that
the callee can't need more stack space for it's arguments than the
caller does.
This is needed for code using the musttail attribute, as well as
enabling tail calls as an optimisation in more cases.
Commit: 82e64721974b1ed9b112ca98466fa29d21dffc33
https://github.com/llvm/llvm-project/commit/82e64721974b1ed9b112ca98466fa29d21dffc33
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/musttail.ll
Log Message:
-----------
[ARM] Allow functions with sret returns to be tail-called
It is valid to tail-call a function which returns through an sret
argument, as long as we have an incoming sret pointer to pass on.
Commit: 78ec2e2ed5e3dc61339b51f9d614029314a42005
https://github.com/llvm/llvm-project/commit/78ec2e2ed5e3dc61339b51f9d614029314a42005
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/2013-05-13-AAPCS-byval-padding.ll
M llvm/test/CodeGen/ARM/2013-05-13-AAPCS-byval-padding2.ll
M llvm/test/CodeGen/ARM/musttail.ll
Log Message:
-----------
[ARM] Allow tail calls with byval args
Byval arguments which are passed partially in registers get stored into
the local stack frame, but it is valid to tail-call them because the
part which gets spilled is always re-loaded into registers before doing
the tail-call, so it's OK for the spill area to be deallocated.
Commit: a96c14eeb8fcb1a141c0f55ed5d28dd7f1f3e38e
https://github.com/llvm/llvm-project/commit/a96c14eeb8fcb1a141c0f55ed5d28dd7f1f3e38e
Author: Kiran <kiran.sturt at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
A clang/test/CodeGen/musttail-sret.cpp
Log Message:
-----------
[Clang] Always forward sret parameters to musttail calls
If a call using the musttail attribute returns it's value through an
sret argument pointer, we must forward an incoming sret pointer to it,
instead of creating a new alloca. This is always possible because the
musttail attribute requires the caller and callee to have the same
argument and return types.
Commit: 914a3990d1a055f5f1848c6979f621ceff97fa7c
https://github.com/llvm/llvm-project/commit/914a3990d1a055f5f1848c6979f621ceff97fa7c
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/musttail.ll
Log Message:
-----------
[ARM] Avoid clobbering byval arguments when passing to tail-calls
When passing byval arguments to tail-calls, we need to store them into
the stack memory in which this the caller received it's arguments. If
any of the outgoing arguments are forwarded from incoming byval
arguments, then the source of the copy is from the same stack memory.
This can result in the copy corrupting a value which is still to be
read.
The fix is to first make a copy of the outgoing byval arguments in local
stack space, and then copy them to their final location. This fixes the
correctness issue, but results in extra copying, which could be
optimised.
Commit: 376d7b27fa3de4f72c2a3cec4f941c1ca3f1d7f2
https://github.com/llvm/llvm-project/commit/376d7b27fa3de4f72c2a3cec4f941c1ca3f1d7f2
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/test/CodeGen/ARM/musttail.ll
Log Message:
-----------
[ARM] Optimise byval arguments in tail-calls
We don't need to copy byval arguments to tail calls via a temporary, if
we can prove that we are not copying from the outgoing argument area.
This patch does this when the source if the argument is one of:
* Memory in the local stack frame, which can't be used for tail-call
arguments.
* A global variable.
We can also avoid doing the copy completely if the source and
destination are the same memory location, which is the case when the
caller and callee have the same signature, and pass some arguments
through unmodified.
Commit: 8be860ddc4d5c21829085f5eed9188d59cbd3cc7
https://github.com/llvm/llvm-project/commit/8be860ddc4d5c21829085f5eed9188d59cbd3cc7
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/test/Driver/aarch64-v96a.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
A llvm/test/MC/AArch64/armv9.6a-ras.s
A llvm/test/MC/Disassembler/AArch64/armv9.6a-ras.txt
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Add support for Armv9.6-A FEAT_PoPS architecture extension (#113496)
Add support for the following Armv9.6-A architecture extensions:
* FEAT_PoPS - Point of Physical Storage
as documented here:
https://developer.arm.com/documentation/109697/2024_09/Feature-descriptions/The-Armv9-6-architecture-extension
Co-authored-by: Alfie Richards <alfie.richards at arm.com>
Commit: 2e43a304f10fd801f068d0f9831f01f2c5b0b2e2
https://github.com/llvm/llvm-project/commit/2e43a304f10fd801f068d0f9831f01f2c5b0b2e2
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__chrono/tzdb.h
M libcxx/include/__functional/boyer_moore_searcher.h
M libcxx/include/__fwd/vector.h
M libcxx/include/__random/discrete_distribution.h
M libcxx/include/__random/piecewise_constant_distribution.h
M libcxx/include/__random/piecewise_linear_distribution.h
M libcxx/include/__random/seed_seq.h
A libcxx/include/__vector/comparison.h
A libcxx/include/__vector/container_traits.h
A libcxx/include/__vector/erase.h
A libcxx/include/__vector/pmr.h
A libcxx/include/__vector/swap.h
A libcxx/include/__vector/vector.h
A libcxx/include/__vector/vector_bool.h
A libcxx/include/__vector/vector_bool_formatter.h
M libcxx/include/chrono
M libcxx/include/functional
M libcxx/include/module.modulemap
M libcxx/include/vector
M libcxx/test/libcxx/containers/sequences/vector.bool/abi.compile.pass.cpp
M libcxx/test/libcxx/memory/swap_allocator.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/std/atomics/atomics.ref/assign.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/cons.copy.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/members/value.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/name.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/target.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/name.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtraits/const_time_zone_default_zone.pass.cpp
M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/dereference.single.pass.cpp
Log Message:
-----------
[libc++] Granularize <vector> (#99705)
| | old time | new time |
| ------------------ | -------- | -------- |
| functional - c++23 | 416ms | 225ms |
| random - c++23 | 513ms | 392ms |
| vector - c++17 | 206ms | 100ms |
Commit: b91ce7bc0eda8ec91c7ba724fbe78607843e0e06
https://github.com/llvm/llvm-project/commit/b91ce7bc0eda8ec91c7ba724fbe78607843e0e06
Author: Sayan Saha <sayans at mathworks.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Log Message:
-----------
[Tosa] : Fix integer overflow for computing intmax+1 in tosa.cast to linalg. (#112455)
This PR fixes an issue related to integer overflow when computing
`(intmax+1)` for `i64` during `tosa-to-linalg` pass for `tosa.cast`.
Found this issue while debugging a numerical mismatch for `deeplabv3`
model from `torchvision` represented in `tosa` dialect using the
`TorchToTosa` pipeline in `torch-mlir` repository. `torch.aten.to.dtype`
is converted to `tosa.cast` that casts `f32` to `i64` type. Technically
by the specification, `tosa.cast` doesn't handle casting `f32` to `i64`.
So it's possible to add a verifier to error out for such tosa ops
instead of producing incorrect code. However, I chose to fix the
overflow issue to still be able to represent the `deeplabv3` model with
`tosa` ops in the above-mentioned pipeline. Open to suggestions if
adding the verifier is more appropriate instead.
Commit: 6bb6922de92d8413321f57f74769380c6b6f45ee
https://github.com/llvm/llvm-project/commit/6bb6922de92d8413321f57f74769380c6b6f45ee
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M lld/COFF/Driver.cpp
A lld/test/COFF/arm64ec-altnames.s
M llvm/include/llvm/IR/Mangler.h
Log Message:
-----------
[LLD][COFF] Allow overriding EC alias symbols with alternate names (#113456)
Commit: 86d65ae7949e0322f10e1856c5c33caa34ebfe2f
https://github.com/llvm/llvm-project/commit/86d65ae7949e0322f10e1856c5c33caa34ebfe2f
Author: T-Gruber <100079402+T-Gruber at users.noreply.github.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
Log Message:
-----------
[analyzer] Improve FieldRegion descriptive name (#112313)
The current implementation of MemRegion::getDescriptiveName fails for
FieldRegions whose SuperRegion is an ElementRegion. As outlined below:
```Cpp
struct val_struct { int val; };
extern struct val_struct val_struct_array[3];
void func(){
// FieldRegion with ElementRegion as SuperRegion.
val_struct_array[0].val;
}
```
For this special case, the expression cannot be pretty printed and must
therefore be obtained separately.
Commit: d87964de78ce692fd132ea453c32e4435309a306
https://github.com/llvm/llvm-project/commit/d87964de78ce692fd132ea453c32e4435309a306
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[OpenMP][OMPIRBuilder] Error propagation across callbacks (#112533)
This patch implements an approach to communicate errors between the
OMPIRBuilder and its users. It introduces `llvm::Error` and
`llvm::Expected` objects to replace the values returned by callbacks
passed to `OMPIRBuilder` codegen functions. These functions then check
the result for errors when callbacks are called and forward them back to
the caller, which has the flexibility to recover, exit cleanly or dump a
stack trace.
This prevents a failed callback to leave the IR in an invalid state and
still continue the codegen process, triggering unrelated assertions or
segmentation faults. In the case of MLIR to LLVM IR translation of the
'omp' dialect, this change results in the compiler emitting errors and
exiting early instead of triggering a crash for not-yet-implemented
errors. The behavior in Clang and openmp-opt stays unchanged, since
callbacks will continue always returning 'success'.
Commit: 85af1926f74e88e14c9f58946537e025a74ccf7e
https://github.com/llvm/llvm-project/commit/85af1926f74e88e14c9f58946537e025a74ccf7e
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
A flang/test/Transforms/debug-none-type.fir
Log Message:
-----------
[flang][debug] Support mlir::NoneType. (#113550)
Commit: c2d2b3b80866633b4db65c3841c40c16815267f3
https://github.com/llvm/llvm-project/commit/c2d2b3b80866633b4db65c3841c40c16815267f3
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/test/CodeGen/X86/movrs-avx10.2-512-builtins-error-32.c
M clang/test/CodeGen/X86/movrs-avx10.2-builtins-error-32.c
Log Message:
-----------
[test] Avoid writing to a potentially write-protected dir (#113674)
Commit: 2d26ef09fc87472cd42ea219c8f9267599872958
https://github.com/llvm/llvm-project/commit/2d26ef09fc87472cd42ea219c8f9267599872958
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
Log Message:
-----------
[lldb-dap][test] Set disableASLR to False for tests (#113593)
When running in constrained environments like docker, disabling ASLR
might fail with errors like:
```
AssertionError: False is not true : launch failed (Cannot launch
'/__w/.../lldb-dap/stackTrace/subtleFrames/TestDAP_subtleFrames.test_subtleFrames/a.out':
personality set failed: Operation not permitted)
```
E.g., https://github.com/llvm/llvm-project/pull/110303
Hence we already run `settings set target.disable-aslr false` as part of
the init-commands for the non-DAP tests (see
https://github.com/llvm/llvm-project/pull/88312 and
https://discourse.llvm.org/t/running-lldb-in-a-container/76801).
But we never adjusted it for the DAP tests. As a result we get
conflicting test logs like:
```
{
"arguments": {
"commandEscapePrefix": null,
"disableASLR": true,
....
"initCommands": [
...
"settings set target.disable-aslr false",
```
Disabling ASLR by default in tests isn't useulf (it's only really a
debugging aid for users). So this patch sets `disableASLR=False` by
default.
Commit: 2c0b34852af4dc9964f8bf6db303bd54a32856e7
https://github.com/llvm/llvm-project/commit/2c0b34852af4dc9964f8bf6db303bd54a32856e7
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/riscv-profiles.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/rvv/pr107950.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Mark pointer masking extensions as non-experimental (#113618)
These extensions were ratified very recently.
<https://lf-riscv.atlassian.net/wiki/spaces/HOME/pages/16154732/Ratified+Extensions>
I've ensured we have definitions for all extensions in the document
<https://drive.google.com/file/d/159QffOTbi3EEbdkKndYRZ2c46D25ZLmO/view?usp=drive_link>.
There are no additional CSRs.
Commit: 90cdc03e7f5bda2e31573d48450a8ac8fa856efa
https://github.com/llvm/llvm-project/commit/90cdc03e7f5bda2e31573d48450a8ac8fa856efa
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/include/llvm/IR/Type.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Verifier/scalable-global-vars.ll
Log Message:
-----------
[IR] Fix undiagnosed cases of structs containing scalable vectors (#113455)
Type::isScalableTy and StructType::containsScalableVectorType failed to
detect some cases of structs containing scalable vectors because
containsScalableVectorType did not call back into isScalableTy to check
the element types. Fix this, which requires sharing the same Visited set
in both functions. Also change the external API so that callers are
never required to pass in a Visited set, and normalize the naming to
isScalableTy.
Commit: 403e4a2074910fcec139a8fbb77f3c2d15643916
https://github.com/llvm/llvm-project/commit/403e4a2074910fcec139a8fbb77f3c2d15643916
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/MC/AArch64/SVE2/flogb-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/fcvtzs_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/fcvtzs_z.s
A llvm/test/MC/AArch64/SVE2p2/fcvtzu_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/fcvtzu_z.s
A llvm/test/MC/AArch64/SVE2p2/flogb_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/flogb_z.s
A llvm/test/MC/AArch64/SVE2p2/scvtf_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/scvtf_z.s
A llvm/test/MC/AArch64/SVE2p2/ucvtf_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/ucvtf_z.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for SVE zeroing int-float conversions (#113605)
This patch adds assembly/disassembly for the following predicated SVE2.2
instructions
- SCVTF (zeroing)
- UCVTF (zeroing)
- FCVTZS (zeroing)
- FCVTZU (zeroing)
- FLOGB (zeroing)
- In accordance with:
https://developer.arm.com/documentation/ddi0602/latest/
Commit: 183ddefff60f560466ec3bf271c6008067d746db
https://github.com/llvm/llvm-project/commit/183ddefff60f560466ec3bf271c6008067d746db
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/include/llvm/MC/MCSectionELF.h
Log Message:
-----------
[MC][ELF] Have an assert catching creating group sections without signatures. (#113553)
Commit: 43dda4bbeb59c9b327b9b5b1fe917a7d8a5bf3bc
https://github.com/llvm/llvm-project/commit/43dda4bbeb59c9b327b9b5b1fe917a7d8a5bf3bc
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[clang][doc] Add release note for changes to `-fveclib={ArmPL,SLEEF}` (#113673)
Changed in #112580.
Commit: 6854ad90e39e9d119c990043f573db7157a2b097
https://github.com/llvm/llvm-project/commit/6854ad90e39e9d119c990043f573db7157a2b097
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel][lldb] "Fix" the build after b852fb1ec5fa15f0b913cc4988cbd09239b19904
b852fb1ec5fa15f0b913cc4988cbd09239b19904 split out ValueObject, but it's
still all a big pile of dependency spaghetti so just build it with Core.
Commit: 32baf2917357b4e5a566ff43c6e0156e5ad10cb8
https://github.com/llvm/llvm-project/commit/32baf2917357b4e5a566ff43c6e0156e5ad10cb8
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/NoopLattice.h
Log Message:
-----------
Make NoopLattice.h self-contained
Commit: 49940514e2c26ad82d86abee59ba4c2f6d8ec07d
https://github.com/llvm/llvm-project/commit/49940514e2c26ad82d86abee59ba4c2f6d8ec07d
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/include/clang/Basic/AArch64SVEACLETypes.def
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/CodeGen/CGDebugInfo.cpp
A clang/test/AST/arm-mfp8.cpp
A clang/test/CodeGen/aarch64-debug-types.c
M clang/test/CodeGen/arm-mfp8.c
M clang/test/Modules/no-external-type-id.cppm
A clang/test/Sema/arm-mfp8.c
M clang/test/Sema/arm-mfp8.cpp
M clang/utils/TableGen/NeonEmitter.cpp
Log Message:
-----------
[CLANG][AArch64] Add the modal 8 bit floating-point scalar type (#97277)
ARM ACLE PR#323[1] adds new modal types for 8-bit floating point
intrinsic.
>From the PR#323:
```
ACLE defines the `__mfp8` type, which can be used for the E5M2 and E4M3
8-bit floating-point formats. It is a storage and interchange only type
with no arithmetic operations other than intrinsic calls.
````
The type should be an opaque type and its format in undefined in Clang.
Only defined in the backend by a status/format register, for AArch64 the
FPMR.
This patch is an attempt to the add the mfloat8_t scalar type. It has a
parser and codegen for the new scalar type.
The patch it is lowering to and 8bit unsigned as it has no format. But
maybe we should add another opaque type.
[1] https://github.com/ARM-software/acle/pull/323
Commit: a69d2a18d207947a25838dd01d2116bee384b75b
https://github.com/llvm/llvm-project/commit/a69d2a18d207947a25838dd01d2116bee384b75b
Author: Nico Weber <thakis at chromium.org>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Log Message:
-----------
[gn] try to port b1be21394e9c more
Bots are currently failing check-hwasan with
llvm-lit: .../llvm/utils/lit/lit/llvm/subst.py:133: fatal: Did not find
hwasan_symbolize in /.../out/gn/lib/clang/20/lib/linux
Maybe this fixes that.
See also llvm/utils/gn/secondary/compiler-rt/lib/hwasan/scripts/BUILD.gn.
Commit: 4a6b56960f445d111adc9aef799acad8c6ca41f0
https://github.com/llvm/llvm-project/commit/4a6b56960f445d111adc9aef799acad8c6ca41f0
Author: Nico Weber <thakis at chromium.org>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Log Message:
-----------
[gn] try to port b1be21394e9c even more
Bots are now failing check-hwasan with
llvm-lit: .../llvm/utils/lit/lit/llvm/subst.py:133: fatal: Did not find
hwasan_symbolize in .../out/gn/stage2_unix/bin
This time it's the right fix for sure!
Commit: 83e7e6a0ff9363da89d8917937407f9d37caec83
https://github.com/llvm/llvm-project/commit/83e7e6a0ff9363da89d8917937407f9d37caec83
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 2e43a304f10f
Commit: a3dd6000a732d0b9a7019abd0dba5613786b9ff4
https://github.com/llvm/llvm-project/commit/a3dd6000a732d0b9a7019abd0dba5613786b9ff4
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port c4248fa3edd3
Commit: b3703fa50485cf90b04105e6a223ccdd1e29c9af
https://github.com/llvm/llvm-project/commit/b3703fa50485cf90b04105e6a223ccdd1e29c9af
Author: Caroline Concatto <caroline.concatto at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/test/CodeGen/aarch64-debug-types.c
Log Message:
-----------
[AArch64]Update test aarch64-debug-types.c
This patch fix the failing tests by adding
REQUIRES: aarch64-registered-target
This tests was failing in non aarch64 cpu.
The test was introduced by:
[CLANG][AArch64] Add the modal 8 bit floating-point scalar type (#97277)
Commit: 9043bdbce4ab1c6f07e72ddfedf7165bdf2b3e40
https://github.com/llvm/llvm-project/commit/9043bdbce4ab1c6f07e72ddfedf7165bdf2b3e40
Author: Boaz Brickner <brickner at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
M clang/test/SemaCXX/attr-lifetimebound.cpp
Log Message:
-----------
[clang] Output an error when [[lifetimebound]] attribute is applied on a function parameter while the function returns void (#113460)
Fixes: https://github.com/llvm/llvm-project/issues/107556
Commit: 21ecd4a9dff312b26f7a276dc78d1ddb3707e7c1
https://github.com/llvm/llvm-project/commit/21ecd4a9dff312b26f7a276dc78d1ddb3707e7c1
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
Log Message:
-----------
[AArch64][PAC] Factor out the emission of pointer check sequence (NFC) (#110702)
When pointer is authenticated or resigned, it may be required to
explicitly check the authenticated value to prevent introducing signing
or authentication oracles. While the check sequence is expensive in
general, a more efficient sequence can be emitted under specific
assumptions.
This commit factors out the emission of the code sequence to check the
authenticated pointer value in preparation for adding other variants
of checking code, as it is currently done when emitting tail calls.
Commit: 800a47d6cd33ea1c2a888ceb67d566366c61e7ed
https://github.com/llvm/llvm-project/commit/800a47d6cd33ea1c2a888ceb67d566366c61e7ed
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M libcxx/include/__locale_dir/locale_base_api/android.h
M libcxx/include/__locale_dir/locale_base_api/bsd_locale_defaults.h
M libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
M libcxx/include/__locale_dir/locale_base_api/fuchsia.h
M libcxx/include/__locale_dir/locale_base_api/ibm.h
M libcxx/include/__locale_dir/locale_base_api/locale_guard.h
M libcxx/include/__locale_dir/locale_base_api/musl.h
M libcxx/include/__locale_dir/locale_base_api/newlib.h
M libcxx/include/__locale_dir/locale_base_api/openbsd.h
M libcxx/include/__locale_dir/locale_base_api/win32.h
Log Message:
-----------
[libc++][NFC] Fix include guards inside locale_base_api
Commit: 577c7dd7cc4c5a9f62f9654cfa30ee9d55709426
https://github.com/llvm/llvm-project/commit/577c7dd7cc4c5a9f62f9654cfa30ee9d55709426
Author: David Green <david.green at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
A llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
Log Message:
-----------
[AArch64] Add a phase-ordering test for vectorizing predicated selects. NFC
Commit: 9f6c632ecda08bfff76b798c46d5d7cfde57b5e9
https://github.com/llvm/llvm-project/commit/9f6c632ecda08bfff76b798c46d5d7cfde57b5e9
Author: Andrea Faulds <andrea.faulds at amd.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M mlir/test/lib/Pass/CMakeLists.txt
A mlir/test/lib/Pass/TestSPIRVCPURunnerPipeline.cpp
M mlir/test/mlir-spirv-cpu-runner/double.mlir
M mlir/test/mlir-spirv-cpu-runner/simple_add.mlir
M mlir/tools/mlir-opt/mlir-opt.cpp
M mlir/tools/mlir-spirv-cpu-runner/mlir-spirv-cpu-runner.cpp
Log Message:
-----------
[mlir][mlir-spirv-cpu-runner] Move MLIR pass pipeline to mlir-opt (#113594)
Adds a new mlir-opt test-only pass, -test-spirv-cpu-runner-pipeline,
which runs the set of MLIR passes needed for the mlir-spirv-cpu-runner,
and removes them from the runner. The tests are changed to invoke
mlir-opt with this flag before running the runner. The eventual goal is
to move all host/device code generation steps out of the runner, like
with some of the other runners.
Recommit of 17e9752267ed9c81c8da87f3a6d0e01f130b0d04. It was reverted
due to a build failure, but the build failure had in fact already been
fixed in e7302319b52e3d231216d54d10622b0698928a96.
Commit: cbdfb18794026b0d662d7de1fa39c02ad6227abb
https://github.com/llvm/llvm-project/commit/cbdfb18794026b0d662d7de1fa39c02ad6227abb
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVProfiles.td
M llvm/test/CodeGen/RISCV/attributes.ll
Log Message:
-----------
[RISCV] Add Supm extension to RVA23 profiles (#113619)
This is mandatory for both RVA23U64 and RVA23S64 in the ratified version
of the specification
<https://github.com/riscv/riscv-profiles/blob/main/src/rva23-profile.adoc>.
Commit: bbc0e631d2d3facd5952aeafc7400761813acc3a
https://github.com/llvm/llvm-project/commit/bbc0e631d2d3facd5952aeafc7400761813acc3a
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp
Log Message:
-----------
[MLIR] Remove unneeded LLVMDialect.h include in ControlFlowToSCF.cpp (#113560)
This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIRControlFlowToSCF.a only:
```
In file included from llvm/include/llvm/IR/Module.h:22,
from mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h:37,
from mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp:19
llvm/include/llvm/IR/Attributes.h:90:14: fatal error: llvm/IR/Attributes.inc: No such file or directory
```
Commit: e47bf3d08d51306f2e534951a1b77043dc540ceb
https://github.com/llvm/llvm-project/commit/e47bf3d08d51306f2e534951a1b77043dc540ceb
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
Log Message:
-----------
[JIT] Fix crash in unit tests
The unit tests `ReOptimizeLayerTest.BasicReOptimization` and `JITLinkRedirectionManagerTest.BasicRedirectionOperation` are failing for me with the error:
```
Program aborted due to an unhandled Error:
Error value was Success. (Note: Success values must still be checked prior to being destroyed).
```
The error is raised when a value is assigned to `Err`, due to the the missing `ErrorAsOutParameter`.
The fix is to move the error handling out of the constructor.
Commit: aba39c3974c7e43a83a9d647dca9b67caca8572e
https://github.com/llvm/llvm-project/commit/aba39c3974c7e43a83a9d647dca9b67caca8572e
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/SystemZ/vec-elt-insertion.ll
Log Message:
-----------
[System] Precommit of test for #112491 (#113704)
Commit: 81e536ec87a108d012cf9156a2c3fc672fb92155
https://github.com/llvm/llvm-project/commit/81e536ec87a108d012cf9156a2c3fc672fb92155
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/test/AST/arm-mfp8.cpp
Log Message:
-----------
[clang][test] Fix typo in arm-mfp8.cpp
New test added by https://github.com/llvm/llvm-project/pull/97277.
Commit: 5c20891b2bb60f82dd82a8e90b111f8c13a13ad4
https://github.com/llvm/llvm-project/commit/5c20891b2bb60f82dd82a8e90b111f8c13a13ad4
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
Log Message:
-----------
[WebKit Checkers] Allow a guardian CheckedPtr/CheckedRef (#110222)
This PR makes WebKit checkers allow a guardian variable which is
CheckedPtr or CheckedRef as in addition to RefPtr or Ref.
Commit: 1f2b7ae6d78906df4f0c06961e3c9ed227986acf
https://github.com/llvm/llvm-project/commit/1f2b7ae6d78906df4f0c06961e3c9ed227986acf
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
R libcxx/include/__locale_dir/locale_base_api/locale_guard.h
A libcxx/include/__locale_dir/locale_guard.h
M libcxx/include/module.modulemap
M libcxx/src/iostream.cpp
M libcxx/src/support/win32/locale_win32.cpp
Log Message:
-----------
[libc++] Refactor locale_guard (#113694)
Rename __libcpp_locale_guard to just __locale_guard, since there's no
reason for it to have __libcpp_ in its name -- it's just an internal
utility.
Also, define __locale_guard unconditionally of
_LIBCPP_LOCALE__L_EXTENSIONS, since that header is only used on Windows
(where it has a custom definition) or from bsd_locale_fallbacks.h, which
is only included when the L extensions are not provided.
Commit: ba81e1949a4f25216e2b3ea3a1507a52db88562a
https://github.com/llvm/llvm-project/commit/ba81e1949a4f25216e2b3ea3a1507a52db88562a
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/MC/AArch64/SME2p2/bfmop4as-widening-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/bfmop4as-widening.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for BFMOP4{A,S} (widening) instructions (#113203)
The new instructions are described in
https://developer.arm.com/documentation/ddi0602/2024-09/SME-Instructions
Commit: 4161ca2092d3b92034515190f577aa200ec615bf
https://github.com/llvm/llvm-project/commit/4161ca2092d3b92034515190f577aa200ec615bf
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[NFC][AArch64][LLVM] Update ReleaseNotes.md with Armv9.6-A (2024) arch extensions
Commit: 2ec5c69b6872b8b474f3d37b9125d3d57d144d1b
https://github.com/llvm/llvm-project/commit/2ec5c69b6872b8b474f3d37b9125d3d57d144d1b
Author: Florian Mayer <fmayer at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M compiler-rt/lib/hwasan/hwasan_platform_interceptors.h
M compiler-rt/lib/msan/tests/msan_test.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Log Message:
-----------
Revert "[Sanitizers] Intercept timer_create" (#113710)
Reverts llvm/llvm-project#112285
Commit: 9ea6fcd02b172ec12c9d4b9157d4a37765d83421
https://github.com/llvm/llvm-project/commit/9ea6fcd02b172ec12c9d4b9157d4a37765d83421
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 1f2b7ae6d789
Commit: 305a1ceae371b482375545650ba9fd9e4c165157
https://github.com/llvm/llvm-project/commit/305a1ceae371b482375545650ba9fd9e4c165157
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/DataLayout.h
M llvm/lib/IR/DataLayout.cpp
Log Message:
-----------
[DataLayout] Refactor storage of non-integral address spaces
Instead of storing this as a separate array of non-integral pointers,
add it to the PointerSpec class instead. This will allow for future
simplifications such as splitting the non-integral property into
multiple distinct ones: relocatable (i.e. non-stable representation) and
non-integral representation (i.e. pointers with metadata).
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/105734
Commit: 9d88543301f262e584a36ea969237a2cf054328b
https://github.com/llvm/llvm-project/commit/9d88543301f262e584a36ea969237a2cf054328b
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/test/TableGen/lit.local.cfg
M llvm/utils/lit/lit/llvm/config.py
Log Message:
-----------
[AIX] Use internal lit shell for TableGen instead of a global setting (#113627)
This is to address the latest lit regressions
https://lab.llvm.org/buildbot/#/builders/64/builds/1285 caused by using
the internal lit shell. This change will limit using the internal lit
shell to TableGen on AIX so we do not hit these regressions.
Commit: f24c1dd08ea71fa7334a85fd2772c2f728de0c56
https://github.com/llvm/llvm-project/commit/f24c1dd08ea71fa7334a85fd2772c2f728de0c56
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/tools/clang-format/ClangFormat.cpp
Log Message:
-----------
Fix MSVC "signed/unsigned mismatch" warning. NFC.
Commit: e6917e95548f81e7f00b8bca70ce571780e2afc9
https://github.com/llvm/llvm-project/commit/e6917e95548f81e7f00b8bca70ce571780e2afc9
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/test/CXX/drs/cwg18xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang][NFC] Add test for CWG1898 "Use of “equivalent” in overload resolution" (#113439)
[CWG1898](https://cplusplus.github.io/CWG/issues/1898.html) Use of
“equivalent” in overload resolution
====================
[P1787R6](https://wg21.link/p1787r6):
> CWG1898 is resolved by explicitly using the defined term
parameter-type-list.
Except that now it's called non-object-parameter-type-list, which is
defined in [dcl.fct] [p8](https://eel.is/c++draft/dcl.fct#8) and
[p4](https://eel.is/c++draft/dcl.fct#8).
As for the wording, the first sentence
[\_N4140\_.[over.dcl]/1](https://timsong-cpp.github.io/cppwp/n4140/over.dcl#1)
where the word "equivalent" was used:
> Two function declarations of the same name refer to the same function
if they are in the same scope and have equivalent parameter declarations
([over.load]).
was replaced with what is now known as "corresponding overloads",
defined in
[[basic.scope.scope]/4](https://eel.is/c++draft/basic.scope#scope-4).
The definition is present in P1787R6, but it's hard to reference,
because the "corresponding overloads" term was coined later.
Commit: d3c29e8d2f11742e83e2b80df47391598bf2e857
https://github.com/llvm/llvm-project/commit/d3c29e8d2f11742e83e2b80df47391598bf2e857
Author: Yijia Gu <yijiagu at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir][test][bazel] add missing deps for TestPass
Commit: 6e7375031a1a3172d5e369cf2c108da2bcf65c8a
https://github.com/llvm/llvm-project/commit/6e7375031a1a3172d5e369cf2c108da2bcf65c8a
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/test/Driver/linker-wrapper.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[clang-linker-wrapper] Add error handling for missing linker path (#113613)
In clang-linker-wrapper, we do not explicitly check if --linker-path is
provided.
This PR adds a check to capture this.
Thanks
---------
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: ac4bd74190fedfbe025ef757ff308dd184a507f5
https://github.com/llvm/llvm-project/commit/ac4bd74190fedfbe025ef757ff308dd184a507f5
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
A mlir/test/Dialect/Linalg/vectorization-pad-patterns.mlir
M mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
Log Message:
-----------
[mlir] Add apply_patterns.linalg.pad_vectorization TD Op (#112504)
This PR simply wraps `populatePadOpVectorizationPatterns` into a new
Transform Dialect Op: `apply_patterns.linalg.pad_vectorization`.
This change makes it possible to run (and test) the corresponding
patterns _without_:
`transform.structured.vectorize_children_and_apply_patterns`.
Note that the Op above only supports non-masked vectorisation (i.e. when
the inputs are static), so, effectively, only fixed-width vectorisation
(as opposed to scalable vectorisation). As such, this change is required
to construct vectorization pipelines for tensor.pad targeting scalable
vectors.
To test the new Op and the corresponding patterns, I added
"vectorization-pad-patterns.mlir" - most tests have been extracted from
"vectorization-with-patterns.mlir".
Commit: 14db06946839729befd6bd3ced8142547f5fd139
https://github.com/llvm/llvm-project/commit/14db06946839729befd6bd3ced8142547f5fd139
Author: ssijaric-nv <ssijaric at nvidia.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/IR/ConstantFold.cpp
M llvm/test/Transforms/InstCombine/fneg.ll
M llvm/test/Transforms/InstSimplify/fp-nan.ll
Log Message:
-----------
[InstCombine] Fix a cycle when folding fneg(select) with scalable vector types (#112465)
The two folding operations are causing a cycle for the following case
with
scalable vector types:
define <vscale x 2 x double> @test_fneg_select_abs(<vscale x 2 x i1>
%cond, <vscale x 2 x double> %b) {
%1 = select <vscale x 2 x i1> %cond, <vscale x 2 x double>
zeroinitializer, <vscale x 2 x double> %b
%2 = fneg fast <vscale x 2 x double> %1
ret <vscale x 2 x double> %2
}
1) fold fneg: -(Cond ? C : Y) -> Cond ? -C : -Y
2) fold select: (Cond ? -X : -Y) -> -(Cond ? X : Y)
1) results in the following since '<vscale x 2 x double>
zeroinitializer' passes
the check for the immediate constant:
%.neg = fneg fast <vscale x 2 x double> zeroinitializer
%b.neg = fneg fast <vscale x 2 x double> %b
%1 = select fast <vscale x 2 x i1> %cond, <vscale x 2 x double> %.neg,
<vscale x 2 x double> %b.neg
and so we end up going back and forth between 1) and 2).
Attempt to fold scalable vector constants, so that we end up with a
splat instead:
define <vscale x 2 x double> @test_fneg_select_abs(<vscale x 2 x i1>
%cond, <vscale x 2 x double> %b) {
%b.neg = fneg fast <vscale x 2 x double> %b
%1 = select fast <vscale x 2 x i1> %cond, <vscale x 2 x double>
shufflevector (<vscale x 2 x double> insertelement (<vscale x 2 x
double> poison, double -0.000000e+00, i64 0), <vscale x 2 x double>
poison, <vscale x 2 x i32> zeroinitializer), <vscale x 2 x double>
%b.neg
ret <vscale x 2 x double> %1
}
Commit: 843c2fbe7f983c2a2059f753e4494f06fb645a9e
https://github.com/llvm/llvm-project/commit/843c2fbe7f983c2a2059f753e4494f06fb645a9e
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M flang/include/flang/Semantics/openmp-directive-sets.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Lower/OpenMP/Todo/scope.f90
A flang/test/Parser/OpenMP/scope.f90
M flang/test/Semantics/OpenMP/invalid-branch.f90
M flang/test/Semantics/OpenMP/nested01.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
Add parser+semantics support for scope construct (#113700)
Test parsing, semantics and a couple of basic semantic checks for
block/worksharing constructs.
Add TODO message in lowering.
Commit: 144ddca9ed6a439ad8a421c3ff2ea763532341ba
https://github.com/llvm/llvm-project/commit/144ddca9ed6a439ad8a421c3ff2ea763532341ba
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/ThinLTO/X86/memprof-icp.ll
Log Message:
-----------
[MemProf] Avoid duplicate edges between nodes (#113337)
The recent change to add support for cloning indirect calls
inadvertantly caused duplicate edges to be created between the same
caller/callee pair. This is due to the new moveCalleeEdgeToNewCaller
not properly guarding the addition of a new edge (ironically I was
testing for that in an assertion, but failed to handle that case
specially otherwise). Now simply move the context ids over to any
existing edge.
This issue in turn led to some assumptions in cloning being violated,
resulting in a later crash.
Add a test for this case to checkNode.
Commit: f4db221258cb44a8f9804ce852c0403328de39b2
https://github.com/llvm/llvm-project/commit/f4db221258cb44a8f9804ce852c0403328de39b2
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M libcxx/test/std/atomics/atomics.lockfree/is_always_lock_free.pass.cpp
Log Message:
-----------
[libc++][test] Use `ADDITIONAL_COMPILE_FLAGS(gcc-style-warnings)` for `-Wno-psabi` (#113608)
MSVC doesn't understand `-Wno-psabi`, which was introduced here by
@ldionne in #106077.
Using `ADDITIONAL_COMPILE_FLAGS(gcc-style-warnings)` (implemented by
#75317) avoids passing this to MSVC.
Commit: a0c318938a528cfbef509a2516b36dd2411a52b6
https://github.com/llvm/llvm-project/commit/a0c318938a528cfbef509a2516b36dd2411a52b6
Author: Gaëtan Bossu <41161573+gbossu at users.noreply.github.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/test/CodeGen/AArch64/mlicm-stack-write-check.mir
M llvm/test/CodeGen/AMDGPU/licm-regpressure.mir
M llvm/test/CodeGen/AMDGPU/licm-valu.mir
M llvm/test/CodeGen/X86/unfoldMemoryOperand.mir
M llvm/test/DebugInfo/MIR/X86/mlicm-hoist-pre-regalloc.mir
Log Message:
-----------
[CodeGen][NFC] Properly split MachineLICM and EarlyMachineLICM (#113573)
Both are based on MachineLICMBase, and the functionality there is
"switched" based on a PreRegAlloc flag. This commit is simply about
trusting the original value of that flag, defined by the `MachineLICM`
and `EarlyMachineLICM` classes.
The `PreRegAlloc` flag used to be overwritten it based on MRI.isSSA(),
which is un-reliable due to how it is inferred by the MIRParser. I see
that we can now define isSSA in MIR (thanks @gargaroff ), meaning the
fix isn’t really needed anymore, but redefining that flag still feels
wrong.
Note that I'm looking into upstreaming more changes to MachineLICM, see
[the discourse
thread](https://discourse.llvm.org/t/extending-post-regalloc-machinelicm/82725).
Commit: eccdb2489483ca58d2cb35bc38967a8e33117575
https://github.com/llvm/llvm-project/commit/eccdb2489483ca58d2cb35bc38967a8e33117575
Author: Ye Luo <yeluo at anl.gov>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M openmp/runtime/src/CMakeLists.txt
Log Message:
-----------
[OpenMP] Create versioned libgomp softlinks (#112973)
Add libgomp.1.dylib for MacOS and libgomp.so.1 for Linux
Linkers on Mac and Linux pick up versioned libgomp dynamic library
files. The existing softlinks (libgomp.dylib for MacOS and libgomp.so
for Linux) are insufficient. This helps alleviate the issue of mixing
libgomp and libomp at runtime.
Commit: 88cc7ac0cc43a739c25f6988c1bfe3949ca4da62
https://github.com/llvm/llvm-project/commit/88cc7ac0cc43a739c25f6988c1bfe3949ca4da62
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M libcxx/include/__support/xlocale/__posix_l_fallback.h
Log Message:
-----------
[libc++][NFC] Remove unused functions from posix_l_fallbacks (#113709)
Commit: 4ac0e7e400fe2a66d1fd5d5d1fa1c899dfb16716
https://github.com/llvm/llvm-project/commit/4ac0e7e400fe2a66d1fd5d5d1fa1c899dfb16716
Author: Gang Chen <gangc at amd.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/include/clang/Basic/AMDGPUTypes.def
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/test/AST/ast-dump-amdgpu-types.c
A clang/test/CodeGen/amdgpu-barrier-type-debug-info.c
A clang/test/CodeGenCXX/amdgpu-barrier-typeinfo.cpp
A clang/test/CodeGenHIP/amdgpu-barrier-type.hip
A clang/test/SemaCXX/amdgpu-barrier.cpp
A clang/test/SemaHIP/amdgpu-barrier.hip
A clang/test/SemaOpenCL/amdgpu-barrier.cl
A clang/test/SemaOpenMP/amdgpu-barrier.cpp
M llvm/lib/IR/Type.cpp
Log Message:
-----------
[AMDGPU] Add a type for the named barrier (#113614)
Commit: 61946687bc68ccba763571cb420049b9a3749dfe
https://github.com/llvm/llvm-project/commit/61946687bc68ccba763571cb420049b9a3749dfe
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang-tools-extra/modularize/CoverageChecker.cpp
M clang-tools-extra/modularize/ModularizeUtilities.cpp
M clang/include/clang/Basic/Module.h
M clang/lib/Basic/Module.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang][modules] Shrink the size of `Module::Headers` (#113395)
This patch shrinks the size of the `Module` class from 2112B to 1624B. I
wasn't able to get a good data on the actual impact on memory usage, but
given my `clang-scan-deps` workload at hand (with tens of thousands of
instances), I think there should be some win here. This also speeds up
my benchmark by under 0.1%.
Commit: 9648271a3c5adf875680833ac74eb4bafb48678d
https://github.com/llvm/llvm-project/commit/9648271a3c5adf875680833ac74eb4bafb48678d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Pass flag indicating epilogue is vectorized to executePlan (NFC)
This clarifies the flag, which is now only passed if the epilogue loop
is being vectorized.
Commit: 8c4bc1e75de27adfbaead34b895b0efbaf17bd02
https://github.com/llvm/llvm-project/commit/8c4bc1e75de27adfbaead34b895b0efbaf17bd02
Author: Matthias Springer <me at m-sp.org>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.h
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/include/mlir/Transforms/OneToNTypeConversion.h
M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp
M mlir/test/lib/Conversion/OneToNTypeConversion/TestOneToNTypeConversionPass.cpp
Log Message:
-----------
[mlir][Transforms] Merge 1:1 and 1:N type converters (#113032)
The 1:N type converter derived from the 1:1 type converter and extends
it with 1:N target materializations. This commit merges the two type
converters and stores 1:N target materializations in the 1:1 type
converter. This is in preparation of merging the 1:1 and 1:N dialect
conversion infrastructures.
1:1 target materializations (producing a single `Value`) will remain
valid. An additional API is added to the type converter to register 1:N
target materializations (producing a `SmallVector<Value>`). Internally,
all target materializations are stored as 1:N materializations.
The 1:N type converter is removed.
Note for LLVM integration: If you are using the `OneToNTypeConverter`,
simply switch all occurrences to `TypeConverter`.
---------
Co-authored-by: Markus Böck <markus.boeck02 at gmail.com>
Commit: e724226da753f10fd36fbb0ea392f04ab0fdbdab
https://github.com/llvm/llvm-project/commit/e724226da753f10fd36fbb0ea392f04ab0fdbdab
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
Log Message:
-----------
[VPlan] Return cost of 0 for VPWidenCastRecipe without underlying value.
In some cases, VPWidenCastRecipes are created but not considered in the
legacy cost model, including truncates/extends when evaluating a reduction
in a smaller type. Return 0 for such casts for now, to avoid divergences
between VPlan and legacy cost models.
Fixes https://github.com/llvm/llvm-project/issues/113526.
Commit: 75252e29ea6a0959f3c1670e641a03fc18fc65fa
https://github.com/llvm/llvm-project/commit/75252e29ea6a0959f3c1670e641a03fc18fc65fa
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/include/clang/Serialization/ASTBitCodes.h
Log Message:
-----------
[clang][serialization] Bump `NUM_PREDEF_TYPE_IDS`
This fixes a build error caused by 4ac0e7e400fe2a66d1fd5d5d1fa1c899dfb16716.
Commit: 6c9bbbc818ae8a0d2849dbc1ebd84a220cc27d20
https://github.com/llvm/llvm-project/commit/6c9bbbc818ae8a0d2849dbc1ebd84a220cc27d20
Author: vporpo <vporpodas at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
Log Message:
-----------
[SandboxVec][Legality] Reject non-instructions (#113190)
Commit: eb9f4756bc3daaa4b19f4f46521dc05180814de4
https://github.com/llvm/llvm-project/commit/eb9f4756bc3daaa4b19f4f46521dc05180814de4
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
Log Message:
-----------
Revert "[SandboxVec][Legality] Reject non-instructions (#113190)"
This reverts commit 6c9bbbc818ae8a0d2849dbc1ebd84a220cc27d20.
Commit: 1540f772c793b3a29ae5d57e99456ec5d7ef4b39
https://github.com/llvm/llvm-project/commit/1540f772c793b3a29ae5d57e99456ec5d7ef4b39
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
Log Message:
-----------
Reapply "[SandboxVec][Legality] Reject non-instructions (#113190)"
This reverts commit eb9f4756bc3daaa4b19f4f46521dc05180814de4.
Commit: cfde4fbccf5d8d949a8cade0a4f8ef9b0f47ca73
https://github.com/llvm/llvm-project/commit/cfde4fbccf5d8d949a8cade0a4f8ef9b0f47ca73
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__locale_dir/locale_base_api.h
R libcxx/include/__locale_dir/locale_base_api/newlib.h
M libcxx/include/module.modulemap
Log Message:
-----------
[libc++] Remove obsolete Solaris and Newlib support for locales (#113721)
The solaris header file doesn't even exist, so that's definitely dead
code. The newlib header is empty, which means that localization can't
work on that platform. If someone is using libc++ with Newlib, they must
be providing LIBCXX_HAS_NO_LOCALIZATION today for anything to work, so
that header is basically dead code as well.
Commit: 1bc2cd98c58a1059170dc38697c7a29a8e21160b
https://github.com/llvm/llvm-project/commit/1bc2cd98c58a1059170dc38697c7a29a8e21160b
Author: Dan Gohman <dev at sunfishcode.online>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/test/Preprocessor/wasm-target-features.c
M lld/test/wasm/custom-section-name.ll
M lld/test/wasm/data-segments.ll
M lld/test/wasm/lto/Inputs/libcall-archive.ll
M lld/test/wasm/lto/libcall-archive.ll
M lld/test/wasm/lto/stub-library-libcall.s
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/WebAssembly/WebAssembly.td
M llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.ll
M llvm/test/CodeGen/WebAssembly/target-features-cpus.ll
M llvm/test/MC/WebAssembly/extern-functype-intrinsic.ll
M llvm/test/MC/WebAssembly/libcall.ll
Log Message:
-----------
[WebAssembly] Enable nontrapping-fptoint and bulk-memory by default. (#112049)
We were prepared to enable these features [back in February], but they
got pulled for what appear to be unrelated reasons. So let's have
another try at enabling them!
Another motivation here is that it'd be convenient for the [Lime1
proposal] if "lime1" is close to a subset of "generic" (missing only
for extended-const).
[back in February]:
https://github.com/WebAssembly/tool-conventions/issues/158#issuecomment-1931119512
[Lime1 proposal]: https://github.com/llvm/llvm-project/pull/112035
Commit: a93c952bab3569c84ae0f9619533f7d7c2477a41
https://github.com/llvm/llvm-project/commit/a93c952bab3569c84ae0f9619533f7d7c2477a41
Author: Chris Apple <cja-private at pm.me>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/docs/RealtimeSanitizer.rst
Log Message:
-----------
[rtsan][NFC] Documentation of suppression flag (#112727)
Commit: 590b1e31546572b62040066f90a35893a1b64f29
https://github.com/llvm/llvm-project/commit/590b1e31546572b62040066f90a35893a1b64f29
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/include/clang/Lex/Preprocessor.h
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang][modules] Only serialize info for locally-included headers (#113718)
I noticed that some PCM files contain `HeaderFileInfo` for headers only
included in a dependent PCM file, which is wasteful.
This patch changes the logic to only write headers that are included
locally. This makes the PCM files smaller and saves some superfluous
deserialization of `HeaderFileInfo` triggered by
`Preprocessor::alreadyIncluded()`.
Commit: 5f0a62817fc4e68e793e6d5e5c5fb9b614a1c8bf
https://github.com/llvm/llvm-project/commit/5f0a62817fc4e68e793e6d5e5c5fb9b614a1c8bf
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/test/MC/RISCV/machine-csr-names.s
Log Message:
-----------
[RISCV] Remove duplicate Smrnmi CSR test cases. NFC
ed6ddffb583beb450c4b0e1747ccd14f7e063105 added tests that already
existed.
Commit: ccc15cd6f52922e83164b44e927870059c168ddf
https://github.com/llvm/llvm-project/commit/ccc15cd6f52922e83164b44e927870059c168ddf
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
Log Message:
-----------
[lldb] Avoid repeated hash lookups (NFC) (#113412)
Commit: 38caf282ab3dfd69cee213b0d4df2f1672e52b38
https://github.com/llvm/llvm-project/commit/38caf282ab3dfd69cee213b0d4df2f1672e52b38
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/test/CodeGen/X86/basic-block-address-map-pgo-features.ll
Log Message:
-----------
[SHT_LLVM_BB_ADDR_MAP][AsmPrinter] Add none and all options to PGO Map (#111221)
This patch adds none and all options to the -pgo-analysis-map flag,
which do basically what they say on the tin. The none option is added to
enable forcing the pgo-analysis-map by overriding an earlier invocation
of the flag. The all option is just added for convenience.
Commit: 242ccd2eb1069c817d44545010dfe185a4c3d0b1
https://github.com/llvm/llvm-project/commit/242ccd2eb1069c817d44545010dfe185a4c3d0b1
Author: Gang Chen <gangc at amd.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/test/Modules/no-external-type-id.cppm
Log Message:
-----------
[clang] update the number in no-external-type-id.cppm (#113738)
This should fix https://linaro.atlassian.net/browse/LLVM-1411
Commit: 3acf856b501d529821c884fd5406aef7252c208c
https://github.com/llvm/llvm-project/commit/3acf856b501d529821c884fd5406aef7252c208c
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
A flang/include/flang/Optimizer/Transforms/CUFCommon.h
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
A flang/lib/Optimizer/Transforms/CUFCommon.cpp
Log Message:
-----------
Adding CUFCommon.{h,cpp} for CUF utilities (#113740)
Commit: 75c1c2614aea23647871dcfa161cf0fad3b19312
https://github.com/llvm/llvm-project/commit/75c1c2614aea23647871dcfa161cf0fad3b19312
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
Log Message:
-----------
[llvm][TLI] Sort a switch's cases. NFC
Commit: 054c23d78f2e1aba1dd353aec19e00993ca452fa
https://github.com/llvm/llvm-project/commit/054c23d78f2e1aba1dd353aec19e00993ca452fa
Author: Matthias Braun <matze at braunis.de>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
A llvm/test/Transforms/SLPVectorizer/X86/conversion-fp16.ll
Log Message:
-----------
X86: Improve cost model of fp16 conversion (#113195)
Improve cost-modeling for x86 __fp16 conversions so the SLPVectorizer
transforms the patterns:
- Override `X86TTIImpl::getStoreMinimumVF` to report a minimum VF of 4 (SSE
register can hold 4xfloat converted/stored to 4xf16) this is necessary as
fp16 stores are neither modeled as trunc-stores nor can we mark direct Xxfp16
stores as legal as we generally expand fp16 operations).
- Add missing cost entries to `X86TTIImpl::getCastInstrCost`
conversion from/to fp16. Note that conversion from f64 to f16 is not
supported by an X86 instruction.
Commit: 5ad500ca4a1cba1f39757ba2660d4e0c6e3559d3
https://github.com/llvm/llvm-project/commit/5ad500ca4a1cba1f39757ba2660d4e0c6e3559d3
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fold-binary-reduce.ll
Log Message:
-----------
[RISCV] Coverage for a few missed vector idioms
Commit: cae351f3453a0a26ec8eb2ddaf773c24a29d929e
https://github.com/llvm/llvm-project/commit/cae351f3453a0a26ec8eb2ddaf773c24a29d929e
Author: A. Jiang <de34 at live.cn>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/version
M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Bump `__cpp_lib_optional` and `__cpp_lib_variant` (#113650)
In C++20 mode, `__cpp_lib_optional` and `__cpp_lib_variant` should be
`202106L` due to DR P2231R1.
In C++26 mode, `__cpp_lib_variant` should be bumped to `202306L` due to
P2637R3.
- Clang 16/17 shouldn't get this bumping (as member `visit` requires
explicit object parameters), but it's very tricky to make the bumping
conditionally enabled. I _hope_ unconditionally bumping in C++26 will be
OK for LLVM 20 when the support for Clang 17 is dropped.
Related PRs:
- https://reviews.llvm.org/D102119
- #83335
- #76447
Commit: 5f7bad07b9d5b6c5cfa8c16a4e62cf1e128725be
https://github.com/llvm/llvm-project/commit/5f7bad07b9d5b6c5cfa8c16a4e62cf1e128725be
Author: B I Mohammed Abbas <bimohammadabbas at gmail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/extendhfxf2.c
M compiler-rt/lib/builtins/macho_embedded/common.txt
A compiler-rt/test/builtins/Unit/extendhfxf2_test.c
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
Log Message:
-----------
Add extendhfxf2 into compiler rt (#111099)
Retry pr #109090 with updated extendhfxf2 test
Commit: 889b67c9d30e3024a1317431d66c22599f6c2011
https://github.com/llvm/llvm-project/commit/889b67c9d30e3024a1317431d66c22599f6c2011
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M mlir/lib/Dialect/GPU/Transforms/DecomposeMemRefs.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
M mlir/test/Dialect/GPU/decompose-memrefs.mlir
M mlir/test/Dialect/MemRef/expand-ops.mlir
M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
M mlir/test/Dialect/MemRef/invalid.mlir
Log Message:
-----------
[mlir] [memref] add more checks to the memref.reinterpret_cast (#112669)
Operation memref.reinterpret_cast was accept input like:
%out = memref.reinterpret_cast %in to offset: [%offset], sizes: [10],
strides: [1]
: memref<?xf32> to memref<10xf32>
A problem arises: while lowering, the true offset of %out is %offset,
but its data type indicates an offset of 0. Permitting this
inconsistency can result in incorrect outcomes, as certain pass might
erroneously extract the offset from the data type of %out.
This patch fixes this by enforcing that the return value's data type
aligns
with the input parameter.
Commit: a879073494e7989f670ab0432dd0047ffbf5d1cd
https://github.com/llvm/llvm-project/commit/a879073494e7989f670ab0432dd0047ffbf5d1cd
Author: lntue <lntue at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M libc/src/math/generic/cbrt.cpp
M libc/test/src/math/cbrt_test.cpp
M libc/test/src/math/smoke/cbrt_test.cpp
Log Message:
-----------
[libc][math] Fix a bug in cbrt when the result is rounded to the next exponent. (#113749)
Commit: a8ef0b33a6e5a35f341aec702fa2ceeed444f1fe
https://github.com/llvm/llvm-project/commit/a8ef0b33a6e5a35f341aec702fa2ceeed444f1fe
Author: Matthias Springer <me at m-sp.org>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir] Fix build (#113750)
```
mlir/lib/Transforms/Utils/DialectConversion.cpp:2851:28: error: call of overloaded ‘TypeRange(llvm::SmallVector<mlir::Value>&)’ is ambiguous
assert(TypeRange(result) == resultTypes &&
```
Commit: 801f3a5400ca2fbcfdeb73fd744e8cce0cebc722
https://github.com/llvm/llvm-project/commit/801f3a5400ca2fbcfdeb73fd744e8cce0cebc722
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
A clang/test/Format/error-unfound-files.cpp
M clang/tools/clang-format/ClangFormat.cpp
Log Message:
-----------
[clang-format] Print the names of unfound files in error messages (#113640)
Also fix the return status when `-i` is used with reading from stdin.
Fixes #113631.
Commit: ec2da0ca19c393053c7f11d5478ae21c27e54f5c
https://github.com/llvm/llvm-project/commit/ec2da0ca19c393053c7f11d5478ae21c27e54f5c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
M llvm/lib/Support/StringRef.cpp
Log Message:
-----------
[ADT] Use data() and size() within StringRef (NFC) (#113657)
This patch uses data() and size() within StringRef instead of Data and
Length. This makes it easier to replace Data and Length with
std::string_view in the future, which in turn allows us to forward
most of StringRef functions to the counterparts in std::string_view.
Commit: 8f9fc6ce4713b209e6addeb313eb4432fe374c00
https://github.com/llvm/llvm-project/commit/8f9fc6ce4713b209e6addeb313eb4432fe374c00
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
M mlir/test/Conversion/MathToROCDL/math-to-rocdl.mlir
Log Message:
-----------
[mlir][GPU] Add FunctionOpInterface check for `OpToFuncCallLowering` (#113449)
This PR adds a `FunctionOpInterface` check in `OpToFuncCallLowering` to
resolve a crash when ops not in function. Fixes #113334.
Commit: 5aa741d7ca21645572103d798d0b121f1a741a35
https://github.com/llvm/llvm-project/commit/5aa741d7ca21645572103d798d0b121f1a741a35
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
M mlir/test/Conversion/SPIRVToLLVM/control-flow-ops-to-llvm.mlir
Log Message:
-----------
[mlir][SPIRVToLLVM] Erase empty `spirv.mlir.loop` in `LoopPattern` (#113527)
This PR erases `spirv.mlir.loop` with an empty region in `LoopPattern`,
resolving a crash. Fixes #113404.
Commit: bb00f5b1edd0ed77b7e7b0113dad223505564b18
https://github.com/llvm/llvm-project/commit/bb00f5b1edd0ed77b7e7b0113dad223505564b18
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
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] Remove unneeded mask restriction (#113742)
These were added when the only mapping was to LLVM.
Commit: 13d6233e77982f2a596922a79365373e1466a968
https://github.com/llvm/llvm-project/commit/13d6233e77982f2a596922a79365373e1466a968
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M mlir/test/Integration/GPU/CUDA/sm90/python/tools/matmulBuilder.py
Log Message:
-----------
[MLIR][NVGPU] Fix nvgpu_arrive syntax in matmulBuilder.py (#113713)
This patch updates the syntax for nvgpu_arrive Op
in matmulBuilder.py. This fixes the compilation
error for this test.
For the warp-specialized matmul_kernel implementation,
removing the WaitGroupSyncOp (after the mma-main-loop)
fixes the hang observed.
With these two fixes, the test compiles and
executes successfully on an sm90a machine.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: 3fc0d94ce57de2d0841e77c8fda7feef2923c4e0
https://github.com/llvm/llvm-project/commit/3fc0d94ce57de2d0841e77c8fda7feef2923c4e0
Author: A. Jiang <de34 at live.cn>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M libcxx/test/support/test_macros.h
Log Message:
-----------
[libc++][test] Make macro detection more friendly to MSVC (#113633)
MSVC STL's test suite is a bit nervous about replacing non-macro-defined
identifiers with `0` (see also
https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-4-c4668?view=msvc-170).
On MSVC (and MS-compatible mode of other compilers), `long double` has
the same format (IEEE-754 binary64) as `double`, so it should be OK to
define `TEST_LONG_DOUBLE_IS_DOUBLE` when `_MSC_VER` is defined. Such
detection should be performed first.
Commit: 7c9cf0c6f09115c2d948f16946aa3b36bf483f34
https://github.com/llvm/llvm-project/commit/7c9cf0c6f09115c2d948f16946aa3b36bf483f34
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/test/CodeGen/X86/basic-block-address-map-pgo-features.ll
Log Message:
-----------
[SHT_LLVM_BB_ADDR_MAP][AsmPrinter] Emit error on bad option combinatons
This patch makes it so that specifying all or none for -pgo-analysis-map
along with an explicit option causes an error as this set of options
does not really make sense.
Commit: ef9629c64ac05d426436a0b9fd1ae9a058805368
https://github.com/llvm/llvm-project/commit/ef9629c64ac05d426436a0b9fd1ae9a058805368
Author: Martin Storsjö <martin at martin.st>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
R compiler-rt/lib/builtins/extendhfxf2.c
M compiler-rt/lib/builtins/macho_embedded/common.txt
R compiler-rt/test/builtins/Unit/extendhfxf2_test.c
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
Log Message:
-----------
Revert "Add extendhfxf2 into compiler rt (#111099)"
This reverts commit 5f7bad07b9d5b6c5cfa8c16a4e62cf1e128725be.
These tests fail to build in multiple configurations, see
https://github.com/llvm/llvm-project/pull/111099.
Commit: 69ead949d08ff0bb8cbbf4f7143aaa6687830f6b
https://github.com/llvm/llvm-project/commit/69ead949d08ff0bb8cbbf4f7143aaa6687830f6b
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/unittests/Analysis/InlineAdvisorPlugin/CMakeLists.txt
M llvm/unittests/Analysis/InlineOrderPlugin/CMakeLists.txt
Log Message:
-----------
[llvm] Enable building Analysis plugins on windows (#112303)
Enable building InlineAdvisorPlugin and InlineOrderPlugin on windows for
shared library builds.
This is part of the work to enable LLVM_BUILD_LLVM_DYLIB and LLVM
plugins on window.
Commit: 4102625380823e58d7b13f01b5bd979a29bce19e
https://github.com/llvm/llvm-project/commit/4102625380823e58d7b13f01b5bd979a29bce19e
Author: davidtrevelyan <davidtrevelyan at users.noreply.github.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/test/CodeGen/rtsan_attribute_inserted.c
M clang/test/CodeGen/rtsan_no_attribute_sanitizer_disabled.c
M compiler-rt/lib/rtsan/tests/rtsan_test_functional.cpp
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/IR/Verifier.cpp
M llvm/lib/Transforms/Instrumentation/RealtimeSanitizer.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/test/Bitcode/attributes.ll
M llvm/test/Bitcode/compatibility.ll
A llvm/test/Instrumentation/RealtimeSanitizer/rtsan_blocking.ll
R llvm/test/Instrumentation/RealtimeSanitizer/rtsan_unsafe.ll
M llvm/test/Verifier/rtsan-attrs.ll
Log Message:
-----------
[rtsan][llvm][NFC] Rename sanitize_realtime_unsafe attr to sanitize_realtime_blocking (#113155)
# What
This PR renames the newly-introduced llvm attribute
`sanitize_realtime_unsafe` to `sanitize_realtime_blocking`. Likewise,
sibling variables such as `SanitizeRealtimeUnsafe` are renamed to
`SanitizeRealtimeBlocking` respectively. There are no other functional
changes.
# Why?
- There are a number of problems that can cause a function to be
real-time "unsafe",
- we wish to communicate what problems rtsan detects and *why* they're
unsafe, and
- a generic "unsafe" attribute is, in our opinion, too broad a net -
which may lead to future implementations that need extra contextual
information passed through them in order to communicate meaningful
reasons to users.
- We want to avoid this situation and make the runtime library boundary
API/ABI as simple as possible, and
- we believe that restricting the scope of attributes to names like
`sanitize_realtime_blocking` is an effective means of doing so.
We also feel that the symmetry between `[[clang::blocking]]` and
`sanitize_realtime_blocking` is easier to follow as a developer.
# Concerns
- I'm aware that the LLVM attribute `sanitize_realtime_unsafe` has been
part of the tree for a few weeks now (introduced here:
https://github.com/llvm/llvm-project/pull/106754). Given that it hasn't
been released in version 20 yet, am I correct in considering this to not
be a breaking change?
Commit: 0cf7aaf30067c4be2886a8c9127a27dcbfd63b92
https://github.com/llvm/llvm-project/commit/0cf7aaf30067c4be2886a8c9127a27dcbfd63b92
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/vector-transfer-drop-unit-dims-patterns.mlir
Log Message:
-----------
[MLIR][Vector] Update Transfer{Read|Write}DropUnitDimsPattern patterns (#112394)
Updates `TransferWriteDropUnitDimsPattern` and
`TransferReadDropUnitDimsPattern` to inherit from
`MaskableOpRewritePattern` so that masked versions of
xfer_read/xfer_write Ops are also supported:
```mlir
%v = vector.mask %mask {
vector.transfer_read %arg[%c0, %c0, %c0, %c0], %cst :
memref<1x1x3x2xi8, strided<[6, 6, 2, 1], offset: ?>>, vector<3x2xi8>
} : vector<3x2xi1> -> vector<3x2xi8>
```
Commit: e146c1867e8decfd423034f63a3a863733e03f04
https://github.com/llvm/llvm-project/commit/e146c1867e8decfd423034f63a3a863733e03f04
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__locale_dir/locale_base_api.h
A libcxx/include/__locale_dir/locale_base_api/apple.h
A libcxx/include/__locale_dir/locale_base_api/freebsd.h
M libcxx/include/module.modulemap
Log Message:
-----------
[libc++] Split Apple and Freebsd locale support into their own headers (#113737)
For now these headers don't provide much benefit, however as we refactor
the locale base API they will provide a location to specify the
localization interface on these platforms.
Commit: 0df70c28d25aedbedbb4c89f2c03a0e10ec0e8f4
https://github.com/llvm/llvm-project/commit/0df70c28d25aedbedbb4c89f2c03a0e10ec0e8f4
Author: Alex Rønne Petersen <alex at alexrp.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
Log Message:
-----------
[llvm][SystemZ] Remove some leftover code from #106014. NFC. (#113761)
Pointed out by @redstar here:
https://github.com/llvm/llvm-project/pull/106014/files#r1816845388
Commit: 0f4b3c409fbd756d826c89d5539d9ea22bcc56aa
https://github.com/llvm/llvm-project/commit/0f4b3c409fbd756d826c89d5539d9ea22bcc56aa
Author: lntue <lntue at google.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M libc/src/math/generic/atan2.cpp
M libc/src/math/generic/cbrt.cpp
M libc/src/math/generic/cbrtf.cpp
M libc/src/math/generic/log.cpp
M libc/src/math/generic/log10.cpp
M libc/src/math/generic/log10f.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log2.cpp
M libc/src/math/generic/log2f.cpp
M libc/src/math/generic/logf.cpp
M libc/src/math/generic/pow.cpp
M libc/src/math/generic/powf.cpp
M libc/src/math/generic/sin.cpp
M libc/src/math/generic/tan.cpp
M libc/test/src/math/smoke/HypotTest.h
M libc/test/src/math/smoke/acosf_test.cpp
M libc/test/src/math/smoke/acoshf_test.cpp
M libc/test/src/math/smoke/asinf_test.cpp
M libc/test/src/math/smoke/asinhf_test.cpp
M libc/test/src/math/smoke/atan2_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
M libc/test/src/math/smoke/cbrt_test.cpp
M libc/test/src/math/smoke/cbrtf_test.cpp
M libc/test/src/math/smoke/cos_test.cpp
M libc/test/src/math/smoke/cosf_test.cpp
M libc/test/src/math/smoke/coshf_test.cpp
M libc/test/src/math/smoke/cospif_test.cpp
M libc/test/src/math/smoke/erff_test.cpp
M libc/test/src/math/smoke/exp10_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp2_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
M libc/test/src/math/smoke/exp2m1f_test.cpp
M libc/test/src/math/smoke/exp_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/expm1_test.cpp
M libc/test/src/math/smoke/expm1f_test.cpp
M libc/test/src/math/smoke/hypotf_test.cpp
M libc/test/src/math/smoke/log10_test.cpp
M libc/test/src/math/smoke/log10f_test.cpp
M libc/test/src/math/smoke/log1p_test.cpp
M libc/test/src/math/smoke/log1pf_test.cpp
M libc/test/src/math/smoke/log2_test.cpp
M libc/test/src/math/smoke/log2f_test.cpp
M libc/test/src/math/smoke/log_test.cpp
M libc/test/src/math/smoke/logf_test.cpp
M libc/test/src/math/smoke/pow_test.cpp
M libc/test/src/math/smoke/powf_test.cpp
M libc/test/src/math/smoke/sin_test.cpp
M libc/test/src/math/smoke/sinf_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
M libc/test/src/math/smoke/sinpif_test.cpp
M libc/test/src/math/smoke/tan_test.cpp
M libc/test/src/math/smoke/tanf_test.cpp
M libc/test/src/math/smoke/tanhf_test.cpp
Log Message:
-----------
[libc][math] Add tests and fix some issues with FTZ/DAZ modes. (#113744)
Commit: 266ff98cba44b9e969e6894eaa30d4fe37647210
https://github.com/llvm/llvm-project/commit/266ff98cba44b9e969e6894eaa30d4fe37647210
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/reverse_induction.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[LV][VPlan] Use VF VPValue in VPVectorPointerRecipe (#110974)
Refactors VPVectorPointerRecipe to use the VF VPValue to obtain the
runtime VF, similar to #95305.
Since only reverse vector pointers require the runtime VF, the patch
sets VPUnrollPart::PartOpIndex to 1 for vector pointers and 2 for
reverse vector pointers. As a result, the generation of reverse vector
pointers is moved into a separate recipe.
Commit: a917ae0b4fc0d792ee0e2c512c4ea539f98e1204
https://github.com/llvm/llvm-project/commit/a917ae0b4fc0d792ee0e2c512c4ea539f98e1204
Author: isuckatcs <65320245+isuckatcs at users.noreply.github.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/test/Analysis/array-init-loop.cpp
Log Message:
-----------
[analyzer] Fix a crash from element region construction during `ArrayInitLoopExpr` analysis (#113570)
This patch generalizes the way element regions are constructed when an
`ArrayInitLoopExpr` is being analyzed. Previously the base region of the
`ElementRegion` was determined with pattern matching, which led to
crashes, when an unhandled pattern was encountered.
Fixes #112813
Commit: b667d161f0a9ff6b29cda0ccdb0081610c1e8b8c
https://github.com/llvm/llvm-project/commit/b667d161f0a9ff6b29cda0ccdb0081610c1e8b8c
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/StructuralHash.h
M llvm/lib/IR/StructuralHash.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges.ll
Log Message:
-----------
[StructuralHash] Refactor (#112621)
This is largely NFC, and it prepares for #112638.
- Use stable_hash instead of uint64_t
- Rename update* to hash* functions. They compute stable_hash locally and return it.
This is a patch for
https://discourse.llvm.org/t/rfc-global-function-merging/82608.
Commit: 96723756231e316e68b0dacb104862eecbee01a2
https://github.com/llvm/llvm-project/commit/96723756231e316e68b0dacb104862eecbee01a2
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/StructuralHash.h
M llvm/lib/IR/StructuralHash.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges.ll
Log Message:
-----------
Revert "[StructuralHash] Refactor (#112621)"
This reverts commit b667d161f0a9ff6b29cda0ccdb0081610c1e8b8c.
Commit: a3181b11b5b758cfa852c0d27465f84ab3b079bb
https://github.com/llvm/llvm-project/commit/a3181b11b5b758cfa852c0d27465f84ab3b079bb
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
Log Message:
-----------
[ADT] Teach StringRef to derive from std::string_view (#113752)
This patch makes minimum changes to have StringRef derive from
std::string_view, with an eventual goal of removing StringRef
completely. Subsequent patches will further clean up the remaining
bits.
I've chosen public inheritance over private one because our codebase
relies on implicit conversions to std::string_view, which is currently
provided by:
constexpr operator std::string_view() const {
return std::string_view(data(), size());
}
This implicit conversion stops applying once we use std::string_view
as a base class, public or private. If we chose a private base class,
we would lose the implicit conversion.
Commit: ef886a25805b6aa0cd42886791af5ce26d575f10
https://github.com/llvm/llvm-project/commit/ef886a25805b6aa0cd42886791af5ce26d575f10
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
Log Message:
-----------
Revert "[ADT] Teach StringRef to derive from std::string_view" (#113767)
Reverts llvm/llvm-project#113752
Many build bot failures
Commit: c8140d0d7fa943f5ae339cb5e6f4fd8644d5ae89
https://github.com/llvm/llvm-project/commit/c8140d0d7fa943f5ae339cb5e6f4fd8644d5ae89
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
Log Message:
-----------
[MCParser] De-capitalize ELFAsmParser comments. NFC
Commit: 0be1883c36fc19e4020fea12902481c3dd3436d2
https://github.com/llvm/llvm-project/commit/0be1883c36fc19e4020fea12902481c3dd3436d2
Author: Hui <hui.xie1990 at gmail.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__flat_map/flat_map.h
A libcxx/include/__flat_map/sorted_unique.h
M libcxx/include/__utility/exception_guard.h
A libcxx/include/flat_map
M libcxx/include/module.modulemap
M libcxx/modules/std.compat.cppm.in
M libcxx/modules/std.cppm.in
M libcxx/modules/std/flat_map.inc
A libcxx/test/libcxx/containers/containers.adaptors/flat.map/assert.input_range.pass.cpp
A libcxx/test/libcxx/containers/containers.adaptors/flat.map/assert.sorted_unique.pass.cpp
A libcxx/test/libcxx/containers/containers.adaptors/flat.map/container_stability.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
A libcxx/test/std/containers/container.adaptors/NaiveStaticVector.h
A libcxx/test/std/containers/container.adaptors/flat.map.syn/sorted_unique.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/at.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/at_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/index_key.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/index_rv_key.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/index_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/empty.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/empty.verify.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/max_size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/assign_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/containers.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/copy.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/copy_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/copy_assign.addressof.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/copy_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/deduct.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/deduct.verify.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/deduct_pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/default.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/default_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/dtor_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/iter_iter_stability.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_assign_clears.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_assign_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_exceptions.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/sorted_container.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.erasure/erase_if.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.erasure/erase_if_exceptions.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/iterator_comparison.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/iterator_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/range_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/reverse_iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/clear.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/emplace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/emplace_hint.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_key.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_key_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/extract.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_iter_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_iter_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_or_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_or_assign_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_range_stability.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/replace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/swap_exception.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/swap_free.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/swap_member.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/try_emplace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/try_emplace_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.observers/comp.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.observers/keys_values.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/contains.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/contains_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/count.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/count_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/equal_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/equal_range_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/find.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/find_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/lower_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/lower_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/upper_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/upper_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/helpers.h
A libcxx/test/std/containers/container.adaptors/flat.map/incomplete_type.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/op_compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/types.compile.pass.cpp
A libcxx/test/support/MinSequenceContainer.h
M libcxx/utils/libcxx/header_information.py
Log Message:
-----------
[libc++] Implement P0429R9 `std::flat_map` (#98643)
Around half of the tests are based on the tests Arthur O'Dwyer's
original implementation of std::flat_map, with modifications and
removals.
partially implement #105190
Commit: 98ca9a635bd2fb98cee473a9558687a5b522e219
https://github.com/llvm/llvm-project/commit/98ca9a635bd2fb98cee473a9558687a5b522e219
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/StructuralHash.h
M llvm/lib/IR/StructuralHash.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges-attr.ll
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges.ll
M llvm/test/Transforms/MergeFunc/inline-asm.ll
Log Message:
-----------
Reland [StructuralHash] Refactor (#112621)
This is largely NFC, and it prepares for #112638.
- Use stable_hash instead of uint64_t
- Rename update* to hash* functions. They compute stable_hash locally and return it.
This is a patch for
https://discourse.llvm.org/t/rfc-global-function-merging/82608.
Commit: d78d030b31bb3bde822115fd9d26ab887f890203
https://github.com/llvm/llvm-project/commit/d78d030b31bb3bde822115fd9d26ab887f890203
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/MC/MCXCOFFObjectWriter.h
M llvm/include/llvm/MC/MCXCOFFStreamer.h
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
Log Message:
-----------
[MC] Export llvm::XCOFFObjectwriter and access it from MCXCOFFStreamer
Similar to commit 9539a7796094ff5fb59d9c685140ea2e214b945c for
WinCOFFObjectWriter.
Close #100412
Commit: 64d7e45c40e75846d13f4f7a853f9a3ea3493faa
https://github.com/llvm/llvm-project/commit/64d7e45c40e75846d13f4f7a853f9a3ea3493faa
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
R flang/test/Transforms/debug-none-type.fir
Log Message:
-----------
Revert "[flang][debug] Support mlir::NoneType." (#113769)
Reverts llvm/llvm-project#113550
It turns out this causes compiler crashes with assumed-type arrays and -g.
See https://github.com/llvm/llvm-project/pull/113769 for a reproducer.
Commit: d104b8e827ef5c3cb723aee92af4adfc8af18e9a
https://github.com/llvm/llvm-project/commit/d104b8e827ef5c3cb723aee92af4adfc8af18e9a
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/StructuralHash.h
M llvm/lib/IR/StructuralHash.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges-attr.ll
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges.ll
M llvm/test/Transforms/MergeFunc/inline-asm.ll
Log Message:
-----------
Revert "Reland [StructuralHash] Refactor (#112621)"
This reverts commit 98ca9a635bd2fb98cee473a9558687a5b522e219.
Commit: d72e711e864dad7e3a434d66f3febad2b1596335
https://github.com/llvm/llvm-project/commit/d72e711e864dad7e3a434d66f3febad2b1596335
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/unittests/CMakeLists.txt
Log Message:
-----------
[NFC] [CMake] Add -Wno-dangling-else for GCC built unittests (#112817)
This is one of the many PRs to fix errors with LLVM_ENABLE_WERROR=on.
Built by GCC 11.
Fix warnings:
llvm/unittests/ProfileData/CoverageMappingTest.cpp: In member function
‘virtual void
{anonymous}::CoverageMappingTest_TVIdxBuilder_Test::TestBody()’:
llvm/unittests/ProfileData/CoverageMappingTest.cpp:1116:10: error:
suggest explicit braces to avoid ambiguous ‘else’
[-Werror=dangling-else]
1116 | if (Node.NextIDs[C] < 0)
The problem here is because these macros, eg: EXPECT_TRUE are expanded
to a single line multi-statement code with if/else, which is indeed
ambiguous after pre-processing. a simple example would be like:
https://godbolt.org/z/4zjn56qrP
if(x)
switch (0) case 0: default: if (...) ; else return;;
Given that omit braces in such cases is part of LLVM's style guide, and
it is hard to add braces in gtest just for GCC's warning, add
-Wno-dangling-else for GCC instead.
Commit: 1941c5180b91d792200d5e868d45c96e99bda35e
https://github.com/llvm/llvm-project/commit/1941c5180b91d792200d5e868d45c96e99bda35e
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/StructuralHash.h
M llvm/lib/IR/StructuralHash.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges-attr.ll
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges.ll
M llvm/test/Transforms/MergeFunc/inline-asm.ll
Log Message:
-----------
Reland (2nd attempt) [StructuralHash] Refactor (#112621)
This is largely NFC, and it prepares for #112638.
- Use stable_hash instead of uint64_t
- Rename update* to hash* functions. They compute stable_hash locally and return it.
This is a patch for
https://discourse.llvm.org/t/rfc-global-function-merging/82608.
Commit: 597ccb800829af69ebc18cd7c75d878c8d21de6e
https://github.com/llvm/llvm-project/commit/597ccb800829af69ebc18cd7c75d878c8d21de6e
Author: Justin Fargnoli <justinfargnoli at gmail.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/PassInstrumentation.h
Log Message:
-----------
[NFC] Fix typo in description of `AfterPassInvalidatedCallbacks` (#113779)
Commit: 89b5d88fb81362b4fb2f833790aa40b7eaa186da
https://github.com/llvm/llvm-project/commit/89b5d88fb81362b4fb2f833790aa40b7eaa186da
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
Log Message:
-----------
[ADT] Use std::string_view inside StringRef (#113775)
This patch makes minimum changes to replace Data and Length with an
instance of std::string_view.
Previously, I opted for public inheritance (#113752), but I
encountered a lot of errors from gcc stemming from ambiguity between
std::string_view and StringRef.
The composition approach in this patch gives us greater control at the
expense of forwarder functions.
Commit: 242c77018f669c0b8f06b262050fcc4dde486738
https://github.com/llvm/llvm-project/commit/242c77018f669c0b8f06b262050fcc4dde486738
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
Log Message:
-----------
[ARM] clang-format (NFC)
I'm planning to post a patch in this area.
Commit: 0dd9fdcf83cd00f51669b32c96937a97ef4b339e
https://github.com/llvm/llvm-project/commit/0dd9fdcf83cd00f51669b32c96937a97ef4b339e
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/Analysis/StructuralHash.h
M llvm/include/llvm/IR/StructuralHash.h
M llvm/lib/Analysis/StructuralHash.cpp
M llvm/lib/IR/StructuralHash.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/Analysis/StructuralHash/structural-hash-printer.ll
M llvm/unittests/IR/StructuralHashTest.cpp
Log Message:
-----------
[StructuralHash] Support Differences (#112638)
This computes a structural hash while allowing for selective ignoring of
certain operands based on a custom function that is provided. Instead of
a single hash value, it now returns FunctionHashInfo which includes a
hash value, an instruction mapping, and a map to track the operand
location and its corresponding hash value that is ignored.
Depends on https://github.com/llvm/llvm-project/pull/112621.
This is a patch for
https://discourse.llvm.org/t/rfc-global-function-merging/82608.
Commit: 93da6423af5f00a3bbee4d2ee571ccc7887f444d
https://github.com/llvm/llvm-project/commit/93da6423af5f00a3bbee4d2ee571ccc7887f444d
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
Log Message:
-----------
[mlir][LLVM] Add builders for llvm.intr.assume (#113317)
This patch adds several new builders for llvm.intr.assume that build the
operation with additional operand bundles.
Commit: 355e6948d44a97781cc184a22c9b51760cae6de0
https://github.com/llvm/llvm-project/commit/355e6948d44a97781cc184a22c9b51760cae6de0
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/Transforms/MemProfContextDisambiguation/fix_clone_checking.ll
Log Message:
-----------
[MemProf] Fix clone edge comparison (#113753)
The issue fixed in PR113337 exposed a bug in the comparisons done in
allocTypesMatch, which compares a vector of alloc types to those in the
given vector of Edges. The form of std::equal used, which didn't provide
the end iterator for the Edges vector, will iterate through as many
entries in the Edges vector as in the InAllocTypes vector, which can
fail if there are fewer entries in the Edges vector, because we may
dereference a bogus Edge pointer. This function is called twice, once
for the Node, with its callee edges, in which case the number of edges
should always match the number of entries in allocTypesMatch, which is
computed from the Node's callee edges. It was also called for Node's
clones, and it turns out that after cloning and edge modifications done
for other allocations, the number of callee edges in Node and its clones
may no longer match. In some cases, more common with memprof ICP before
the PR113337, the number of clone edges can be smaller leading to a bad
dereference. I found for a large application even before adding memprof
ICP support we sometimes call this with fewer entries in the clone's
callee edges, but were getting lucky as they had allocation type None,
and we didn't end up attempting to dereference the bad edge pointer.
Fix this by passing Edges.end() to std::equal, which means std::equal
will fail if the number of entries in the 2 vectors are not equal.
However, this is too conservative, as clone edges may have been added or
removed since it was initially cloned, and in fact can be wrong as we
may not be comparing allocation types corresponding to the same callee.
Therefore, a couple of enhancements are made to avoid regressing and
improve the checking and cloning:
- Don't bother calling the alloc type comparison when the clone and the
Node's alloc type for the current allocation are precise (have a
single allocation type) and are the same (which is guaranteed by an
earlier check, and an assert is added to confirm that). In that case
we can trivially determine that the clone can be used.
- Split the alloc type matching handling into a separate function for
the clone case. In that case, for each of the InAllocType entries,
attempt to find and compare to the clone callee edge with the same
callee as the corresponding original node callee.
To create a test case I needed to take a spec application (xalancbmk),
and repeatedly apply random hot/cold-ness to the memprof contexts
when building, until I hit the problematic case. I then reduced that
full LTO IR using llvm-reduce and then manually.
Commit: d5b42db00f0b21855501b01e8cd80326e1ce763d
https://github.com/llvm/llvm-project/commit/d5b42db00f0b21855501b01e8cd80326e1ce763d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
Log Message:
-----------
[clang][bytecode][NFC] Only do CheckConstant checks for global pointers (#113786)
We can check isStatic() early here and save ourselves some work.
Commit: 7b88e7530d4329ff0c7c8638f69b39fa1e540218
https://github.com/llvm/llvm-project/commit/7b88e7530d4329ff0c7c8638f69b39fa1e540218
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
Log Message:
-----------
[clang][bytecode][NFC] Make CheckVolatile static (#113785)
Commit: 60d2feded5c0f55b21d042ee2f35227847d66ee0
https://github.com/llvm/llvm-project/commit/60d2feded5c0f55b21d042ee2f35227847d66ee0
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
Log Message:
-----------
[ARM] Remove a redundant call to StringRef::slice (NFC) (#113783)
OptStr.slice(0, OptStr.size()) is exactly the same as OptStr.
Commit: d2e9532fe12dc2568f40c2648ff4bb3730141aed
https://github.com/llvm/llvm-project/commit/d2e9532fe12dc2568f40c2648ff4bb3730141aed
Author: Eirik Byrkjeflot Anonsen <eirik at eirikba.org>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
Log Message:
-----------
[DemoteRegToStack] Use correct variable for branch instructions in DemoteRegToStack (#113798)
I happened to see this code, and it seems "obviously" wrong to me. So
here's what I think this code is supposed to look like.
Commit: 45c84d59c454ba2b57affcd09a74f8d91e93bff7
https://github.com/llvm/llvm-project/commit/45c84d59c454ba2b57affcd09a74f8d91e93bff7
Author: goldsteinn <35538541+goldsteinn at users.noreply.github.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M libc/src/__support/CMakeLists.txt
M libc/src/__support/libc_assert.h
M libc/src/assert/assert.h
Log Message:
-----------
[libc] Add `__builtin_expect` tag on assert conditions; NFC (#99498)
Commit: 5287a9b3456fe7aefa24c8da95ef265b8dba875b
https://github.com/llvm/llvm-project/commit/5287a9b3456fe7aefa24c8da95ef265b8dba875b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M mlir/include/mlir/Support/IndentedOstream.h
M mlir/lib/Query/QueryParser.cpp
Log Message:
-----------
[mlir] Prefer StringRef::substr to slice (NFC) (#113788)
I'm planning to migrate StringRef to std::string_view
eventually. Since std::string_view does not have slice, this patch
migrates:
slice(0, N) to substr(0, N)
slice(N, StringRef::npos) to substr(N)
Commit: 7fe149cdf09d04fb8390b97c91bd9214c968cd3e
https://github.com/llvm/llvm-project/commit/7fe149cdf09d04fb8390b97c91bd9214c968cd3e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Replace getIRBasicBlock with IRBB in VPIRBB::execute (NFC).
Suggested in https://github.com/llvm/llvm-project/pull/109975. This
makes the function consistent throughout.
Commit: e33aec89ef1378d80e8df2e965ac5e6e6aa2e3de
https://github.com/llvm/llvm-project/commit/e33aec89ef1378d80e8df2e965ac5e6e6aa2e3de
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[MLIR][NVVM] Update the elect.sync Op to use intrinsics (#113757)
Recently, we added an intrinsic for the elect.sync PTX instruction (PR
104780). This patch updates the corresponding Op in NVVM Dialect
to lower to the intrinsic instead of inline-ptx.
The existing test under Conversion/ is migrated to check for the new
pattern. A separate test is added to verify the lowered intrinsic under
the Target/ directory.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: eef3766ae5a39fea6f7f81ac444f878969743d85
https://github.com/llvm/llvm-project/commit/eef3766ae5a39fea6f7f81ac444f878969743d85
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/default-none.f90
Log Message:
-----------
Assumed-size arrays are shared and cannot be privatized (#112963)
Do not error out if default(none) is specified and the region has an
assumed-size array.
Fixes #110442
Commit: 5621929f7f4878c318deecb592cd03f5ecbb83ba
https://github.com/llvm/llvm-project/commit/5621929f7f4878c318deecb592cd03f5ecbb83ba
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Parser/OpenMP/taskloop.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[Flang][OpenMP] Add parser support for grainsize and num_tasks clause (#113136)
These clauses are applicable only for the taskloop directive. Since the
directive has a TODO error, skipping the addition of TODOs for these
clauses.
Commit: 7b3da7b3b2b0e2f322dddf1f343571cc7fd09b09
https://github.com/llvm/llvm-project/commit/7b3da7b3b2b0e2f322dddf1f343571cc7fd09b09
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/lib/Target/AArch64/AArch64GenRegisterBankInfo.def
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
A llvm/test/CodeGen/AArch64/GlobalISel/sve-integer.ll
Log Message:
-----------
[GlobalISel][AArch64] Legalize G_ADD, G_SUB, G_AND, G_OR, and G_XOR for SVE (#110561)
Credits: https://github.com/llvm/llvm-project/pull/72976
LLVM ERROR: cannot select: %3:zpr(<vscale x 2 x s64>) = G_MUL %0:fpr,
%1:fpr (in function: xmulnxv2i64)
;; mul
define void @xmulnxv2i64(<vscale x 2 x i64> %a, <vscale x 2 x i64> %b,
ptr %p) {
entry:
%c = mul <vscale x 2 x i64> %a, %b
store <vscale x 2 x i64> %c, ptr %p, align 16
ret void
}
define void @mulnxv4i32(<vscale x 4 x i32> %a, <vscale x 4 x i32> %b,
ptr %p) {
entry:
%c = mul <vscale x 4 x i32> %a, %b
store <vscale x 4 x i32> %c, ptr %p, align 16
ret void
}
define void @mulnxv8i16(<vscale x 8 x i16> %a, <vscale x 8 x i16> %b,
ptr %p) {
entry:
%c = mul <vscale x 8 x i16> %a, %b
store <vscale x 8 x i16> %c, ptr %p, align 16
ret void
}
define void @mulnxv16i8(<vscale x 16 x i8> %a, <vscale x 16 x i8> %b,
ptr %p) {
entry:
%c = mul <vscale x 16 x i8> %a, %b
store <vscale x 16 x i8> %c, ptr %p, align 16
ret void
}
Commit: fb33af08e4c105a05855f8beeb972d493410e72f
https://github.com/llvm/llvm-project/commit/fb33af08e4c105a05855f8beeb972d493410e72f
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/builtins-nvptx-native-half-type-native.c
M clang/test/CodeGen/builtins-nvptx-native-half-type.c
M clang/test/CodeGen/builtins-nvptx.c
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
Log Message:
-----------
[NVPTX] Remove nvvm.ldg.global.* intrinsics (#112834)
Remove these intrinsics which can be better represented by load
instructions with `!invariant.load` metadata:
- llvm.nvvm.ldg.global.i
- llvm.nvvm.ldg.global.f
- llvm.nvvm.ldg.global.p
Commit: 1fe8e7838bb5118b9e48fa15fa21a4638bae8ae1
https://github.com/llvm/llvm-project/commit/1fe8e7838bb5118b9e48fa15fa21a4638bae8ae1
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
Log Message:
-----------
[X86] Rename the x86-asm-syntax variable. NFC
Follow-up to #109360. x86-asm-syntax is for input instead of output.
Commit: 40fffba9b29141d598bf36cdc4bb886e97143d06
https://github.com/llvm/llvm-project/commit/40fffba9b29141d598bf36cdc4bb886e97143d06
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx10_2bf16-arith.ll
Log Message:
-----------
[X86][AVX10.2] Fix wrong predicates for BF16 feature (#113800)
Since AVX10.2, we need to enable 128/256-bit vector by default and check
for 512 feature for 512-bit vector.
Commit: 7ad63c0e44ef277591497a176991e7723165611e
https://github.com/llvm/llvm-project/commit/7ad63c0e44ef277591497a176991e7723165611e
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M mlir/lib/Conversion/MathToFuncs/MathToFuncs.cpp
M mlir/test/Conversion/MathToFuncs/ctlz.mlir
M mlir/test/Conversion/MathToFuncs/ipowi.mlir
Log Message:
-----------
[mlir][MathToFuncs] `MathToFuncs` only support integer type (#113693)
This PR fixes a bug in `MathToFuncs` where it incorrectly converts index
type for `math.ctlz` and `math.ipowi`, leading to a crash. Fixes
#108150.
Commit: 39ac64c1c0fc61a476aa22c53e6977608ead03cf
https://github.com/llvm/llvm-project/commit/39ac64c1c0fc61a476aa22c53e6977608ead03cf
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
Log Message:
-----------
[mlir][Arith] ValueBoundsInterface: speedup arith.select (#113531)
When calculating value bounds in the arith.select op , the compare
function is invoked to compare trueValue and falseValue. This function
rebuilds constraints, resulting in repeated computations of value
bounds.
In large-scale programs, this redundancy significantly impacts
compilation time.
Commit: 5aa1275d03b679f45f47f29f206292f663afed83
https://github.com/llvm/llvm-project/commit/5aa1275d03b679f45f47f29f206292f663afed83
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/BuiltinsX86.def
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/immintrin.h
A clang/lib/Headers/sm4evexintrin.h
A clang/test/CodeGen/X86/sm4-evex-builtins.c
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/lib/Target/X86/X86InstrAVX10.td
A llvm/test/CodeGen/X86/sm4-evex-intrinsics.ll
A llvm/test/MC/Disassembler/X86/sm4-evex-32.txt
A llvm/test/MC/Disassembler/X86/sm4-evex-64.txt
A llvm/test/MC/X86/sm4-evex-32-att.s
A llvm/test/MC/X86/sm4-evex-32-intel.s
A llvm/test/MC/X86/sm4-evex-64-att.s
A llvm/test/MC/X86/sm4-evex-64-intel.s
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86] Support SM4 EVEX version intrinsics/instructions. (#113402)
Ref.: https://cdrdv2.intel.com/v1/dl/getContent/671368
Commit: a1d31caa8c53082d12f580122dcf2b2ff8285e78
https://github.com/llvm/llvm-project/commit/a1d31caa8c53082d12f580122dcf2b2ff8285e78
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
Log Message:
-----------
[clang-tidy] fix false positive for implicit conversion of comparison result in C23 (#113639)
Fixed #111013
bool will be builtin type in C23 but comparison result in C is still
int.
It is no need to change this kind of implicit cast to explicit cast.
Commit: c876d719ef5b10128eca6d8677068248b4831017
https://github.com/llvm/llvm-project/commit/c876d719ef5b10128eca6d8677068248b4831017
Author: antangelo <contact at antangelo.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Sema/SemaInternal.h
Log Message:
-----------
[clang][NFC] Accept const NamedDecl pointer for getDepthAndIndex (#113857)
Commit: 99b2feadcc770ea52f71dda6cf027373a6931c6c
https://github.com/llvm/llvm-project/commit/99b2feadcc770ea52f71dda6cf027373a6931c6c
Author: ZhangYin <zhangyin2018 at iscas.ac.cn>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M libcxx/test/std/experimental/simd/simd.class/simd_unary.pass.cpp
Log Message:
-----------
[libc++] <experimental/simd> temporarily mark XFAIL for the armv7-unknown-linux-gnueabihf with simd unary test to pass the CI (#113641)
Commit: d3f70db51cbc0876937d404e96fbda04df793bd4
https://github.com/llvm/llvm-project/commit/d3f70db51cbc0876937d404e96fbda04df793bd4
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/X86/X86InstrSystem.td
A llvm/test/MC/Disassembler/X86/apx/msr-imm.txt
A llvm/test/MC/Disassembler/X86/msrimm-64.txt
A llvm/test/MC/X86/apx/msrimm-att.s
A llvm/test/MC/X86/apx/msrimm-intel.s
A llvm/test/MC/X86/msrimm-64-att.s
A llvm/test/MC/X86/msrimm-64-intel.s
Log Message:
-----------
[X86][MC] Support instructions of MSR_IMM (#113524)
Ref.: https://cdrdv2.intel.com/v1/dl/getContent/671368
Commit: 5d4a0d54b5269bad1410e6db957836fe98634069
https://github.com/llvm/llvm-project/commit/5d4a0d54b5269bad1410e6db957836fe98634069
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/div.ll
M llvm/test/Transforms/InstCombine/shift.ll
Log Message:
-----------
[InstCombine] Teach takeLog2 about right shifts, truncation and bitwise-and
We left some easy opportunities for further simplifications.
log2(trunc(x)) is simply trunc(log2(x)). This is safe if we know that
trunc is NUW because it means that the truncation didn't drop any bits.
It is also safe if the caller is OK with zero as a possible answer.
log2(x >>u y) is simply `log2(x) - y`.
log2(x & y) is a funny one. It comes up when doing something like:
```
unsigned int f(unsigned int x, unsigned int y) {
unsigned char a = 1u << x;
return y / a;
}
```
LLVM would canonicalize this to:
```
%shl = shl nuw i32 1, %x
%conv1 = and i32 %shl, 255
%div = udiv i32 %y, %conv1
```
In cases like these, we can ignore the mask entirely.
This is equivalent to `y >> x`.
Commit: 819abe412dd554303cb932d6ec2200b9b9ebdd78
https://github.com/llvm/llvm-project/commit/819abe412dd554303cb932d6ec2200b9b9ebdd78
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/cvt-fp-int-fp.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics-fp16.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics-vector.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics.ll
M llvm/test/CodeGen/ARM/fp-intrinsics.ll
M llvm/test/CodeGen/PowerPC/ppcf128-constrained-fp-intrinsics.ll
M llvm/test/CodeGen/RISCV/double-intrinsics-strict.ll
M llvm/test/CodeGen/RISCV/float-intrinsics-strict.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/X86/bfloat-constrained.ll
M llvm/test/CodeGen/X86/float-strict-powi-convert.ll
M llvm/test/Transforms/EarlyCSE/defaultfp-strictfp.ll
M llvm/test/Transforms/EarlyCSE/ebstrict-strictfp.ll
M llvm/test/Transforms/EarlyCSE/mixed-strictfp.ll
M llvm/test/Transforms/EarlyCSE/nonmixed-strictfp.ll
M llvm/test/Transforms/SCCP/strictfp-phis-fcmp.ll
M llvm/test/Transforms/SCCP/strictfp-phis-fcmps.ll
Log Message:
-----------
[Test] Fix usage of constrained intrinsics (#113523)
Some tests contain errors in constrained intrinsic usage, such as missed
or extra type parameters, wrong type parameters order and some other.
---------
Co-authored-by: Andy Kaylor <andy_kaylor at yahoo.com>
Commit: 5155c38ceef019f3225c5eaeba6b986e2430752f
https://github.com/llvm/llvm-project/commit/5155c38ceef019f3225c5eaeba6b986e2430752f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/Transforms/InstCombine/pr105510.ll
Log Message:
-----------
[InstCombine] Don't check uses of constant exprs (#113684)
This patch skips constant expressions to avoid iterating over uses on
other functions.
Fix crash reported in
https://github.com/llvm/llvm-project/pull/105510#issuecomment-2437521147.
Commit: fd85761208b4fe0569e3fde0d11297f7dcd0e48e
https://github.com/llvm/llvm-project/commit/fd85761208b4fe0569e3fde0d11297f7dcd0e48e
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avxneconvert-intrinsics.ll
Log Message:
-----------
[X86][BF16] Customize VSELECT for BF16 under AVX-NECONVERT (#113322)
Fixes: https://godbolt.org/z/9abGnE8zs
Commit: e7f422d5c2ea05704eaab2cdd67a8b1ebc55e95b
https://github.com/llvm/llvm-project/commit/e7f422d5c2ea05704eaab2cdd67a8b1ebc55e95b
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/include/llvm/Support/Compiler.h
Log Message:
-----------
Add clang::lifetimebound annotation to ArrayRef constructors. (#113547)
This enables clang to detect more dangling issues.
```
ArrayRef<int> func() {
constexpr int array[] = {...}; // oops, missing the static
return array; // return a dangling reference, bomb.
}
```
See #113533.
Commit: 35f6cc6af09f48f9038fce632815a2ad6ffe8689
https://github.com/llvm/llvm-project/commit/35f6cc6af09f48f9038fce632815a2ad6ffe8689
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add the Sha extension (#113820)
This was introduced in the now-ratified RVA23 profile (and also added to
the RVA22 text) as a simple way of referring to H plus the set of
supervisor extensions required by RVA23.
https://github.com/riscv/riscv-profiles/blob/main/src/rva23-profile.adoc
This patch simply defines the extension. The next patch will adjust the
RVA23 profile to use it, and at that point I think we will be ready to
mark RVA23 as non-experimental.
Note that I haven't made it so if you enable all extensions that
constitute Sha, Sha is implied. Per #76893 (adding 'B'), the concern is
making this implication might break older external assemblers. Perhaps
this is less of a concern given the relative frequency of
`-march=${foo}_zba_zbb_zbs` vs the collection of H extensions. If we did
want to add that implication, we'd probably want to add it in a separate
patch so it can be easily reverted if found to cause problems.
Commit: a4fd3dba6e285734bc635b0651a30dfeffedeada
https://github.com/llvm/llvm-project/commit/a4fd3dba6e285734bc635b0651a30dfeffedeada
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memcpy.ll
M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
A llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
Log Message:
-----------
[AMDGPU] Use wider loop lowering type for LowerMemIntrinsics (#112332)
When llvm.memcpy or llvm.memmove intrinsics are lowered as a loop in
LowerMemIntrinsics.cpp, the loop consists of a single load/store pair
per iteration. We can improve performance in some cases by emitting
multiple load/store pairs per iteration. This patch achieves that by
increasing the width of the loop lowering type in the GCN target and
letting legalization split the resulting too-wide access pairs into
multiple legal access pairs.
This change only affects lowered memcpys and memmoves with large (>=
1024 bytes) constant lengths. Smaller constant lengths are handled by
ISel directly; non-constant lengths would be slowed down by this change
if the dynamic length was smaller or slightly larger than what an
unrolled iteration copies.
The chosen default unroll factor is the result of microbenchmarks on
gfx1030. This change leads to speedups of 15-38% for global memory and
1.9-5.8x for scratch in these microbenchmarks.
Part of SWDEV-455845.
Commit: 86f76c3b171f95fd0560339f2ad0f4449277cf8d
https://github.com/llvm/llvm-project/commit/86f76c3b171f95fd0560339f2ad0f4449277cf8d
Author: Jack Styles <jack.styles at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M libunwind/src/DwarfInstructions.hpp
M libunwind/src/DwarfParser.hpp
M libunwind/src/dwarf2.h
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/include/llvm/MC/MCDwarf.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp
M llvm/lib/CodeGen/CFIInstrInserter.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-cfi.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-diff-scope-same-key.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-non-leaf.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-regsave.mir
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-diff-key.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-subtarget.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-thunk.ll
M llvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-2.ll
M llvm/test/CodeGen/AArch64/sign-return-address-cfi-negate-ra-state.ll
M llvm/test/CodeGen/AArch64/sign-return-address-pauth-lr.ll
M llvm/test/CodeGen/AArch64/sign-return-address.ll
M llvm/test/CodeGen/MIR/AArch64/return-address-signing.mir
M llvm/test/MC/AArch64/directives-case_insensitive.s
A llvm/test/MC/AArch64/negate_ra_state_with_pc.s
M llvm/unittests/DebugInfo/DWARF/DWARFDebugFrameTest.cpp
Log Message:
-----------
[AArch64][Libunwind] Add Support for FEAT_PAuthLR DWARF Instruction (#112171)
As part of FEAT_PAuthLR, a new DWARF Frame Instruction was introduced,
`DW_CFA_AARCH64_negate_ra_state_with_pc`. This instructs Libunwind that
the PC has been used with the signing instruction. This change includes
three commits
- Libunwind support for the newly introduced DWARF Instruction
- CodeGen Support for the DWARF Instructions
- Reversing the changes made in #96377. Due to
`DW_CFA_AARCH64_negate_ra_state_with_pc`'s requirements to be placed
immediately after the signing instruction, this would mean the CFI
Instruction location was not consistent with the generated location when
not using FEAT_PAuthLR. The commit reverses the changes and makes the
location consistent across the different branch protection options.
While this does have a code size effect, this is a negligible one.
For the ABI information, see here:
https://github.com/ARM-software/abi-aa/blob/853286c7ab66048e4b819682ce17f567b77a0291/aadwarf64/aadwarf64.rst#id23
Commit: d7ca703eab7997814de425eaa4fd888563d78831
https://github.com/llvm/llvm-project/commit/d7ca703eab7997814de425eaa4fd888563d78831
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M compiler-rt/include/profile/InstrProfData.inc
M llvm/include/llvm/ProfileData/InstrProfData.inc
Log Message:
-----------
Add explicit symbol visibility macros to InstrProfData.inc (#110732)
Add explicit symbol visibility macros to InstrProfData.inc
Annotating these symbols will fix missing symbols for InstrProfTest when
using shared library builds on windows with explicit visibility macros
enabled.
Add a empty fallback definition for LLVM_ABI macro so the code works in
compiler-rt.
This is part of the work to enable LLVM_BUILD_LLVM_DYLIB and plugins on
window.
```
llvm\lld-link : error : undefined symbol: public: void ValueProfData::deserializeTo(InstrProfRecord&, InstrProfSymtab*)
>>> referenced by unittests\ProfileData\InstrProfTest.cpp:1372 void ValueProfileReadWriteTest_value_prof_data_read_write_Test::TestBody()
```
Commit: 14171b0b13534e10ac57d13d072970616e17391b
https://github.com/llvm/llvm-project/commit/14171b0b13534e10ac57d13d072970616e17391b
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/Remarks/HotnessThresholdParser.h
Log Message:
-----------
[Remarks] Fix missing include in HotnessThresholdParser for Expected (#113755)
The use of Expected<> requires llvm/Support/Error.h to be included.
Commit: 3d6923dbac16741736a841abee05f35bf7b0379a
https://github.com/llvm/llvm-project/commit/3d6923dbac16741736a841abee05f35bf7b0379a
Author: vabridgers <58314289+vabridgers at users.noreply.github.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/nondeterministic-pointer-iteration-order.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_algorithm
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_c++config.h
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_initializer_list
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_iterator_base
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_map
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_set
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_stl_pair
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_type_traits
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_unordered_map
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_unordered_set
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_vector
A clang-tools-extra/test/clang-tidy/checkers/bugprone/nondeterministic-pointer-iteration-order.cpp
M clang/docs/ReleaseNotes.rst
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
R clang/lib/StaticAnalyzer/Checkers/PointerIterationChecker.cpp
R clang/lib/StaticAnalyzer/Checkers/PointerSortingChecker.cpp
R clang/test/Analysis/ptr-iter.cpp
R clang/test/Analysis/ptr-sort.cpp
Log Message:
-----------
RFC: [clang-tidy] [analyzer] Move nondeterministic pointer usage check to tidy (#110471)
This change moves the `alpha.nondeterministic.PointerSorting` and
`alpha.nondeterministic.PointerIteration` static analyzer checkers to a
single `clang-tidy` check. Those checkers were implemented as simple
`clang-tidy` check-like code, wrapped in the static analyzer framework.
The documentation was updated to describe what the checks can and cannot
do, and testing was completed on a broad set of open-source projects.
Co-authored-by: Vince Bridgers <vince.a.bridgers at ericsson.com>
Commit: f6b513a7857cbcdb7df93079916e6bb8a00bd0b8
https://github.com/llvm/llvm-project/commit/f6b513a7857cbcdb7df93079916e6bb8a00bd0b8
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M compiler-rt/include/profile/InstrProfData.inc
M llvm/include/llvm/ProfileData/InstrProfData.inc
Log Message:
-----------
Revert "Add explicit symbol visibility macros to InstrProfData.inc (#110732)"
This reverts commit d7ca703eab7997814de425eaa4fd888563d78831 in llvm/llvm-project#110732
Commit: dff114b3565e4c981fcb40f24f72a0cb426294fe
https://github.com/llvm/llvm-project/commit/dff114b3565e4c981fcb40f24f72a0cb426294fe
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/lib/Target/ARM/ARMSubtarget.h
M llvm/test/CodeGen/Thumb2/bti-pac-replace-2.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-basic.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-frame-chain.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-indirect-tail-call.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-3.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-4.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-overalign.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-stack-arg.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-varargs-1.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-varargs-2.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-vla.ll
Log Message:
-----------
[ARM] Optimise non-ABI frame pointers (#110286)
With -fomit-frame-pointer, even if we set up a frame pointer for other
reasons (e.g. variable-sized or over-aligned stack allocations), we
don't need to create an ABI-compliant frame record. This means that we
can save all of the general-purpose registers in one push, instead of
splitting it to ensure that the frame pointer and link register are
adjacent on the stack, saving two instructions per function.
Commit: 933a56674e75ed372e000758378b7981e5b4d387
https://github.com/llvm/llvm-project/commit/933a56674e75ed372e000758378b7981e5b4d387
Author: Jack Styles <jack.styles at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/MachineOperand.cpp
Log Message:
-----------
[PAuthLR] Add Missing Break Statement for MachineOperand Switch Statement (#113883)
There was a missing break, which led to an unannotated fallthrough when
merging #112171. This has caused sanitizer builds to fail.
This adds the missing break in the switch statement to ensure that the
fallthrough does not occur.
Commit: 43a5719d9f54fb482d523a6e313d9b9b9af82379
https://github.com/llvm/llvm-project/commit/43a5719d9f54fb482d523a6e313d9b9b9af82379
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVProfiles.td
M llvm/test/CodeGen/RISCV/attributes.ll
Log Message:
-----------
[RISCV] Use Sha extension in RVA23S64 profile (#113823)
In the ratified version of the RVA23S64 definition, the Sha extension is
now used to group together the set of hypervisor related extensions.
<https://github.com/riscv/riscv-profiles/blob/main/src/rva23-profile.adoc>
Commit: 96f5c683500eb2d7f7c3984e3a056315c50c4662
https://github.com/llvm/llvm-project/commit/96f5c683500eb2d7f7c3984e3a056315c50c4662
Author: Luke Lau <luke at igalia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-compress-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vector-compress.ll
Log Message:
-----------
[RISCV] Lower @llvm.experimental.vector.compress for zvfhmin/zvfbfmin (#113770)
This is a follow up to #113291 and handles f16/bf16 with zvfhmin and
zvfbmin.
Commit: fa4790e404843cff4370cf259b93e51e8341469d
https://github.com/llvm/llvm-project/commit/fa4790e404843cff4370cf259b93e51e8341469d
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/test/MC/AMDGPU/gfx12_asm_vimage.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vimage.txt
Log Message:
-----------
[AMDGPU][MC] Fix disassembler for VIMAGE when non-first vaddr is v0 (#113569)
For disassembler tables we use *V1_V4* variants for VIMAGE and then
remove unused vaddr fields. *V1_V1* variant, which has every vaddr
field other than vaddr0 set to 0, was also enabled and caused confusion
when decoding cases which used v0 (whose encoded value is 0)
Commit: f78610af3feb88f0e1edb2482dc77490fb4cad77
https://github.com/llvm/llvm-project/commit/f78610af3feb88f0e1edb2482dc77490fb4cad77
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Analysis/ValueTracking/numsignbits-from-assume.ll
M llvm/test/Transforms/InstCombine/2007-10-31-RangeCrash.ll
M llvm/test/Transforms/InstCombine/cast_phi.ll
M llvm/test/Transforms/InstCombine/constant-fold-iteration.ll
M llvm/test/Transforms/InstCombine/icmp-or.ll
M llvm/test/Transforms/InstCombine/pr55228.ll
M llvm/test/Transforms/InstCombine/shift.ll
M llvm/test/Transforms/InstCombine/sink_instruction.ll
M llvm/test/Transforms/InstCombine/zext-or-icmp.ll
M llvm/test/Transforms/PGOProfile/chr.ll
M llvm/test/Transforms/SimpleLoopUnswitch/2007-08-01-LCSSA.ll
Log Message:
-----------
[InstCombine] Add function attribute `instcombine-no-verify-fixpoint` (#113822)
This patch introduces a function attribute
`instcombine-no-verify-fixpoint` to avoids disabling fix-point
verification for unrelated tests in the same file.
Address comment
https://github.com/llvm/llvm-project/pull/112642#discussion_r1804714387.
Commit: 09c258ef6a2fcca2161488b214d53ef39891fa22
https://github.com/llvm/llvm-project/commit/09c258ef6a2fcca2161488b214d53ef39891fa22
Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M lldb/tools/lldb-dap/Breakpoint.cpp
M lldb/tools/lldb-dap/Breakpoint.h
M lldb/tools/lldb-dap/BreakpointBase.cpp
M lldb/tools/lldb-dap/BreakpointBase.h
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/FifoFiles.cpp
M lldb/tools/lldb-dap/FifoFiles.h
M lldb/tools/lldb-dap/FunctionBreakpoint.cpp
M lldb/tools/lldb-dap/IOStream.cpp
M lldb/tools/lldb-dap/IOStream.h
M lldb/tools/lldb-dap/InstructionBreakpoint.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.cpp
M lldb/tools/lldb-dap/OutputRedirector.h
M lldb/tools/lldb-dap/RunInTerminal.cpp
M lldb/tools/lldb-dap/RunInTerminal.h
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[NFC][lldb-dap] Clean-up includes (#113839)
This commit cleans up the includes in the `lldb-dap` subfolder. The main
motivation was that I got annoyed by `clangd` always complaining about
unused includes while working on lldb-dap.
Commit: e6fcf349eff5be326e1923567646edf99f69d297
https://github.com/llvm/llvm-project/commit/e6fcf349eff5be326e1923567646edf99f69d297
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp
Log Message:
-----------
[clang-tidy] Remove unused variable (NFC)
/llvm-project/clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp:60:29:
error: unused variable 'AlgoName' [-Werror,-Wunused-variable]
const llvm::StringRef AlgoName = ClassTemplate->getName();
^
1 error generated.
Commit: f5d8a485e216996b076369b4d66c41a70fe34ea4
https://github.com/llvm/llvm-project/commit/f5d8a485e216996b076369b4d66c41a70fe34ea4
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/docs/UserGuides.rst
Log Message:
-----------
[RISCV] Fix typo in UserGuides.rst. NFC (#113861)
Commit: 09160a98218e7f1038e06c5d8e704a826ed0ae13
https://github.com/llvm/llvm-project/commit/09160a98218e7f1038e06c5d8e704a826ed0ae13
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
Log Message:
-----------
[SystemZ] Silence compiler warning (#113894)
Use SystemZ::NoRegister instead of 0 in
SystemZTargetLowering::getRegisterByName().
Commit: 64148944c56f50a50383c79d5b6d074d8608f2a4
https://github.com/llvm/llvm-project/commit/64148944c56f50a50383c79d5b6d074d8608f2a4
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/MC/AArch64/SVE2/sqabs-diagnostics.s
M llvm/test/MC/AArch64/SVE2/sqneg-diagnostics.s
M llvm/test/MC/AArch64/SVE2/urecpe-diagnostics.s
M llvm/test/MC/AArch64/SVE2/ursqrte-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/sqabs_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/sqabs_z.s
A llvm/test/MC/AArch64/SVE2p2/sqneg_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/sqneg_z.s
A llvm/test/MC/AArch64/SVE2p2/urecpe_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/urecpe_z.s
A llvm/test/MC/AArch64/SVE2p2/ursqrte_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/ursqrte_z.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for zeroing SVE2 integer instructions (#113473)
This patch adds assembly/disassembly for the following SVE2.2
instructions
- SQABS (zeroing)
- SQNEG (zeroing)
- URECPE (zeroing)
- USQRTE (zeroing)
- Refactor the existing merging forms to remove the now redundant bit 17
argument.
- In accordance with:
https://developer.arm.com/documentation/ddi0602/latest/
Commit: f5ff3a560fe247206814792a7f8efef8215f7689
https://github.com/llvm/llvm-project/commit/f5ff3a560fe247206814792a7f8efef8215f7689
Author: Discookie <viktor.cseh at ericsson.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.c
Log Message:
-----------
[clang-tidy] Do not emit file path for anonymous enums in `readability-enum-initial-value` check (#112496)
Previously the name of anonymous enums in the check were `enum 'enum
(unnamed at /full/path/to/file.c:1:1)'`, which breaks reproducibility of
clang-tidy reports when the analyzed project is in a different folder.
Commit: 1df5c943439b050dbc34e7a1c88c4d8ec90d26b5
https://github.com/llvm/llvm-project/commit/1df5c943439b050dbc34e7a1c88c4d8ec90d26b5
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
A clang/test/CodeGen/aarch64-fpm-helpers.c
M clang/utils/TableGen/NeonEmitter.cpp
Log Message:
-----------
[AArch64] Implement FP8 floating-point mode helper intrinsics (#100608)
Implement FP8 mode helper intrinsics (as inline functions) as
specified in ACLE 2024Q3 "14.2 Helper intrinsics"
https://github.com/ARM-software/acle/releases/download/r2024Q3/acle-2024Q3.pdf
Commit: 0cbccb13d6757b0ea7f2a7f29bb598e1935bcf37
https://github.com/llvm/llvm-project/commit/0cbccb13d6757b0ea7f2a7f29bb598e1935bcf37
Author: Luke Lau <luke at igalia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/rvv/remat.ll
Log Message:
-----------
[RISCV] Remove support for pre-RA vsetvli insertion (#110796)
Now that LLVM 19.1.0 has been out for a while with post-vector-RA
vsetvli insertion enabled by default, this proposes to remove the flag
that restores the old pre-RA behaviour so we only have one configuration
going forward.
That flag was mainly meant as a fallback in case users ran into issues,
but I haven't seen anything reported so far.
Commit: d6d4569dd90261bc8cdb3d1c3c2204cde1fe566f
https://github.com/llvm/llvm-project/commit/d6d4569dd90261bc8cdb3d1c3c2204cde1fe566f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
Log Message:
-----------
Fix MSVC "signed/unsigned mismatch" warnings. NFC.
Commit: 056cf936a730a72db7ad9da8b475814c6bbe03b7
https://github.com/llvm/llvm-project/commit/056cf936a730a72db7ad9da8b475814c6bbe03b7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/andnot-patterns.ll
Log Message:
-----------
[DAG] Fold (and X, (bswap/bitreverse (not Y))) -> (and X, (not (bswap/bitreverse Y))) (#112547)
On ANDNOT capable targets we can always do this profitably, without ANDNOT we only attempt this if we don't introduce an additional NOT
Fixes #112425
Commit: 75c75fc16e8a202668cfa71404724117b22336b9
https://github.com/llvm/llvm-project/commit/75c75fc16e8a202668cfa71404724117b22336b9
Author: dong-miao <601183878 at qq.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV]Add svvptc extension (#113882)
Commit: 233e64d8e4211e6c3c94a986c28f9993da2b8de0
https://github.com/llvm/llvm-project/commit/233e64d8e4211e6c3c94a986c28f9993da2b8de0
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 0be1883c36fc
Commit: cbaecb5d299c48ea23319704445c1ee8405f4c04
https://github.com/llvm/llvm-project/commit/cbaecb5d299c48ea23319704445c1ee8405f4c04
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Log Message:
-----------
[gn build] Port 3d6923dbac16
Commit: 595ec4e4be7de4258dd346e606b4a03a5eb0ce8a
https://github.com/llvm/llvm-project/commit/595ec4e4be7de4258dd346e606b4a03a5eb0ce8a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port 5aa1275d03b6
Commit: 2a4bab3fac64833321287d9ba17dcad5255d0ab4
https://github.com/llvm/llvm-project/commit/2a4bab3fac64833321287d9ba17dcad5255d0ab4
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port cfde4fbccf5d
Commit: 1164bd774783f33419e56cf10fdb87fbeab2b185
https://github.com/llvm/llvm-project/commit/1164bd774783f33419e56cf10fdb87fbeab2b185
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port e146c1867e8d
Commit: ba7555e640ea7fe341e19e0c1fffe5960b7c0d5b
https://github.com/llvm/llvm-project/commit/ba7555e640ea7fe341e19e0c1fffe5960b7c0d5b
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/riscv-profiles.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVProfiles.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Mark the RVA23S64 and RVA23U64 profiles as non-experimental (#113826)
All of the extensions used by these profile are themselves
non-experimental, and RVA23 was just ratified
<https://riscv.org/announcements/2024/10/risc-v-announces-ratification-of-the-rva23-profile-standard/>.
<https://github.com/riscv/riscv-profiles/blob/main/src/rva23-profile.adoc>
We lack a way of expressing `Ss1p13` (supervisor architecture 1.13), but
this is a problem we have for RVA22 (Ss1p12) and RVA20 (Ss1p11) so I
don't feel it's a blocker.
Commit: ddd463be7edc3f3d03a6e88917fff66ef84210e9
https://github.com/llvm/llvm-project/commit/ddd463be7edc3f3d03a6e88917fff66ef84210e9
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
Log Message:
-----------
[AArch64] Add getStreamingHazardSize() to AArch64Subtarget (#113679)
This is defined by the `-aarch64-streaming-hazard-size` option or its
alias `-aarch64-stack-hazard-size` (the original name). It has been
renamed to be more general as this option will (for the time being) be
used to detect if the current target has streaming mode memory hazards.
---------
Co-authored-by: Hari Limaye <hari.limaye at arm.com>
Commit: 9090430d4176fa260b8da46b7b983b3760d452be
https://github.com/llvm/llvm-project/commit/9090430d4176fa260b8da46b7b983b3760d452be
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
Log Message:
-----------
Add clang::lifetimebound annotation to StringRef constructors. (#113878)
Adding the lifetimebound annotation to the ArrayRef's array constructor
can enable us to detect the following use-after-free issues:
```
llvm::StringRef TestZoneName() {
char test[] = "foo"; // oops, missing static
return test; // use-after-free.
}
```
See #113533
Commit: b1ede8fcb45d91092f5afe6c88d7a548f14ed848
https://github.com/llvm/llvm-project/commit/b1ede8fcb45d91092f5afe6c88d7a548f14ed848
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
Log Message:
-----------
[reland][libc][bazel] Enable software prefetching for memcpy (#113886)
This will affect only Bazel configuration for now.
This is a reland of #108939 which has been reverted because of codegen
issues fixed by https://github.com/llvm/llvm-project/pull/113161.
Commit: ce0368eb8417f2d369499bb98b1f0ccbe2219598
https://github.com/llvm/llvm-project/commit/ce0368eb8417f2d369499bb98b1f0ccbe2219598
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/MC/AArch64/SVE2p1/pmlal-diagnostics.s
A llvm/test/MC/AArch64/SVE2p1/pmlal.s
A llvm/test/MC/AArch64/SVE2p1/pmull-diagnostics.s
A llvm/test/MC/AArch64/SVE2p1/pmull.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for PMLAL/PMULL instructions (#113564)
This patch adds assembly/disassembly for the following SVE_AES2
instructions
- PMLAL
- PMULL
- In accordance with:
https://developer.arm.com/documentation/ddi0602/latest/
Commit: 7152bf3bc805b8d9b1873058ab0a084d7b6079d6
https://github.com/llvm/llvm-project/commit/7152bf3bc805b8d9b1873058ab0a084d7b6079d6
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/full-overlap-non-schedulable.ll
Log Message:
-----------
[SLP]Do not create new vector node if scalars fully overlap with the existing one
If the list of scalars vectorized as the part of the same vector node,
no need to generate vector node again, it will be handled as part of
overlapping matching.
Fixes #113810
Commit: d4c41804175e9cb37266c410cafe9caaac1819ca
https://github.com/llvm/llvm-project/commit/d4c41804175e9cb37266c410cafe9caaac1819ca
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/test/Driver/amdgpu-toolchain.c
M clang/test/Driver/cuda-cross-compiling.c
Log Message:
-----------
[Clang] Add a flag to include GPU startup files (#112025)
Summary:
The C library for GPUs provides the ability to target regular C/C++
programs by providing the C library and a file containing kernels that
call the `main` function. This is mostly used for unit tests, this patch
provides a quick way to add them without needing to know the paths. I
currently do this explicitly, but according to the libc++ contributors
we don't want to need to specify these paths manually. See the
discussion in https://github.com/llvm/llvm-project/pull/104515.
I just default to `lib/` if the target-specific one isn't found because
the linker will handle giving a reasonable error message if it's not
found. Basically the use-case looks like this.
```console
$ clang test.c --target=amdgcn-amd-amdhsa -mcpu=native -startfiles -stdlib
$ amdhsa-loader a.out
PASS!
```
Commit: 42eb54b7743df421af10ebe14b67bb79b46ecabb
https://github.com/llvm/llvm-project/commit/42eb54b7743df421af10ebe14b67bb79b46ecabb
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/test/CodeGenCUDA/offloading-entries.cu
M llvm/lib/Frontend/Offloading/Utility.cpp
Log Message:
-----------
[Clang] Put offloading globals in the `.llvm.rodata.offloading` section (#111890)
Summary:
For our offloading entries, we currently store all the string names of
kernels that the runtime will need to load from the target executable.
These are available via pointer in the `__tgt_offload_entry` struct,
however this makes it difficult to obtain from the object itself. This
patch simply puts the strings in a named section so they can be easily
queried.
The motivation behind this is that when the linker wrapper is doing
linking, it wants to know which kernels the host executable is calling.
We *could* get this already via the `.relaomp_offloading_entires`
section and trawling through the string table, but that's quite annoying
and not portable. The follow-up to this should be to make the linker
wrapper get a list of all used symbols the device link job should count
as "needed" so we can handle static linking more directly.
Commit: bd6ab32e6eb642f2b0b15be8c7c2a668192f07d8
https://github.com/llvm/llvm-project/commit/bd6ab32e6eb642f2b0b15be8c7c2a668192f07d8
Author: Yusuke MINATO <minato.yusuke at fujitsu.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/test/Driver/frontend-forwarding.f90
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/loop01.fir
M flang/test/Fir/loop02.fir
M flang/test/Lower/HLFIR/goto-do-body.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/array-character.f90
M flang/test/Lower/array-derived-assignments.f90
M flang/test/Lower/array-derived.f90
M flang/test/Lower/array-elemental-calls-char-byval.f90
M flang/test/Lower/array-elemental-calls-char.f90
M flang/test/Lower/array-expression-assumed-size.f90
M flang/test/Lower/array-expression-slice-1.f90
M flang/test/Lower/array-substring.f90
M flang/test/Lower/array-temp.f90
M flang/test/Lower/components.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/do_loop_unstructured.f90
M flang/test/Lower/goto-do-body.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/infinite_loop.f90
M flang/test/Lower/io-implied-do-fixes.f90
M flang/test/Lower/loops2.f90
M flang/test/Lower/mixed_loops.f90
M flang/test/Lower/vector-subscript-io.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
Revert "[flang] Integrate the option -flang-experimental-integer-overflow into -fno-wrapv" (#113901)
Reverts llvm/llvm-project#110063 due to the performance regression on
503.bwaves_r in SPEC2017.
Commit: 1f6741c1645954b1f4b2fbca470a20081f5e75af
https://github.com/llvm/llvm-project/commit/1f6741c1645954b1f4b2fbca470a20081f5e75af
Author: Jan Voung <jvoung at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
Log Message:
-----------
[clang][dataflow] Don't clear cached field state if field is const (#113698)
... in the unchecked optional access model.
Commit: d83485a080341688cbb9d5c07a3839bd97f9001e
https://github.com/llvm/llvm-project/commit/d83485a080341688cbb9d5c07a3839bd97f9001e
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
A clang/test/CXX/drs/cwg1884.cpp
M clang/test/CXX/drs/cwg18xx.cpp
A clang/test/CXX/drs/cwg279.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang][NFC] Add test for CWG issues about linkage in cross-TU context (#113736)
[CWG279](https://cplusplus.github.io/CWG/issues/279.html) Correspondence
of "names for linkage purposes"
====================
[P1787R6](https://wg21.link/p1787r6):
> CWG1884, CWG279, and CWG338 are resolved by defining entity identity
explicitly.
In both cases discussed in the issue, declaration matching succeeds per
[[basic.link]/8](https://eel.is/c++draft/basic.link#8), thanks to the
> considering declarations of unnamed types to introduce their names for
linkage purposes, if any ([dcl.typedef], [dcl.enum])
and
> they both declare names with external linkage
parts. Which means that both pairs of declarations of `S` and `S2`
declare the same entity.
[[basic.link]/11](https://eel.is/c++draft/basic.link#11) is also
satisfied, because in all cases type is declared.
Then cases diverge. `S` is a pair of a forward declaration and a
definition, which means it's not a subject to
[[basic.def.odr]/15](https://eel.is/c++draft/basic.def.odr#15), hence
it's well-formed. Whereas `S2` is a pair of two definitions, so they are
subjects to
[[basic.def.odr]/15](https://eel.is/c++draft/basic.def.odr#15), which
they do not satisfy due to the violation of the following requirement:
> — Each such definition shall consist of the same sequence of tokens,
<...>
Because per [[class.pre/2]](https://eel.is/c++draft/class#pre-2), class
definition is class-specifier, which includes class-head, but class-head
is different between definitions.
[CWG338](https://cplusplus.github.io/CWG/issues/338.html) Enumerator
name with linkage used as class name in other translation unit
====================
[P1787R6](https://wg21.link/p1787r6):
> CWG1884, CWG279, and CWG338 are resolved by defining entity identity
explicitly.
I believe this CWG issue points to the same underlying issue with old
[basic.link]/9 as CWG1884 (see below), so I'm calling it a duplicate of
CWG1884. Cases described there are a part of an extensive CWG1884 test.
Also worth noting that enumerators don't have linkage these days.
[CWG1884](https://cplusplus.github.io/CWG/issues/1898.html) Unclear
requirements for same-named external-linkage entities
====================
[P1787R6](https://wg21.link/p1787r6):
> CWG1884, CWG279, and CWG338 are resolved by defining entity identity
explicitly.
[basic.link]/9 quoted in the issue is now split into several pieces.
> Two names that are the same (6.1 [basic.pre])
I believe this is corresponding declarations now, defined in
[[basic.scope.scope]/4](https://eel.is/c++draft/basic.scope#scope-4).
> and that are declared in different scopes shall denote the same
variable, function, type, enumerator, template or namespace if
This is covered by
[[basic.link]/11](https://eel.is/c++draft/basic.link#11) after it's
determined by [[basic.link]/8](https://eel.is/c++draft/basic.link#8)
that two declarations declare the same entity.
> — both names have external linkage or else both names have internal
linkage and are declared in the same translation unit; and
> — both names refer to members of the same namespace or to members, not
by inheritance, of the same class; and
Most of this is covered by
[[basic.link]/8](https://eel.is/c++draft/basic.link#8).
> — when both names denote functions, the parameter-type-lists of the
functions (9.3.4.6 [dcl.fct]) are identical; and
> — when both names denote function templates, the signatures (13.7.7.2
[temp.over.link]) are the same.
This is corresponding overloads now, defined in
[[basic.scope.scope]/4](https://eel.is/c++draft/basic.scope#scope-4).
> Among other things, it should be clarified that "declared in" refers
to the namespace of which the name is a member, not the lexical scope in
which the declaration appears (which affects friend declarations,
block-scope extern declarations, and elaborated-type-specifiers).
This is addressed by "have the same target scope" part of
[[basic.link]/8](https://eel.is/c++draft/basic.link#8).
The tests basically test
[[basic.link]/11](https://eel.is/c++draft/basic.link#11) from the
following standpoint:
> The intent is that this rule prevents declaring a name with extenal
linkage to be, for instance, a type in one translation unit and a
namespace in a different translation unit.
See the comment in the beginning of the test for details on testing
approach. Reviewers are advised to check compiler output for any
surprises, but if they are in a hurry, they can search for `FIXME`,
`OK`, and `#cwg1884` to see the most of irregularities in Clang behavior
across the test (not all of them are incorrect behavior, though).
Commit: 40363d506db8ab3382339dc4463372dcfcf931b7
https://github.com/llvm/llvm-project/commit/40363d506db8ab3382339dc4463372dcfcf931b7
Author: Luke Lau <luke at igalia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/test/Analysis/CostModel/RISCV/fround.ll
Log Message:
-----------
[RISCV] Add cost model tests for fp rounding ops for bf16. NFC
Commit: c9f01f699cc55929b18befc0fa34d70630fc9074
https://github.com/llvm/llvm-project/commit/c9f01f699cc55929b18befc0fa34d70630fc9074
Author: Sushant Gokhale <sgokhale at nvidia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AArch64/div.ll
Log Message:
-----------
[SLP][AArch64][NFC] Add more tests for SLP vectorization of div (#113876)
Currently, we dont have much tests that show SLP outcome for integer
divisions. This patch adds tests for same.
In certain scenarios, for Neon, vectorization is profitable. An attempt
would be made in future to improve the cost-model for the same.
Commit: 3ac75ee8ecbe3bb1d1907adf48731bb6dc2c9918
https://github.com/llvm/llvm-project/commit/3ac75ee8ecbe3bb1d1907adf48731bb6dc2c9918
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/test/hwasan/lit.cfg.py
M compiler-rt/test/lit.common.configured.in
M runtimes/CMakeLists.txt
Log Message:
-----------
Revert "[runtimes] Allow building against an installed LLVM tree" (#113920)
Reverts llvm/llvm-project#86209
This patch breaks running tests locally, which is extremely disruptive
to libc++ development.
Commit: 7d1e98c7d34e2f4be1812a2f00f1d0464f29e542
https://github.com/llvm/llvm-project/commit/7d1e98c7d34e2f4be1812a2f00f1d0464f29e542
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/test/DebugInfo/Generic/debug-names-accel-table-types.ll
Log Message:
-----------
[AIX][SystemZ][z/OS] Disable test for AIX, z/OS due to missing DWARF sections (#113910)
This patch disables the testcase for AIX and z/OS due to incomplete
DWARF support.
Commit: 53f7f8eccabd6e3383edfeec312bf8671a89bc66
https://github.com/llvm/llvm-project/commit/53f7f8eccabd6e3383edfeec312bf8671a89bc66
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/CodeGen/CGFunctionInfo.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
A clang/test/CodeGen/aarch64-pure-scalable-args-empty-union.c
A clang/test/CodeGen/aarch64-pure-scalable-args.c
Log Message:
-----------
[Clang][AArch64] Fix Pure Scalables Types argument passing and return (#112747)
Pure Scalable Types are defined in AAPCS64 here:
https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst#pure-scalable-types-psts
And should be passed according to Rule C.7 here:
https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst#682parameter-passing-rules
This part of the ABI is completely unimplemented in Clang, instead it
treats PSTs sometimes as HFAs/HVAs, sometime as general composite types.
This patch implements the rules for passing PSTs by employing the
`CoerceAndExpand` method and extending it to:
* allow array types in the `coerceToType`; Now only `[N x i8]` are
considered padding.
* allow mismatch between the elements of the `coerceToType` and the
elements of the `unpaddedCoerceToType`; AArch64 uses this to map
fixed-length vector types to SVE vector types.
Corectly passing a PST argument needs a decision in Clang about whether
to pass it in memory or registers or, equivalently, whether to use the
`Indirect` or `Expand/CoerceAndExpand` method. It was considered
relatively harder (or not practically possible) to make that decision in
the AArch64 backend.
Hence this patch implements the register counting from AAPCS64 (cf.
`NSRN`, `NPRN`) to guide the Clang's decision.
Commit: b27acebe63b128feb3bb9c3c62d77f235d2e6a6e
https://github.com/llvm/llvm-project/commit/b27acebe63b128feb3bb9c3c62d77f235d2e6a6e
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
A llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopc-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp16.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_promote.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopcx-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp16.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_promote.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop3c-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopc-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp16.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_promote.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopcx-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_promote.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][test] update VOPC/VOPCX test for true16/fake16 (#112829)
This is a non-functional change
update GFX11/GFX12 VOPC/VOPCX asm/dasm test for true16/fake16:
1. duplicate files to be true16/fake16 by adding
"-mattr=+real-true16/-mattr=-real-true16" while true16 test file will be
updated to true16 format when the true16 instructions are supported
2. sort "*t16_err.s" and "*t16_promote.s" tests to alphabetic order.
tests to alphabetic order. This is for the upcoming true16 mc changes,
and mainly trying to help repo maintainer to resolve conflicts in the
tests quickly. A script is proposed to help for the sorting
https://github.com/llvm/llvm-project/pull/111769. Since these two files
are t16 only, it should not create conflicts in downstream branches
3. add `-filetype=null` to seperate stdout and stderr to avoid
disordered output from llvm-mc
Commit: 670512b5c32217e37796fd8d42101ac24cdb4a8d
https://github.com/llvm/llvm-project/commit/670512b5c32217e37796fd8d42101ac24cdb4a8d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/srem-lkk.ll
Log Message:
-----------
[AArch64] Regenerate srem-lkk.ll to add missing asm comments
Reduces diff in #112588
Commit: 5ac3f3c45cd4d2934d36565eae7e33a629ff7b22
https://github.com/llvm/llvm-project/commit/5ac3f3c45cd4d2934d36565eae7e33a629ff7b22
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
Log Message:
-----------
[RISCV] Add DestEEW = EEW1 to VMADC. (#113013)
It was present on VMSBC but not VMADC. Reorder the instructions to avoid
duplicate 'let' statements.
Commit: eb53d08bce52d4503cf38e26bedfcbd0fed9cd3a
https://github.com/llvm/llvm-project/commit/eb53d08bce52d4503cf38e26bedfcbd0fed9cd3a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/X86PfmCounters.td
M llvm/lib/Target/X86/X86SchedSapphireRapids.td
Log Message:
-----------
[llvm-exegesis] Add Pfm Counters for SapphireRapids (#113847)
This patch adds the appropriate hookups in X86PfmCounters.td for
SapphireRapids. This is mostly to fix errors when some of my jobs that
only really need dummy counters get scheduled on sapphire rapids
machines, but figured I might as well do it properly while here. I do
not have hardware access to test this currently, but this matches
exactly with what is in the libpfm source code.
Commit: 80f38fbdcfa96316908bb4ac3481d9eac6abf60e
https://github.com/llvm/llvm-project/commit/80f38fbdcfa96316908bb4ac3481d9eac6abf60e
Author: Boaz Brickner <brickner at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/StringMapEntry.h
Log Message:
-----------
[clang] [NFC] Deduplicate the logic between StringMapEntry.first() and StringMapEntry.getKey() (#113735)
Commit: 7a710110fcb2ad5d903ec41ba6a63193cf03edc0
https://github.com/llvm/llvm-project/commit/7a710110fcb2ad5d903ec41ba6a63193cf03edc0
Author: Petr Kurapov <petr.a.kurapov at intel.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
Log Message:
-----------
[MLIR][Vector] Remove unused and unimplemented Vector_WarpExecuteOnLa… (#112338)
…ne0Op builder
Removing the declaration instead of implementing the builder as
discussed in #110106
Commit: 106259510f6a7a3824dd34f78a77ead150dd2154
https://github.com/llvm/llvm-project/commit/106259510f6a7a3824dd34f78a77ead150dd2154
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/MC/AArch64/FP8/fmmla-diagnostics.s
A llvm/test/MC/AArch64/FP8/fmmla.s
A llvm/test/MC/AArch64/armv9.6a-cvtf.s
A llvm/test/MC/AArch64/armv9.6a-fcvt.s
M llvm/test/MC/AArch64/directive-arch-negative.s
M llvm/test/MC/AArch64/directive-arch.s
M llvm/test/MC/AArch64/directive-arch_extension-negative.s
M llvm/test/MC/AArch64/directive-arch_extension.s
M llvm/test/MC/AArch64/directive-cpu.s
M llvm/test/MC/AArch64/neon-diagnostics.s
Log Message:
-----------
[AArch64]Add convert and multiply-add SIMD&FP assembly/disassembly in… (#113296)
…structions
This patch adds the following instructions:
Conversion between floating-point and integer:
FCVT{AS, AU, MS, MU, NS, NU, PS, PU, ZS, ZU}
{S,U}CVTF
Advanced SIMD three-register extension:
FMMLA
According to https://developer.arm.com/documentation/ddi0602
Co-authored-by: Marian Lukac marian.lukac at arm.com
Co-authored-by: Spencer Abson spencer.abson at arm.com
Commit: ab5d3c9d359d84e454d54e8d91b5c834c42c5a47
https://github.com/llvm/llvm-project/commit/ab5d3c9d359d84e454d54e8d91b5c834c42c5a47
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
Log Message:
-----------
[RISCV] Assign different scheduling classes for VMADC/VMSBC (#113009)
Split the scheduling classes of VMADC/VMSBC away from that of VADC/VSBC.
Because the former are technically mask-producing instructions rather
than normal vector arithmetics, which might have different performance
characteristics on some processors.
This is effectively NFC.
Commit: 92412c106f5275b4b385f7c2d882008181de2854
https://github.com/llvm/llvm-project/commit/92412c106f5275b4b385f7c2d882008181de2854
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
A llvm/test/tools/llvm-objdump/MachO/AArch64/aliases.s
M llvm/tools/llvm-objdump/MachODump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.h
Log Message:
-----------
[llvm-objdump] Handle -M for --macho
--macho -d uses the `parseInputMachO` code path, which does not handle
-M. Add -M handling for --macho as well.
Close #61019
Pull Request: https://github.com/llvm/llvm-project/pull/113795
Commit: 6ab26eab4f1e06f2da7b3183c55666ad57f8866e
https://github.com/llvm/llvm-project/commit/6ab26eab4f1e06f2da7b3183c55666ad57f8866e
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/ExpandMemCmp.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/LiveIntervals.cpp
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
M llvm/lib/CodeGen/MachineCombiner.cpp
M llvm/lib/CodeGen/MachineSizeOpts.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/TailDuplicator.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/X86/X86FixupBWInsts.cpp
M llvm/lib/Target/X86/X86OptimizeLEAs.cpp
M llvm/lib/Target/X86/X86PadShortFunction.cpp
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Utils/SizeOpts.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
Log Message:
-----------
Check hasOptSize() in shouldOptimizeForSize() (#112626)
Commit: 6827a00d4dfe1fa7d479337b6192602744055686
https://github.com/llvm/llvm-project/commit/6827a00d4dfe1fa7d479337b6192602744055686
Author: SharonXSharon <xiaoranxu.nju at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M lld/MachO/BPSectionOrderer.cpp
Log Message:
-----------
[lld][InstrProf] Do not use cstring offset hashes in function order for compression (#113606)
Commit: af7c58b7ea853ef34462ce97739203e2da3c5894
https://github.com/llvm/llvm-project/commit/af7c58b7ea853ef34462ce97739203e2da3c5894
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangStandard.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/Types.def
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/LangStandards.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/ARM.h
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/ABIInfoImpl.h
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/Driver/Types.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendActions.cpp
R clang/test/CodeGen/debug-info-renderscript-tag.rs
M clang/test/CodeGen/fp16-ops.c
R clang/test/CodeGen/renderscript.c
R clang/test/Driver/renderscript.rs
M clang/test/Driver/unknown-std.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Preprocessor/predefined-macros-no-warnings.c
R clang/test/Sema/renderscript.rs
M clang/www/index.html
Log Message:
-----------
Remove support for RenderScript (#112916)
See
https://discourse.llvm.org/t/rfc-deprecate-and-eventually-remove-renderscript-support/81284
for the RFC
Commit: f14743794587db102c6d1b20f9c87a1ac20decfd
https://github.com/llvm/llvm-project/commit/f14743794587db102c6d1b20f9c87a1ac20decfd
Author: jimingham <jingham at apple.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M lldb/include/lldb/Breakpoint/BreakpointLocation.h
M lldb/include/lldb/Breakpoint/BreakpointSite.h
M lldb/include/lldb/Core/Declaration.h
M lldb/include/lldb/Target/StopInfo.h
M lldb/include/lldb/Target/ThreadPlanStepInRange.h
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Breakpoint/BreakpointSite.cpp
M lldb/source/Core/Declaration.cpp
M lldb/source/Symbol/Block.cpp
M lldb/source/Symbol/CompileUnit.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadPlanStepInRange.cpp
M lldb/source/Target/ThreadPlanStepOverRange.cpp
M lldb/test/API/functionalities/inline-stepping/TestInlineStepping.py
M lldb/test/API/functionalities/inline-stepping/calling.cpp
Log Message:
-----------
Add the ability to break on call-site locations, improve inline stepping (#112939)
Previously lldb didn't support setting breakpoints on call site
locations. This patch adds that ability.
It would be very slow if we did this by searching all the debug
information for every inlined subroutine record looking for a call-site
match, so I added one restriction to the call-site support. This change
will find all call sites for functions that also supply at least one
line to the regular line table. That way we can use the fact that the
line table search will move the location to that subsequent line (but
only within the same function). When we find an actually moved source
line match, we can search in the function that contained that line table
entry for the call-site, and set the breakpoint location back to that.
When I started writing tests for this new ability, it quickly became
obvious that our support for virtual inline stepping was pretty buggy.
We didn't print the right file & line number for the breakpoint, and we
didn't set the position in the "virtual inlined stack" correctly when we
hit the breakpoint. We also didn't step through the inlined frames
correctly. There was code to try to detect the right inlined stack
position, but it had been refactored a while back with the comment that
it was super confusing and the refactor was supposed to make it clearer,
but the refactor didn't work either.
That code was made much clearer by abstracting the job of "handling the
stack readjustment" to the various StopInfo's. Previously, there was a
big (and buggy) switch over stop info's. Moving the responsibility to
the stop info made this code much easier to reason about.
We also had no tests for virtual inlined stepping (our inlined stepping
test was actually written specifically to avoid the formation of a
virtual inlined stack... So I also added tests for that along with the
tests for setting the call-site breakpoints.
Commit: e517cfc531886bf6ed64b4e7109bb3141ac7f430
https://github.com/llvm/llvm-project/commit/e517cfc531886bf6ed64b4e7109bb3141ac7f430
Author: Lei Wang <wlei at fb.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/CodeGen/pgo-cold-function-coverage.c
A clang/test/Driver/fprofile-generate-cold-function-coverage.c
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
A llvm/test/Transforms/PGOProfile/instr-gen-cold-function.ll
Log Message:
-----------
[InstrPGO] Support cold function coverage instrumentation (#109837)
This patch adds support for cold function coverage instrumentation based
on sampling PGO counts. The major motivation is to detect dead functions
for the services that are optimized with sampling PGO. If a function is
covered by sampling profile count (e.g., those with an entry count > 0),
we choose to skip instrumenting those functions, which significantly
reduces the instrumentation overhead.
More details about the implementation and flags:
- Added a flag `--pgo-instrument-cold-function-only` in
`PGOInstrumentation.cpp` as the main switch to control skipping the
instrumentation.
- Built the extra instrumentation passes(a bundle of passes in
`addPGOInstrPasses`) under sampling PGO pipeline. This is controlled by
`--instrument-cold-function-only-path` flag.
- Added a driver flag `-fprofile-generate-cold-function-coverage`:
- 1) Config the flags in one place, i,e. adding
`--instrument-cold-function-only-path=<...>` and
`--pgo-function-entry-coverage`. Note that the instrumentation file path
is passed through `--instrument-sample-cold-function-path`, because we
cannot use the `PGOOptions.ProfileFile` as it's already used by
`-fprofile-sample-use=<...>`.
- 2) makes linker to link `compiler_rt.profile` lib(see
[ToolChain.cpp#L1125-L1131](https://github.com/llvm/llvm-project/blob/main/clang/lib/Driver/ToolChain.cpp#L1125-L1131)
).
- Added a flag(`--pgo-cold-instrument-entry-threshold`) to config entry
count to determine cold function.
Overall, the full command is like:
```
clang++ -O2 -fprofile-generate-cold-function-coverage=<...> -fprofile-sample-use=<...> code.cc -o code
```
Commit: 98e3075df992636fa42aafde96748d1d5c834688
https://github.com/llvm/llvm-project/commit/98e3075df992636fa42aafde96748d1d5c834688
Author: Steven Perron <stevenperron at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
A clang/test/CodeGenHLSL/convergence/entry.point.hlsl
Log Message:
-----------
[HLSL][SPIRV] Add convergence tokens to entry point wrapper (#112757)
Inlining currently assumes that either all function use controled
convergence or none of them do. This is why we need to have the entry
point wrapper use controled convergence.
https://github.com/llvm/llvm-project/blob/c85611e8583e6392d56075ebdfa60893b6284813/llvm/lib/Transforms/Utils/InlineFunction.cpp#L2431-L2439
Commit: 97fb21ac1d6bc528b61a555356457ff2129dfde1
https://github.com/llvm/llvm-project/commit/97fb21ac1d6bc528b61a555356457ff2129dfde1
Author: Chris Apple <cja-private at pm.me>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
Log Message:
-----------
[rtsan] Intercept aligned_alloc on all versions of OSX if available on build machine (#112780)
Commit: 31a6dbe941b25aadd6cbf3829d1a96973968bf11
https://github.com/llvm/llvm-project/commit/31a6dbe941b25aadd6cbf3829d1a96973968bf11
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M lld/COFF/Chunks.cpp
A lld/test/COFF/autoimport-arm64ec-data.test
Log Message:
-----------
[LLD][COFF] Add Support for ARM64EC pseudo relocations (#113832)
Commit: 4cf128512be5d7e41d8b8b5a12eec47a64af36ea
https://github.com/llvm/llvm-project/commit/4cf128512be5d7e41d8b8b5a12eec47a64af36ea
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[NFC][AMDGPU] Use C++17 structured bindings as much as possible (#113939)
This only changes `llvm/lib/Target/AMDGPU/SIISelLowering.cpp`.
There are five uses of `std::tie` remaining because they can't be
replaced with
C++17 structured bindings.
Commit: f23bdbbaff5b89b1c102a155d062fc32f99d4a92
https://github.com/llvm/llvm-project/commit/f23bdbbaff5b89b1c102a155d062fc32f99d4a92
Author: tf2spi <misomosispi at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm-c/DebugInfo.h
M llvm/lib/IR/DebugInfo.cpp
M llvm/test/Bindings/llvm-c/debug_info_new_format.ll
M llvm/tools/llvm-c-test/debuginfo.c
Log Message:
-----------
Add DILabel functions for LLVM-C (#112840)
Addresses #112799
Commit: 19c0a74ad6baa9eb38dbe0a20af7c67999c41821
https://github.com/llvm/llvm-project/commit/19c0a74ad6baa9eb38dbe0a20af7c67999c41821
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M lldb/tools/lldb-dap/JSONUtils.cpp
Log Message:
-----------
[lldb] Fix lldb windows build breakage from https://github.com/llvm/llvm-project/pull/113839.
Commit: da1a16ae10177494c7cae929bec987e90a160403
https://github.com/llvm/llvm-project/commit/da1a16ae10177494c7cae929bec987e90a160403
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/test/ClangScanDeps/link-libraries.c
Log Message:
-----------
[clang][modules] Preserve the module map that allowed inferring (#113389)
With inferred modules, the dependency scanner takes care to replace the
fake "__inferred_module.map" path with the file that allowed the module
to be inferred. However, this only worked when such a module was
imported directly in the TU. Whenever such module got loaded
transitively, the scanner would fail to perform the replacement. This is
caused by the fact that PCM files are lossy and drop this information.
This patch makes sure that PCMs include this file for each submodule (in
the `SUBMODULE_DEFINITION` record), fixes one existing test with an
incorrect assertion, and does a little drive-by refactoring of
`ModuleMap`.
Commit: cafd3e10c39a2bfc81eac33ee56a706476e676a9
https://github.com/llvm/llvm-project/commit/cafd3e10c39a2bfc81eac33ee56a706476e676a9
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M bolt/test/X86/pre-aggregated-perf.test
Log Message:
-----------
[BOLT][test] Fix NFC check with pre-aggregated-perf.test (#113944)
NFC checks have been failing starting with
https://lab.llvm.org/buildbot/#/builders/92/builds/8567.
NFC testing wrapper (llvm-bolt-wrapper) replaces the call of `perf2bolt`
with `llvm-bolt --aggregate-only --ignore-build-id`.
`show-density` is automatically enabled for perf2bolt only but not for
`llvm-bolt --aggregate-only`. Add the flag to the test to work around
the issue.
Test Plan:
```
cd build
../llvm-project/bolt/utils/nfc-check-setup.py --switch-back --verbose
bin/llvm-lit -a tools/bolt/test/X86/pre-aggregated-perf.test
```
Commit: e0a02fdb459f3126fbc40cf376f4a3871652ae49
https://github.com/llvm/llvm-project/commit/e0a02fdb459f3126fbc40cf376f4a3871652ae49
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[NFC][Clang][TableGen] Use StringRef in FlattenedSpelling (#113809)
- Change FlattenedSpelling to use StringRef instead of std::String.
- Use range for loops and enumerate().
- Use ArrayRef<> instead of std::vector reference as function arguments.
- Use {} for all if/else branch bodies if one of them uses it.
Commit: 6c6351ee350589c8e6bcd69c3255374a714d87d0
https://github.com/llvm/llvm-project/commit/6c6351ee350589c8e6bcd69c3255374a714d87d0
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Basic/Module.h
M clang/include/clang/Lex/ModuleMap.h
M clang/lib/Basic/Module.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Serialization/ASTReader.cpp
Log Message:
-----------
[clang][modules] Optimize construction and usage of the submodule index (#113391)
This patch avoids eagerly populating the submodule index on `Module`
construction. The `StringMap` allocation shows up in my profiles of
`clang-scan-deps`, while the index is not necessary most of the time. We
still construct it on-demand.
Moreover, this patch avoids performing qualified submodule lookup in
`ASTReader` whenever we're serializing a module graph whose top-level
module is unknown. This is pointless, since that's guaranteed to never
find any existing submodules anyway.
This speeds up `clang-scan-deps` by ~0.5% on my workload.
Commit: 5a5b78a84e7214796410265139ecf0266b1fd216
https://github.com/llvm/llvm-project/commit/5a5b78a84e7214796410265139ecf0266b1fd216
Author: David Green <david.green at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
Log Message:
-----------
[AArch64][GlobalISel] Lower aarch64.neon.smull/umull intrinsics.
As with other nodes, we can convert these into G_UMULL and G_SMULL aarch64
instructions.
Commit: b54bc104ea87e301816b450ee117d2d864c7d82d
https://github.com/llvm/llvm-project/commit/b54bc104ea87e301816b450ee117d2d864c7d82d
Author: jimingham <jingham at apple.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M lldb/include/lldb/Breakpoint/BreakpointLocation.h
M lldb/include/lldb/Breakpoint/BreakpointSite.h
M lldb/include/lldb/Core/Declaration.h
M lldb/include/lldb/Target/StopInfo.h
M lldb/include/lldb/Target/ThreadPlanStepInRange.h
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Breakpoint/BreakpointSite.cpp
M lldb/source/Core/Declaration.cpp
M lldb/source/Symbol/Block.cpp
M lldb/source/Symbol/CompileUnit.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadPlanStepInRange.cpp
M lldb/source/Target/ThreadPlanStepOverRange.cpp
M lldb/test/API/functionalities/inline-stepping/TestInlineStepping.py
M lldb/test/API/functionalities/inline-stepping/calling.cpp
Log Message:
-----------
Revert "Add the ability to break on call-site locations, improve inli… (#113947)
…ne stepping (#112939)"
This was breaking some gdb-remote packet counting tests on the bots. I
can't see how this patch could cause that breakage, but I'm reverting to
figure that out.
This reverts commit f14743794587db102c6d1b20f9c87a1ac20decfd.
Commit: 8274be509ed9e07188a8a64d95907a46cbe8e657
https://github.com/llvm/llvm-project/commit/8274be509ed9e07188a8a64d95907a46cbe8e657
Author: David Green <david.green at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
Log Message:
-----------
[AArch64] Remove header dependencies of AArch64ISelLowering.h. NFC
This patch aims to reduce the include used by AArch64ISelLowering, allowing it
to be included by unittests so that they can reference the AArch64ISD nodes.
It:
- Moves the inclusion of AArch64SMEAttributes.h to the uses.
- Moves LowerPtrAuthGlobalAddressStatically to a static function, so that
AArch64PACKey is not required in the header.
- Moves the definitions of getExceptionPointerRegister to the cpp file, to
remove the reference of AArch64::X0.
Commit: 66bbbf2e951a486f972a5a54378e6791193ade60
https://github.com/llvm/llvm-project/commit/66bbbf2e951a486f972a5a54378e6791193ade60
Author: Jan Voung <jvoung at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.h
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
Log Message:
-----------
[clang][dataflow] Cache accessors returning pointers in bugprone-unchecked-optional-access (#113922)
Previously, we covered returning refs, or copies of optional, and bools.
Now cover returning pointers (to any type).
This is useful for cases like operator-> of smart pointers.
Addresses more of issue llvm#58510
Commit: 0d0abb351b5fcf49ccc46eba8b7f2a1f353a05a6
https://github.com/llvm/llvm-project/commit/0d0abb351b5fcf49ccc46eba8b7f2a1f353a05a6
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
Log Message:
-----------
[VPlan] Use ResumePhi to create reduction resume phis. (#110004)
Use VPInstruction::ResumePhi to create phi nodes for reduction resume
values in the scalar preheader, similar to how ResumePhis are used for
first-order recurrence resume values after 9a5a8731e77.
This allows simplifying createAndCollectMergePhiForReduction to only
collect reduction resume phis when vectorizing epilogue loops and adding
extra incoming edges from the main vector loop. Updating phis for the
epilogue vector loops requires special attention, because additional
incoming values from the bypass blocks need to be added.
PR: https://github.com/llvm/llvm-project/pull/110004
Commit: ad5b9441f949716570e89fcb27b76e9bfb4b7f70
https://github.com/llvm/llvm-project/commit/ad5b9441f949716570e89fcb27b76e9bfb4b7f70
Author: Chris Apple <cja-private at pm.me>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/docs/AddressSanitizer.rst
M clang/docs/RealtimeSanitizer.rst
Log Message:
-----------
[rtsan][asan] NFC Fix hyperlink to CMake doc (#113931)
Commit: 19131c7f36e047898ea954ee5a187ac62f2ab09b
https://github.com/llvm/llvm-project/commit/19131c7f36e047898ea954ee5a187ac62f2ab09b
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Lex/ModuleMap.h
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Serialization/ASTReader.cpp
Log Message:
-----------
[clang][modules][lldb] Fix build after #113391
Instead of changing the return type of `ModuleMap::findOrCreateModule`, this patch adds a counterpart that only returns `Module *` and thus has the same signature as `createModule()`, which is important in `ASTReader`.
Commit: 67bcce21415c7f687c28eb727c40b27924335f5a
https://github.com/llvm/llvm-project/commit/67bcce21415c7f687c28eb727c40b27924335f5a
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
A llvm/test/Transforms/LowerTypeTests/cfi-icall-alias.ll
Log Message:
-----------
[CFI][LowerTypeTests] Fix indirect call with alias (#106185)
Motivation example:
```
> cat test.cpp
extern "C" [[gnu::weak]] void f() {}
void alias() __attribute__((alias("f")));
int main() { auto p = alias; p(); }
> clang test.cpp -fsanitize=cfi-icall -flto=thin -fuse-ld=lld
> ./a.out
[1] 1868 illegal hardware instruction ./a.out
```
If the address of a function was only taken through its alias, the
function was not considered exported and therefore was not included
in the CFI jumptable. This resulted in `@llvm.type.test()` being lowered
to `false`, and consequently the indirect call to the function was
eventually optimized to `ubsantrap()`.
Commit: 7bd8a165f95123e390f9cbb0a6a5e60d835a4461
https://github.com/llvm/llvm-project/commit/7bd8a165f95123e390f9cbb0a6a5e60d835a4461
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/lib/Basic/Targets/X86.cpp
M clang/test/Sema/asm.c
Log Message:
-----------
[X86] Don't allow '+f' as an inline asm constraint. (#113871)
f cannot be used as an output constraint. We already errored for '=f'
but not '+f'.
Fixes #113692.
Commit: 481bce018ea8872277f79102842eaf8a55f634a2
https://github.com/llvm/llvm-project/commit/481bce018ea8872277f79102842eaf8a55f634a2
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/splitdouble.hlsl
M clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/splitdouble-errors.hlsl
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
M llvm/lib/Target/DirectX/DXILOpBuilder.h
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
R llvm/test/CodeGen/DirectX/split-double.ll
A llvm/test/CodeGen/DirectX/splitdouble.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/splitdouble.ll
Log Message:
-----------
Adding splitdouble HLSL function (#109331)
- Adding hlsl `splitdouble` intrinsics
- Adding DXIL lowering
- Adding SPIRV lowering
- Adding test
Fixes: #108901
---------
Co-authored-by: Joao Saffran <jderezende at microsoft.com>
Commit: abc49cc19463970d5523d7d3332e4c1f83bc2ef7
https://github.com/llvm/llvm-project/commit/abc49cc19463970d5523d7d3332e4c1f83bc2ef7
Author: Job Henandez Lara <jobhdezlara93 at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
M libc/hdr/fcntl_macros.h
A libc/hdr/fcntl_overlay.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/mode_t.h
M libc/src/__support/File/linux/CMakeLists.txt
M libc/src/__support/File/linux/dir.cpp
M libc/src/__support/File/linux/file.cpp
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/thread.cpp
M libc/src/fcntl/creat.h
M libc/src/fcntl/linux/CMakeLists.txt
M libc/src/fcntl/linux/creat.cpp
M libc/src/fcntl/linux/open.cpp
M libc/src/fcntl/linux/openat.cpp
M libc/src/fcntl/open.h
M libc/src/fcntl/openat.h
M libc/src/spawn/linux/CMakeLists.txt
M libc/src/spawn/linux/posix_spawn.cpp
M libc/src/stdio/linux/CMakeLists.txt
M libc/src/stdio/linux/remove.cpp
M libc/src/sys/stat/linux/CMakeLists.txt
M libc/src/sys/stat/linux/chmod.cpp
M libc/src/sys/stat/linux/fchmod.cpp
M libc/src/sys/stat/linux/fstat.cpp
M libc/src/sys/stat/linux/lstat.cpp
M libc/src/sys/stat/linux/mkdir.cpp
M libc/src/sys/stat/linux/stat.cpp
M libc/src/unistd/linux/CMakeLists.txt
M libc/src/unistd/linux/access.cpp
M libc/src/unistd/linux/dup2.cpp
M libc/src/unistd/linux/link.cpp
M libc/src/unistd/linux/linkat.cpp
M libc/src/unistd/linux/readlink.cpp
M libc/src/unistd/linux/readlinkat.cpp
M libc/src/unistd/linux/rmdir.cpp
M libc/src/unistd/linux/symlink.cpp
M libc/src/unistd/linux/symlinkat.cpp
M libc/src/unistd/linux/unlink.cpp
M libc/src/unistd/linux/unlinkat.cpp
M libc/test/src/fcntl/CMakeLists.txt
M libc/test/src/fcntl/openat_test.cpp
M libc/test/src/sys/sendfile/CMakeLists.txt
M libc/test/src/sys/sendfile/sendfile_test.cpp
M libc/test/src/sys/stat/CMakeLists.txt
M libc/test/src/sys/stat/chmod_test.cpp
M libc/test/src/sys/stat/fchmod_test.cpp
M libc/test/src/sys/stat/fchmodat_test.cpp
M libc/test/src/sys/stat/fstat_test.cpp
M libc/test/src/sys/stat/lstat_test.cpp
M libc/test/src/sys/stat/mkdirat_test.cpp
M libc/test/src/sys/stat/stat_test.cpp
M libc/test/src/unistd/CMakeLists.txt
M libc/test/src/unistd/chdir_test.cpp
M libc/test/src/unistd/fchdir_test.cpp
M libc/test/src/unistd/readlinkat_test.cpp
M libc/test/src/unistd/rmdir_test.cpp
M libc/test/src/unistd/syscall_test.cpp
Log Message:
-----------
[libc] remove #include <fcntl.h> and add proxy or type (#113836)
Commit: 9d9b1ba951cb2c30a192aa1157ef1c022d6d145b
https://github.com/llvm/llvm-project/commit/9d9b1ba951cb2c30a192aa1157ef1c022d6d145b
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
Log Message:
-----------
[ORC] Fix JITLinkRedirectableSymbolManager construction to avoid crash (#113492)
Check `AnonymousPtrCreator` and `PtrJumpStubCreator` before creating the
JITLinkRedirectableSymbolManager object. This simplifies construction, and
avoids premature registration as a resource manager in the failure case.
Commit: 70d61f6de71bfe5ee870efc9b3e98db37273f17d
https://github.com/llvm/llvm-project/commit/70d61f6de71bfe5ee870efc9b3e98db37273f17d
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/registration.h
M flang/runtime/CUDA/registration.cpp
Log Message:
-----------
[flang][cuda] Adding runtime call to CUFRegisterVariable (#113952)
Commit: 71315698c91d0cda054b903da0594ca6f072c350
https://github.com/llvm/llvm-project/commit/71315698c91d0cda054b903da0594ca6f072c350
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaChecking.cpp
M clang/test/SemaCXX/constexpr-string.cpp
A clang/test/SemaCXX/warn-memaccess.cpp
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/test/std/utilities/expected/types.h
M libcxx/test/support/min_allocator.h
Log Message:
-----------
[clang] Warn about memset/memcpy to NonTriviallyCopyable types (#111434)
This implements a warning that's similar to what GCC does in that
context: both memcpy and memset require their first and second operand
to be trivially copyable, let's warn if that's not the case.
Commit: 03dcefe08ecb68a3fedb7e9de6277df77371e9fc
https://github.com/llvm/llvm-project/commit/03dcefe08ecb68a3fedb7e9de6277df77371e9fc
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M libc/src/math/cbrt.h
M libc/src/stdio/gpu/fprintf.cpp
M libc/src/stdio/gpu/printf.cpp
M libc/src/stdio/gpu/vfprintf.cpp
M libc/src/stdio/gpu/vfprintf_utils.h
M libc/src/stdio/gpu/vprintf.cpp
M libc/src/stdio/vsscanf.h
Log Message:
-----------
[libc] Fix leftover `LIBC_NAMESPACE` after porting it (#113960)
Summary:
There are a few of these leftover, they should all use the
`LIBC_NAMESPACE_DECL` version because that implies visibility.
Commit: 39303e24b6f628f3c080f1b54bd12383a55b9b3a
https://github.com/llvm/llvm-project/commit/39303e24b6f628f3c080f1b54bd12383a55b9b3a
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/test/ClangScanDeps/print-timing.c
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang][deps] Improve timing output (#113726)
This patch adds the number of executed instructions into the timing
output, which provides more stable results compared to wall or process
time.
The format itself is also tweaked so that it's more amenable for direct
import into a spreadsheet editor.
Commit: 5ea694816b569e010854a861ad58502c056d5a39
https://github.com/llvm/llvm-project/commit/5ea694816b569e010854a861ad58502c056d5a39
Author: vporpo <vporpodas at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/CMakeLists.txt
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp
Log Message:
-----------
[SandboxVec][Legality] Check opcodes and types (#113741)
Commit: 09a4bcf1a549eea738bda74b2b7dc0f5c8309310
https://github.com/llvm/llvm-project/commit/09a4bcf1a549eea738bda74b2b7dc0f5c8309310
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Semantics/OpenMP/depend04.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
Log Message:
-----------
[flang][OpenMP] Update handling of DEPEND clause (#113620)
Parse the locator list in OmpDependClause as an OmpObjectList (instead
of a list of Designators). When a common block appears in the locator
list, show an informative message.
Implement resolving symbols in DependSinkVec in a dedicated visitor
instead of having a visitor for OmpDependClause.
Resolve unresolved names common blocks in OmpObjectList.
Minor changes to the code organization:
- rename OmpDependenceType to OmpTaskDependenceType (to follow 5.2
terminology),
- rename Depend::WithLocators to Depend::DepType,
- add comments with more detailed spec references to parse-tree.h.
---------
Co-authored-by: Kiran Chandramohan <kiran.chandramohan at arm.com>
Commit: c5edecbb4bfe08997819ff84712e3e22ddd04490
https://github.com/llvm/llvm-project/commit/c5edecbb4bfe08997819ff84712e3e22ddd04490
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/test/CodeGen/X86/scmp.ll
M llvm/test/CodeGen/X86/ucmp.ll
Log Message:
-----------
[X86] Regenerate scmp/ucmp test checks with vpternlog comments
Commit: 7b663bd9179a205d5a65a34e447fbeffcb43c194
https://github.com/llvm/llvm-project/commit/7b663bd9179a205d5a65a34e447fbeffcb43c194
Author: Job Henandez Lara <jobhdezlara93 at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M libc/src/stdio/linux/CMakeLists.txt
M libc/src/stdio/linux/rename.cpp
M libc/src/sys/mman/linux/CMakeLists.txt
M libc/src/sys/mman/linux/shm_open.cpp
M libc/src/sys/mman/shm_open.h
M libc/src/sys/stat/linux/CMakeLists.txt
M libc/src/sys/stat/linux/chmod.cpp
M libc/src/sys/stat/linux/mkdir.cpp
M libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
Log Message:
-----------
[libc] Fix the remaining fcntl.h proxy header includes. (#113961)
Commit: 82cb22e735be24acf5aac594e519935fc43f0aec
https://github.com/llvm/llvm-project/commit/82cb22e735be24acf5aac594e519935fc43f0aec
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M mlir/lib/Conversion/MathToLibm/CMakeLists.txt
Log Message:
-----------
[MLIR] Add missing MLIRLLVMDialect dep to MLIRMathToLibm (#113563)
This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIRMathToLibm.a only:
```
In file included from llvm/include/llvm/IR/Module.h:22,
from mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h:37,
from mlir/lib/Conversion/MathToLibm/MathToLibm.cpp:13
llvm/include/llvm/IR/Attributes.h:90:14: fatal error: llvm/IR/Attributes.inc: No such file or directory
```
Commit: 7db4cacfd72b64de8460509d07a22b9142df85f6
https://github.com/llvm/llvm-project/commit/7db4cacfd72b64de8460509d07a22b9142df85f6
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M mlir/lib/Conversion/LinalgToStandard/CMakeLists.txt
Log Message:
-----------
[MLIR] Add missing MLIRLLVMDialect dep to MLIRLinalgToStandard (#113561)
This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIRLinalgToStandard.a only:
```
In file included from llvm/include/llvm/IR/Module.h:22,
from mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h:37,
from mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp:13:
llvm/include/llvm/IR/Attributes.h:90:14: fatal error: llvm/IR/Attributes.inc: No such file or directory
```
Commit: 474234a09655e57b7a4270150f0926db77e864b4
https://github.com/llvm/llvm-project/commit/474234a09655e57b7a4270150f0926db77e864b4
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M lldb/tools/debugserver/source/MacOSX/MachVMRegion.cpp
Log Message:
-----------
[debugserver] Mark ASAN memory regions as "heap" (#113968)
This memory type is currently not handled, but it makes sense to mark it
as a heap allocation in requests asking for memory region info.
Commit: 9f69da35e2e5438d0c042f76277fff397f6a1505
https://github.com/llvm/llvm-project/commit/9f69da35e2e5438d0c042f76277fff397f6a1505
Author: Prabhuk <prabhukr at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M compiler-rt/include/fuzzer/FuzzedDataProvider.h
Log Message:
-----------
[NFC][compiler-rt] Add missing header include (#113951)
Include `cstdlib` which was originally included transitively but the
changes to `vector` in libcpp breaks new builds due to missing cstdlib
header for `abort()` function call.
Commit: bf4b31ad54f6bf298210c201a0afe50469ebe98e
https://github.com/llvm/llvm-project/commit/bf4b31ad54f6bf298210c201a0afe50469ebe98e
Author: vporpo <vporpodas at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
Log Message:
-----------
[SandboxVec][Legality] Check Fastmath flags (#113967)
Commit: e873b415a2bfbbc2e5e2e70d77b61b7883cbf949
https://github.com/llvm/llvm-project/commit/e873b415a2bfbbc2e5e2e70d77b61b7883cbf949
Author: Job Henandez Lara <jobhdezlara93 at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M libc/src/fcntl/linux/CMakeLists.txt
M libc/src/fcntl/linux/open.cpp
M libc/src/spawn/linux/CMakeLists.txt
M libc/src/spawn/linux/posix_spawn.cpp
Log Message:
-----------
[libc] add the rest of the hdr/fcntl_macro.h headers (#113972)
Commit: 0eb5c9d2ef8d932eef84d4db8aef3dd512f80277
https://github.com/llvm/llvm-project/commit/0eb5c9d2ef8d932eef84d4db8aef3dd512f80277
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
A flang/test/Fir/CUDA/cuda-device-global.f90
Log Message:
-----------
[flang][cuda] Copying device globals in the gpu module (#113955)
Commit: 36c119490630846c1fa0f427cc60837fd7b40a28
https://github.com/llvm/llvm-project/commit/36c119490630846c1fa0f427cc60837fd7b40a28
Author: Matthias Braun <matze at braunis.de>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/test/CodeGen/X86/avx-cmp-builtins.c
M clang/test/CodeGen/X86/avx-shuffle-builtins.c
M clang/test/CodeGen/X86/sse.c
Log Message:
-----------
Remove optimization flags from clang codegen tests (#113714)
- Remove an -O3 flag from a couple of clang x86 codegen tests so the
tests do not need to be updated when optimizations in LLVM change.
- Change the tests to use utils/update_cc_test_checks.sh
- Change from apple/darwin triples to generic x86_64-- and
i386-- because it was not relevant to the test but
`update_cc_test_checks` seems to be unable to handle platforms that
prepend `_` to function names.
Commit: 5903c6af44256e0bba77b7a69d608aa3ccc6a0dd
https://github.com/llvm/llvm-project/commit/5903c6af44256e0bba77b7a69d608aa3ccc6a0dd
Author: Matthias Braun <matze at braunis.de>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/test/Transforms/InstCombine/vec_shuffle.ll
Log Message:
-----------
InstCombine: Fold shufflevector(select) and shufflevector(phi) (#113746)
- Transform `shufflevector(select(c, x, y), C)` to
`select(c, shufflevector(x, C), shufflevector(y, C))` by re-using
the `FoldOpIntoSelect` helper.
- Transform `shufflevector(phi(x, y), C)` to
`phi(shufflevector(x, C), shufflevector(y, C))` by re-using the
`foldOpInotPhi` helper.
Commit: 034cae42b130760587770b6a001b70c2a01bdfe9
https://github.com/llvm/llvm-project/commit/034cae42b130760587770b6a001b70c2a01bdfe9
Author: Doug Wyatt <doug at sonosphere.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
A clang/docs/FunctionEffectAnalysis.rst
M clang/docs/index.rst
Log Message:
-----------
[clang] Add clang/docs/FunctionEffectAnalysis.rst. (#109855)
Follow-on from #99656, which introduces 2nd pass caller/callee analysis
for function effects.
Wrote a new documentation page, derived directly from the RFC posted to
LLVM Discourse earlier this year.
---------
Co-authored-by: Doug Wyatt <dwyatt at apple.com>
Co-authored-by: Sirraide <aeternalmail at gmail.com>
Commit: 902acde34198bb11cc758dcf3aee00eb1cb09ceb
https://github.com/llvm/llvm-project/commit/902acde34198bb11cc758dcf3aee00eb1cb09ceb
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/and-compare.ll
Log Message:
-----------
[InstCombine] Optimize away certain additions using modular arithmetic
We can turn:
```
%add = add i8 %arg, C1
%and = and i8 %add, C2
%cmp = icmp eq i1 %and, C3
```
into:
```
%and = and i8 %arg, C2
%cmp = icmp eq i1 %and, (C3 - C1) & C2
```
This is only worth doing if the sequence is the sole user of the addition
operation.
Commit: 757d0e4764fffcd4e60338147c5f5456e2534395
https://github.com/llvm/llvm-project/commit/757d0e4764fffcd4e60338147c5f5456e2534395
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
R llvm/test/Transforms/LowerTypeTests/cfi-icall-alias.ll
Log Message:
-----------
Revert "[CFI][LowerTypeTests] Fix indirect call with alias" (#113978)
Reverts llvm/llvm-project#106185
This is breaking Sanitizer bots:
https://lab.llvm.org/buildbot/#/builders/66/builds/5449/steps/8/logs/stdio
Commit: 8e6856e27859c90c5337a8328848b0959fe409fe
https://github.com/llvm/llvm-project/commit/8e6856e27859c90c5337a8328848b0959fe409fe
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp
M clang/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp
M clang/utils/TableGen/ClangCommentHTMLTagsEmitter.cpp
Log Message:
-----------
[Clang][TableGen] Use StringRef::str() instead of std::string() cast (#113645)
Use `StringRef::str()` instead of std::string(StringRef) to cast from
StringRef to std::string.
Commit: 7c554265ce0b94059f216dcab643055e98c8f439
https://github.com/llvm/llvm-project/commit/7c554265ce0b94059f216dcab643055e98c8f439
Author: Chris Apple <cja-private at pm.me>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
Log Message:
-----------
Revert "[rtsan] Intercept aligned_alloc on all versions of OSX if available on build machine (#112780)" (#113982)
This reverts commit 97fb21ac1d6bc528b61a555356457ff2129dfde1.
Due to issue brought up in #112780
> Unfortunately this breaks the build on our (automerger) bots, which
have -mmacosx-version-min=10.13 and also
-Werror=unguarded-availability-new . I was thinking about patching it
via wrapping in __builtin_available check (which I believe is the right
one to use, as it should match the -mmacosx-version-min ) - but can't
actually think of a quick fix, due to interceptors being defined via C
macros.
>
llvm-project/compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp:475:21:
error: 'aligned_alloc' is only available on macOS 10.15 or newer
[-Werror,-Wunguarded-availability-new] 475 | INTERCEPTOR(void *,
aligned_alloc, SIZE_T alignment, SIZE_T size) {
Commit: b46a0482f9e4c0ee82b38da794b20f8f1a76f044
https://github.com/llvm/llvm-project/commit/b46a0482f9e4c0ee82b38da794b20f8f1a76f044
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/Sema/arithmetic-fence-builtin.c
Log Message:
-----------
[clang][bytecode] Implement __builtin_arithmetic_fence (#113937)
Commit: 1549a0c183ee337a6de4c3933e10828808c6a094
https://github.com/llvm/llvm-project/commit/1549a0c183ee337a6de4c3933e10828808c6a094
Author: Matthias Springer <me at m-sp.org>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M mlir/docs/Bufferization.md
M mlir/include/mlir/Dialect/SCF/Transforms/Passes.h
M mlir/include/mlir/Dialect/SCF/Transforms/Passes.td
M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
R mlir/lib/Dialect/SCF/Transforms/Bufferize.cpp
M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
M mlir/test/Dialect/SCF/bufferize.mlir
Log Message:
-----------
[mlir][SCF] Remove `scf-bufferize` pass (#113840)
The dialect conversion-based bufferization passes have been migrated to
One-Shot Bufferize about two years ago. To clean up the code base, this
commit removes the `scf-bufferize` pass, one of the few remaining parts
of the old infrastructure. Most bufferization passes have already been
removed.
Note for LLVM integration: If you depend on this pass, migrate to
One-Shot Bufferize or copy the pass to your codebase.
Commit: 6233346895abfb57782511cddc263d439fdd537b
https://github.com/llvm/llvm-project/commit/6233346895abfb57782511cddc263d439fdd537b
Author: Chengjun <chengjunp at Nvidia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/GenericCycleImpl.h
M llvm/include/llvm/ADT/GenericCycleInfo.h
Log Message:
-----------
[GenericCycle] Add a Cache for getExitBlocks in GenericCycle (#112290)
In `UniformityAnalysis`, we need to get the exit blocks of cycles in the
`DivergencePropagator` and currently, we have to do a search for the
exit blocks every time. In this change, we add a cache of the results in
the `GenericCycle` so that it can save the compile time. By testing, for
some large cases, this can save about 60% compile time in the
`UniformityAnalysis`.
Commit: 61353cc1f65f02477eedeebcb08e9193cbd53305
https://github.com/llvm/llvm-project/commit/61353cc1f65f02477eedeebcb08e9193cbd53305
Author: Eisuke Kawashima <e.kawaschima+github at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M compiler-rt/lib/asan/scripts/asan_symbolize.py
M compiler-rt/lib/hwasan/scripts/hwasan_symbolize
Log Message:
-----------
[compiler-rt] Fix invalid escape sequences in python files (#94030)
\d, \( and \) are not valid escape sequences; since python 3.12
they give SyntaxWarning, and will raise SyntaxError in future.
https://docs.python.org/3.12/whatsnew/3.12.html#other-language-changes
r"\(\d\)" and "\\(\\d\\)" are equivalent but the former is the shorter.
Co-authored-by: Eisuke Kawashima <e-kwsm at users.noreply.github.com>
Commit: 1ceccbb0dd9d8539fec2213566fe6cc2a05b7993
https://github.com/llvm/llvm-project/commit/1ceccbb0dd9d8539fec2213566fe6cc2a05b7993
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/LiveRegMatrix.h
M llvm/lib/CodeGen/LiveRegMatrix.cpp
M llvm/lib/CodeGen/VirtRegMap.cpp
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/infloop-subrange-spill-inspect-subrange.mir
M llvm/test/CodeGen/AMDGPU/infloop-subrange-spill.mir
A llvm/test/CodeGen/AMDGPU/issue98474-assigned-physreg-interference.mir
A llvm/test/CodeGen/AMDGPU/issue98474-need-live-out-undef-subregister-def.ll
A llvm/test/CodeGen/AMDGPU/issue98474-virtregrewriter-live-out-undef-subregisters.mir
A llvm/test/MachineVerifier/AMDGPU/issue98474-missing-def-liveout-physical-subregister.mir
Log Message:
-----------
VirtRegRewriter: Add implicit register defs for live out undef lanes (#112679)
If an undef subregister def is live into another block, we need to
maintain a physreg def to track the liveness of those lanes. This
would manifest a verifier error after branch folding, when the cloned
tail block use no longer had a def.
We need to detect interference with other assigned intervals to avoid
clobbering the undef lanes defined in other intervals, since the undef
def didn't count as interference. This is pretty ugly and adds a new
dependency on LiveRegMatrix, keeping it live for one more pass. It also
adds a lot of implicit operand spam (we really should have a better
representation for this).
There is a missing verifier check for this situation. Added an xfailed
test that demonstrates this. We may also be able to revert the changes
in 47d3cbcf842a036c20c3f1c74255cdfc213f41c2.
It might be better to insert an IMPLICIT_DEF before the instruction
rather than using the implicit-def operand.
Fixes #98474
Commit: a461869db3bdc372203c9a7b8326d66a626f80d9
https://github.com/llvm/llvm-project/commit/a461869db3bdc372203c9a7b8326d66a626f80d9
Author: vporpo <vporpodas at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/Pass.h
M llvm/include/llvm/SandboxIR/PassManager.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/NullPass.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/PrintInstructionCount.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/RegionsFromMetadata.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.h
M llvm/lib/SandboxIR/PassManager.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/RegionsFromMetadata.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
M llvm/unittests/SandboxIR/PassTest.cpp
Log Message:
-----------
[SandboxIR][Pass] Implement Analyses class (#113962)
The Analyses class provides a way to pass around commonly used Analyses
to SandboxIR passes throught `runOnFunction()` and `runOnRegion()`
functions.
Commit: 6128ff6630762310f6ae4eb61adda02cb4ad5260
https://github.com/llvm/llvm-project/commit/6128ff6630762310f6ae4eb61adda02cb4ad5260
Author: Lang Hames <lhames at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/MachO.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/MachOObjectFormat.h
M llvm/lib/ExecutionEngine/Orc/Shared/MachOObjectFormat.cpp
M llvm/unittests/ExecutionEngine/JITLink/CMakeLists.txt
R llvm/unittests/ExecutionEngine/JITLink/JITLinkMocks.cpp
R llvm/unittests/ExecutionEngine/JITLink/JITLinkMocks.h
A llvm/unittests/ExecutionEngine/JITLink/JITLinkTestUtils.cpp
A llvm/unittests/ExecutionEngine/JITLink/JITLinkTestUtils.h
M llvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp
A llvm/unittests/ExecutionEngine/JITLink/MachOLinkGraphTests.cpp
M llvm/unittests/ExecutionEngine/JITLink/MemoryManagerErrorTests.cpp
Log Message:
-----------
[JITLink][MachO] Add convenience functions for default text/data sections.
The getMachODefaultTextSection and getMachODefaultRWDataSection functions
return the "__TEXT,__text" and "__DATA,__data" sections respectively, creating
empty sections if the default sections are not already present in the graph.
These functions can be used by utilities that want to add code or data to these
standard sections (e.g. these functions can be used to supply the section
argument to the createAnonymousPointerJumpStub and
createPointerJumpStubBlock functions in the various targets).
Commit: 0c1c37bfbed08c9d4e414a10f46cbed9a3e4c870
https://github.com/llvm/llvm-project/commit/0c1c37bfbed08c9d4e414a10f46cbed9a3e4c870
Author: c8ef <c8ef at outlook.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.def
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
Log Message:
-----------
[TLI] Add support for the `tgamma` libcall. (#113791)
This patch adds the `tgamma` libcall.
Commit: 18311093abe6481388a0d963d58438d743b47569
https://github.com/llvm/llvm-project/commit/18311093abe6481388a0d963d58438d743b47569
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/test/Transforms/InstCombine/vec_shuffle.ll
Log Message:
-----------
[InstCombine] Do not fold `shufflevector(select)` if the select condition is a vector (#113993)
Since `shufflevector` is not element-wise, we cannot do fold it into
select when the select condition is a vector.
For shufflevector that doesn't change the length, it doesn't crash, but
it is still a miscompilation: https://alive2.llvm.org/ce/z/s8saCx
Fixes https://github.com/llvm/llvm-project/issues/113986.
Commit: 635c344dfb3227f80c76dfbee9d6bf44ef742675
https://github.com/llvm/llvm-project/commit/635c344dfb3227f80c76dfbee9d6bf44ef742675
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/test/CodeGen/X86/vector-compress.ll
Log Message:
-----------
[X86] Add vector_compress patterns with a zero vector passthru. (#113970)
We can use the kz form to automatically zero the extra elements.
Fixes #113263.
Commit: 00ca2071e08f3a82171e564618981906a15e8dca
https://github.com/llvm/llvm-project/commit/00ca2071e08f3a82171e564618981906a15e8dca
Author: Jerry Sun <105613447+jerryyiransun at users.noreply.github.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/utils/TableGen/Attributes.cpp
M llvm/utils/TableGen/CTagsEmitter.cpp
M llvm/utils/TableGen/DXILEmitter.cpp
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
M llvm/utils/TableGen/IntrinsicEmitter.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
M llvm/utils/TableGen/PseudoLoweringEmitter.cpp
M llvm/utils/TableGen/VTEmitter.cpp
Log Message:
-----------
[TableGen] [NFC] Remove unused includes in TableGen BE (#113725)
split PR as requested from
https://github.com/llvm/llvm-project/pull/113318.
Removes unused imports in TableGen BE
Commit: 6588073724d3241d90663e45154d806a28bce95a
https://github.com/llvm/llvm-project/commit/6588073724d3241d90663e45154d806a28bce95a
Author: Matthias Springer <me at m-sp.org>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
Log Message:
-----------
[mlir][func] Fix incorrect API usage in `FuncOpConversion` (#113977)
This commit fixes a case of incorrect dialect conversion API usage
during `FuncOpConversion`. `replaceAllUsesExcept` (same as
`replaceAllUsesWith`) is currently not supported in a dialect
conversion. `replaceUsesOfBlockArgument` should be used instead. It
sometimes works anyway (like in this case), but that's just because of
the way we insert materializations.
This commit is in preparation of merging the 1:1 and 1:N dialect
conversion drivers. (At that point, the current use of
`replaceAllUsesExcept` will no longer work.)
Commit: 828467a54e156cbb04820ae47df32c45fbc75fc0
https://github.com/llvm/llvm-project/commit/828467a54e156cbb04820ae47df32c45fbc75fc0
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M lld/ELF/Symbols.h
M llvm/include/llvm/Support/Endian.h
M llvm/lib/ExecutionEngine/ExecutionEngine.cpp
Log Message:
-----------
Fix warnings introduced in #111434 [-Wnontrivial-memaccess]
Commit: d3b98559be72682da45df73522173cb315912f6f
https://github.com/llvm/llvm-project/commit/d3b98559be72682da45df73522173cb315912f6f
Author: Peng Liu <winner245 at hotmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M libcxx/include/__vector/vector.h
M libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp
Log Message:
-----------
Add exception guard for constructor vector(n, x, a) (#113086)
Added exception guard to the `vector(n, x, a)` constructor to enhance
exception safety. This change ensures that the `vector(n, x, a)`
constructor is consistent with other constructors, such as `vector(n)`,
`vector(n, x)`, `vector(n, a)`, in terms of exception safety.
Commit: 3f4468faaa9525ad615118675c3c68938f4a8d5f
https://github.com/llvm/llvm-project/commit/3f4468faaa9525ad615118675c3c68938f4a8d5f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
Log Message:
-----------
[RISCV] Teach expandRV32ZdinxStore to handle memoperand not being present. (#113981)
I received a report that the outliner drops memoperands and causes this
code to crash. Handle this by only copying the memoperand if it exists.
Similar for expandRV32ZdinxLoad
Commit: 48adfaf3b290d97260eabb53254de9ada313cd0e
https://github.com/llvm/llvm-project/commit/48adfaf3b290d97260eabb53254de9ada313cd0e
Author: Sylvestre Ledru <sylvestre at debian.org>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/docs/FunctionEffectAnalysis.rst
Log Message:
-----------
doc: remove trailing whitespaces
Commit: 59085e9c3f522b59e512f1651058a9f98c739088
https://github.com/llvm/llvm-project/commit/59085e9c3f522b59e512f1651058a9f98c739088
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M lld/ELF/Arch/ARM.cpp
M lld/ELF/SymbolTable.cpp
Log Message:
-----------
Fix more lld warnings introduced in #111434 [-Wnontrivial-memaccess]
Commit: 66fc81cb430c724dc8b4b8d2d029101cc1d6808a
https://github.com/llvm/llvm-project/commit/66fc81cb430c724dc8b4b8d2d029101cc1d6808a
Author: Takuto Ikuta <tikuta at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
Log Message:
-----------
fix missing include for `abort` in `FuzzedDataProvider.h` (#113872)
This is to fix build with newer libc++ in chromium.
ref: https://crbug.com/375980422
Commit: 335e68d8bce5ad3f5d6471c0ec1423211c71c0f0
https://github.com/llvm/llvm-project/commit/335e68d8bce5ad3f5d6471c0ec1423211c71c0f0
Author: Jesse Huang <jesse.huang at sifive.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/CodeGen/Targets/RISCV.cpp
A clang/test/CodeGen/RISCV/attr-hw-shadow-stack.c
Log Message:
-----------
[Clang][RISCV] Support -fcf-protection=return for RISC-V (#112477)
Enables the support of `-fcf-protection=return` on RISC-V, which
requires Zicfiss. It also adds a string attribute "hw-shadow-stack"
to every function if the option is set on RISC-V
Commit: 7544d3af0e285ecd2fa28698621dd3125f749b2d
https://github.com/llvm/llvm-project/commit/7544d3af0e285ecd2fa28698621dd3125f749b2d
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/riscv-profiles.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVProfiles.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Mark RVB23U64 and RVB23S64 as non-experimental (#113918)
The specification was recently ratified
<https://github.com/riscv/riscv-profiles/blob/main/src/rvb23-profile.adoc>.
Commit: d4197f3ac1bbdd0665599bf3843e865d13af18ab
https://github.com/llvm/llvm-project/commit/d4197f3ac1bbdd0665599bf3843e865d13af18ab
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/MC/AArch64/SME2/bfmul-diagnostics.s
A llvm/test/MC/AArch64/SME2/bfmul.s
A llvm/test/MC/AArch64/SME2p2/fmul-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/fmul.s
Log Message:
-----------
[LLVM][AArch64] Add assembly/disassembly for MUL/BFMUL SME instructions (#113535)
According to https://developer.arm.com/documentation/ddi0602
Co-authored-by: Momchil-Velikov Momchil.Velikov at arm.com
Commit: 8d38fbf2f027c72332c8ba03ff0ff0f83b4dcf02
https://github.com/llvm/llvm-project/commit/8d38fbf2f027c72332c8ba03ff0ff0f83b4dcf02
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/MC/AArch64/SVE2p2/unary_arithmetic_predicated_z-diagnotics.s
A llvm/test/MC/AArch64/SVE2p2/unary_arithmetic_predicated_z.s
Log Message:
-----------
[LLVM][AArch64] Add assembly/disassembly for SVE Integer Unary Arithm… (#113670)
…etic Predicated instructions
This patch adds the following instructions:
SVE bitwise unary operations (predicated)
CLS, CLZ, CNT, CNOT, FABS, FNEG, NOT
SVE integer unary operations (predicated)
SXT{B,H,W}, UXT{B,H,W}, ABS ,NEG
SVE2 integer unary operations (predicated)
URECPE, URSQRTE, SQABS, SQNEG
According to https://developer.arm.com/documentation/ddi0602
Co-authored-by: Spencer Abson Spencer.Abson at arm.com
Commit: 05b6c2e4b933e7a3606899c72067c92b6077287b
https://github.com/llvm/llvm-project/commit/05b6c2e4b933e7a3606899c72067c92b6077287b
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaChecking.cpp
M clang/test/SemaCXX/conditional-expr.cpp
Log Message:
-----------
[Clang] fix range calculation for conditionals with throw expressions (#112081)
Fixes #111854
---
The issue arises when `GetExprRange` encounters a `ConditionalOperator`
with a `CXXThrowExpr`
```md
ConditionalOperator 0x1108658e0 'int'
|-CXXBoolLiteralExpr 0x110865878 '_Bool' true
|-CXXThrowExpr 0x1108658a8 'void'
| `-IntegerLiteral 0x110865888 'int' 0
`-IntegerLiteral 0x1108658c0 'int' 0
```
https://github.com/llvm/llvm-project/blob/ed3d05178274890fb804f43ae1bcdfd33b5fd8f0/clang/lib/Sema/SemaChecking.cpp#L9628-L9631
The current behavior causes the `GetExprRange` to proceed with the throw
expression (`CO->getTrueExpr()`/`void` type)
Commit: dfb60bb9193d78d0980193e1ade715cffbb55af8
https://github.com/llvm/llvm-project/commit/dfb60bb9193d78d0980193e1ade715cffbb55af8
Author: Rohit Aggarwal <44664450+rohitaggarwal007 at users.noreply.github.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls-finite.ll
M llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls.ll
M llvm/test/Transforms/Util/add-TLI-mappings.ll
Log Message:
-----------
Adding more vector calls for -fveclib=AMDLIBM (#109662)
AMD has it's own implementation of vector calls.
New vector calls are introduced in the library for exp10, log10, sincos and finite asin/acos
Please refer [https://github.com/amd/aocl-libm-ose]
---------
Co-authored-by: Rohit Aggarwal <Rohit.Aggarwal at amd.com>
Commit: a393c92f5df141d464bb17cc82f2344866cea1de
https://github.com/llvm/llvm-project/commit/a393c92f5df141d464bb17cc82f2344866cea1de
Author: Edd Dawson <edd.dawson at sony.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/test/Driver/ps5-linker.c
Log Message:
-----------
[PS5][Driver] Update default linking options when `-r` omitted. (#113595)
Until now, these options have been hardcoded as downstream patches in
lld. Add them to the driver so that the private patches can be removed.
PS5 only. On PS4, the proprietary linker will continue to perform the
equivalent behaviours itself.
SIE tracker: TOOLCHAIN-16704
Commit: a8398bd81770a2801ec083fd2cd8a19140fe92a9
https://github.com/llvm/llvm-project/commit/a8398bd81770a2801ec083fd2cd8a19140fe92a9
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/docs/CommandGuide/lit.rst
Log Message:
-----------
[llvm][docs] Update list of llvm-lit options
Fixes #62899
In this commit I have updated the list of options
to include any missing options and re-rordered
some of them to match the order in lit's --help.
Where there was a larger description in this document
I've used that instead of the --help description.
This *does not* include --use-unique-output-file-name
as this was only added recently and we are still
debating whether it will be kept.
Commit: 7395ef5419a6438f0c48685bf00b7f151178743d
https://github.com/llvm/llvm-project/commit/7395ef5419a6438f0c48685bf00b7f151178743d
Author: wldfngrs <wldfngrs at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/newhdrgen/yaml/math.yaml
M libc/src/math/CMakeLists.txt
A libc/src/math/cospif16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/cospif16.cpp
A libc/src/math/generic/sincosf16_utils.h
M libc/src/math/generic/sinpif16.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/cospif16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/cospif16_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
Log Message:
-----------
[libc][math][c23] Add cospif16 function (#113001)
Implementation of `cos` for half precision floating point inputs scaled
by pi (i.e., `cospi`), correctly rounded for all rounding modes.
---------
Co-authored-by: OverMighty <its.overmighty at gmail.com>
Commit: c3260c65e86ac363aa3a39f084db66a8a1d1af7d
https://github.com/llvm/llvm-project/commit/c3260c65e86ac363aa3a39f084db66a8a1d1af7d
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/LangRef.rst
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-sincos.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
A llvm/test/CodeGen/AArch64/llvm.frexp.ll
A llvm/test/CodeGen/AArch64/llvm.sincos-fmf.ll
A llvm/test/CodeGen/AArch64/llvm.sincos.ll
A llvm/test/CodeGen/ARM/llvm.sincos.ll
Log Message:
-----------
[IR] Add `llvm.sincos` intrinsic (#109825)
This adds the `llvm.sincos` intrinsic, legalization, and lowering.
The `llvm.sincos` intrinsic takes a floating-point value and returns
both the sine and cosine (as a struct).
```
declare { float, float } @llvm.sincos.f32(float %Val)
declare { double, double } @llvm.sincos.f64(double %Val)
declare { x86_fp80, x86_fp80 } @llvm.sincos.f80(x86_fp80 %Val)
declare { fp128, fp128 } @llvm.sincos.f128(fp128 %Val)
declare { ppc_fp128, ppc_fp128 } @llvm.sincos.ppcf128(ppc_fp128 %Val)
declare { <4 x float>, <4 x float> } @llvm.sincos.v4f32(<4 x float> %Val)
```
The lowering is built on top of the existing FSINCOS ISD node, with
additional type legalization to allow for f16, f128, and vector values.
Commit: 32aa782ea297b3e0ec090cf8fc0055d00c99d24b
https://github.com/llvm/llvm-project/commit/32aa782ea297b3e0ec090cf8fc0055d00c99d24b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/test/CodeGen/PowerPC/copysignl.ll
Log Message:
-----------
[PowerPC] copysignl.ll - regenerate to reduce the diff in #111269
Commit: f537792f3f4977c8bc887b17ffc25e93833e7d0d
https://github.com/llvm/llvm-project/commit/f537792f3f4977c8bc887b17ffc25e93833e7d0d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
A clang/test/CodeGen/X86/builtin_test_helpers.h
M clang/test/CodeGen/X86/sse-builtins.c
M clang/test/CodeGen/X86/sse2-builtins.c
M clang/test/CodeGen/X86/sse3-builtins.c
Log Message:
-----------
[X86] Refactor the SSE intrinsics constexpr tests to simplify future expansion (#112578)
I'm hoping to make a large proportion of the SSE/AVX intrinsics usable in constant expressions - eventually anything that doesn't touch memory or system settings - making it much easier to utilize SSE/AVX intrinsics in various math libraries etc.
My initial implementation placed the tests at the end of the test file, similar to how smaller files already handle their tests.
However, what I'm finding is that this approach doesn't scale when trying to track coverage of so many intrinsics - many keep getting missed, and it gets messy; so what I'm proposing is to instead keep each intrinsic's generic IR test and its constexpr tests together to make them easier to track together, wrapping the static_assert inside a macro to disable on C and pre-C++11 tests.
I'm open to alternative suggestions before I invest too much time getting this work done :)
Commit: 98c8d643539194321f3dba8698e95999165b1024
https://github.com/llvm/llvm-project/commit/98c8d643539194321f3dba8698e95999165b1024
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/MC/AArch64/SME2/bfscale-diagnostics.s
A llvm/test/MC/AArch64/SME2/bfscale.s
Log Message:
-----------
[AArch64] Add assembly/dissasembly for BFSCALE instructions (#113538)
This patch adds assembly/disassembly for following instructions:
BFSCALE (multiple and single vector)
BFSCALE (multiple vectors)
As specified in https://developer.arm.com/documentation/ddi0602/2024-09
Co-authored-by: Momchil Velikov
[momchil.velikov at arm.com](mailto:momchil.velikov at arm.com)
Commit: 06664fdc7680f7f9fa9b0a414a8fb8df2f913d48
https://github.com/llvm/llvm-project/commit/06664fdc7680f7f9fa9b0a414a8fb8df2f913d48
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/IPO/FunctionSpecialization.h
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
M llvm/test/DebugInfo/Generic/ipsccp-remap-assign-id.ll
M llvm/test/Transforms/FunctionSpecialization/compiler-crash-58759.ll
M llvm/test/Transforms/FunctionSpecialization/function-specialization-constant-expression.ll
M llvm/test/Transforms/FunctionSpecialization/function-specialization2.ll
M llvm/test/Transforms/FunctionSpecialization/function-specialization4.ll
M llvm/test/Transforms/FunctionSpecialization/get-possible-constants.ll
M llvm/test/Transforms/FunctionSpecialization/global-rank.ll
M llvm/test/Transforms/FunctionSpecialization/identical-specializations.ll
M llvm/test/Transforms/FunctionSpecialization/literal-const.ll
M llvm/test/Transforms/FunctionSpecialization/specialize-multiple-arguments.ll
A llvm/test/Transforms/FunctionSpecialization/track-ptr-return.ll
Log Message:
-----------
[FuncSpec] Enable SpecializeLiteralConstant by default (#113442)
Enable specialization on literal constant arguments by default in
Function Specialization.
---------
Co-authored-by: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Commit: 46944d1f950d042695197038ab3f1bf25ace261b
https://github.com/llvm/llvm-project/commit/46944d1f950d042695197038ab3f1bf25ace261b
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
Log Message:
-----------
[flang][OpenMP] Extract OMP version hint into helper functions, NFC (#113621)
Commit: 2443549b853908352a3b7b9bd6c07616492814a1
https://github.com/llvm/llvm-project/commit/2443549b853908352a3b7b9bd6c07616492814a1
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
M llvm/lib/Target/X86/X86WinEHState.cpp
M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
Log Message:
-----------
[IR] Remove some uses of StructType::setBody. NFC. (#113685)
It is simple to create the struct body up front, now that we have
transitioned to opaque pointers.
Commit: ec427df2b9c04cb3323babcf680dad8dcefaf228
https://github.com/llvm/llvm-project/commit/ec427df2b9c04cb3323babcf680dad8dcefaf228
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-non-widening-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-non-widening.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for FMOP4{A,S} (non-widening) half-precision instructions (#113343)
The new instructions are described in
https://developer.arm.com/documentation/ddi0602/2024-09/SME-Instructions
Commit: e19a5fc6d306a81d181a9597a8b25c444c08d722
https://github.com/llvm/llvm-project/commit/e19a5fc6d306a81d181a9597a8b25c444c08d722
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/IPO/FunctionSpecialization.h
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
A llvm/test/Transforms/FunctionSpecialization/maxgrowth.ll
Log Message:
-----------
[FuncSpec] Improve accounting of specialization codesize growth (#113448)
Only accumulate the codesize increase of functions that are actually
specialized, rather than for every candidate specialization that we
analyse.
This fixes a subtle bug where prior analysis of candidate
specializations that were deemed unprofitable could prevent subsequent
profitable candidates from being recognised.
Commit: c0cba25cdd06d700bdc15e9ae48c1fcadd0963bd
https://github.com/llvm/llvm-project/commit/c0cba25cdd06d700bdc15e9ae48c1fcadd0963bd
Author: Matthias Springer <me at m-sp.org>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms] Dialect conversion: Hardening `replaceOp` (#109540)
This commit adds extra checks/assertions to the
`ConversionPatternRewriterImpl::notifyOpReplaced` to improve its
robustness.
1. Replacing an `unrealized_conversion_cast` op that was created by the
driver is now forbidden and caught early during `replaceOp`. It may work
in some cases, but it is generally dangerous because the conversion
driver keeps track of these ops and performs some extra legalization
steps during the "finalize" phase. (Erasing is them is fine.)
2. `null` replacement values are no longer registered in the
`ConversionValueMapping`. This was an oversight in #106760. There is no
benefit in having `null` values in the `ConversionValueMapping`. (It may
even cause problems.)
This change is in preparation of merging the 1:1 and 1:N dialect
conversion drivers.
Commit: 8239ea3918828ab9c5ea8be1f4100d464f0bf3c0
https://github.com/llvm/llvm-project/commit/8239ea3918828ab9c5ea8be1f4100d464f0bf3c0
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
A flang/test/Transforms/debug-index-type.fir
Log Message:
-----------
[flang][debug] Support IndexType. (#113921)
Commit: d48c849ea94efb56d484393816e147afcec28d65
https://github.com/llvm/llvm-project/commit/d48c849ea94efb56d484393816e147afcec28d65
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Lower/OpenMP/Todo/depend-clause.f90
A flang/test/Semantics/OpenMP/depend05.f90
Log Message:
-----------
[flang][OpenMP] Parsing support for iterator in DEPEND clause (#113622)
Warn about use of iterators OpenMP versions that didn't have them
(support added in 5.0). Emit a TODO error in lowering.
Commit: 3c2d77185e315d4558368ccab92e7a86c74a9a83
https://github.com/llvm/llvm-project/commit/3c2d77185e315d4558368ccab92e7a86c74a9a83
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/MC/AArch64/SVE/matrix-multiply-fp-diagnostics.s
M llvm/test/MC/AArch64/SVE2/directive-arch-negative.s
M llvm/test/MC/AArch64/SVE2/directive-arch.s
M llvm/test/MC/AArch64/SVE2/directive-arch_extension-negative.s
M llvm/test/MC/AArch64/SVE2/directive-arch_extension.s
M llvm/test/MC/AArch64/SVE2/directive-cpu-negative.s
M llvm/test/MC/AArch64/SVE2/directive-cpu.s
A llvm/test/MC/AArch64/SVE2/fmmla-f16f32mm-diagnostics.s
A llvm/test/MC/AArch64/SVE2/fmmla-f16f32mm.s
A llvm/test/MC/AArch64/SVE2/fmmla-f8f16mm-diagnostics.s
A llvm/test/MC/AArch64/SVE2/fmmla-f8f16mm.s
A llvm/test/MC/AArch64/SVE2/fmmla-f8f32mm-diagnostics.s
A llvm/test/MC/AArch64/SVE2/fmmla-f8f32mm.s
Log Message:
-----------
[AARCH64] Add assembly/disassembly for FMMLA instructions (#113313)
This patch adds assembly/disassembly for the following instructions:
FMMLA (widening, FP16 to FP32)
FMMLA (widening, FP8 to FP16)
FMMLA (widening, FP8 to FP32)
According to [1]
[1]https://developer.arm.com/documentation/ddi0602
Commit: f7adacf57901ca65977f2af3502f434747cdd183
https://github.com/llvm/llvm-project/commit/f7adacf57901ca65977f2af3502f434747cdd183
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
Nominate Vlad Serebrennikov for C++ DRs (#114040)
Vlad has been improving our C++ DR conformance testing story for many
months at this point and writing these kinds of test is sometimes non-
trivial, so having a maintainer specific for this is helpful.
Commit: 88e23eb2cfadbf92b109b0aec999378f0c2a1062
https://github.com/llvm/llvm-project/commit/88e23eb2cfadbf92b109b0aec999378f0c2a1062
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/addrspacecast.ll
Log Message:
-----------
DAG: Fix legalization of vector addrspacecasts (#113964)
Commit: 183b38eb2261164fdfd6b7deac002edf27a39fe7
https://github.com/llvm/llvm-project/commit/183b38eb2261164fdfd6b7deac002edf27a39fe7
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M libclc/CMakeLists.txt
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Split off library build system into helpers
This splits off several key parts of the build system into utility
methods. This will be used in upcoming patches to help provide
additional sets of target-specific builtin libraries.
Running llvm-diff on the resulting LLVM bytecode binaries, and regular
diff on SPIR-V binaries, shows no differences before and after this
patch.
Commit: b2bdd8bd39e90bfe3c66f6d5600468570a77ede6
https://github.com/llvm/llvm-project/commit/b2bdd8bd39e90bfe3c66f6d5600468570a77ede6
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M libclc/CMakeLists.txt
A libclc/clc/include/clc/clcfunc.h
A libclc/clc/include/clc/clctypes.h
A libclc/clc/include/clc/geometric/clc_dot.h
A libclc/clc/include/clc/geometric/clc_dot.inc
A libclc/clc/include/clc/internal/clc.h
A libclc/clc/lib/clspv/SOURCES
A libclc/clc/lib/clspv/dummy.cl
A libclc/clc/lib/clspv64
A libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/geometric/clc_dot.cl
A libclc/clc/lib/spirv/SOURCES
A libclc/clc/lib/spirv64/SOURCES
M libclc/cmake/modules/AddLibclc.cmake
R libclc/generic/include/clc/clcfunc.h
R libclc/generic/include/clc/clctypes.h
M libclc/generic/lib/geometric/dot.cl
Log Message:
-----------
[libclc] Create an internal 'clc' builtins library
Some libclc builtins currently use internal builtins prefixed with
'__clc_' for various reasons, e.g., to avoid naming clashes.
This commit formalizes this concept by starting to isolate the
definitions of these internal clc builtins into a separate
self-contained bytecode library, which is linked into each target's
libclc OpenCL builtins before optimization takes place.
The goal of this step is to allow additional libraries of builtins
that provide entry points (or bindings) that are not written in OpenCL C
but still wish to expose OpenCL-compatible builtins. By moving the
implementations into a separate self-contained library, entry points can
share as much code as possible without going through OpenCL C.
The overall structure of the internal clc library is similar to the
current OpenCL structure, with SOURCES files and targets being able to
override the definitions of builtins as needed. The idea is that the
OpenCL builtins will begin to need fewer target-specific overrides, as
those will slowly move over to the clc builtins instead.
Another advantage of having a separate bytecode library with the CLC
implementations is that we can internalize the symbols when linking it
(separately), whereas currently the CLC symbols make it into the final
builtins library (and perhaps even the final compiled binary).
This patch starts of with 'dot' as it's relatively self-contained, as
opposed to most of the maths builtins which tend to pull in other
builtins.
We can also start to clang-format the builtins as we go, which should
help to modernize the codebase.
Commit: 667deb640870cbdaac941f30d189ef3fe926141c
https://github.com/llvm/llvm-project/commit/667deb640870cbdaac941f30d189ef3fe926141c
Author: Edd Dawson <edd.dawson at sony.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/Driver/ToolChains/PS4CPU.cpp
Log Message:
-----------
[PS4/PS5][Driver] Apply clang-format to PS4CPU.cpp (NFC) (#114038)
Commit: d732c0b13c55259177f2936516b6087d634078e0
https://github.com/llvm/llvm-project/commit/d732c0b13c55259177f2936516b6087d634078e0
Author: neildhickey <nhickey at nvidia.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
A clang/test/Driver/Inputs/cpunative/cortex-a57
A clang/test/Driver/Inputs/cpunative/cortex-a72
A clang/test/Driver/Inputs/cpunative/cortex-a76
A clang/test/Driver/Inputs/cpunative/neoverse-n1
A clang/test/Driver/Inputs/cpunative/neoverse-v2
A clang/test/Driver/aarch64-mcpu-native.c
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
[clang][AArch64] Add getHostCPUFeatures to query for enabled features in cpu info (#97749)
Add getHostCPUFeatures into the AArch64 Target Parser to query the
cpuinfo for the device in the case where we are compiling with
-mcpu=native.
Add LLVM_CPUINFO environment variable to test mock /proc/cpuinfo
files for -mcpu=native
Co-authored-by: Elvina Yakubova <eyakubova at nvidia.com>
Commit: 4b44639a4320f980b3c9fa3b96e911e0741f179c
https://github.com/llvm/llvm-project/commit/4b44639a4320f980b3c9fa3b96e911e0741f179c
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
Nominate Erich Keane for OpenACC (#114041)
Erich is the driving force behind the OpenACC implementation work that
has recently begun in Clang. Given his expertise on the topic and that
he's already aware of maintainer expectations (he maintains templates
and attributes currently), we should recognize that he's also the one
maintaining OpenACC.
Commit: ec871cfcdf3a46ca1be9842035e4271524644ed1
https://github.com/llvm/llvm-project/commit/ec871cfcdf3a46ca1be9842035e4271524644ed1
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.h
Log Message:
-----------
[clang][bytecode][NFC] Remove Pointer::elem() (#114046)
Unused.
Commit: c370869cd6f66e3c2ab33528e44959279311e499
https://github.com/llvm/llvm-project/commit/c370869cd6f66e3c2ab33528e44959279311e499
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M mlir/lib/Pass/PassRegistry.cpp
Log Message:
-----------
[mlir][NFC] Avoid a warning (#114052)
gcc 14.1 warning: template-id not allowed for destructor in C++20
[-Wtemplate-id-cdtor]
Commit: f490697cb9ad3db101ced7f4844002ffa0c73da8
https://github.com/llvm/llvm-project/commit/f490697cb9ad3db101ced7f4844002ffa0c73da8
Author: Boaz Brickner <brickner at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/Sema/CheckExprLifetime.cpp
Log Message:
-----------
[clang] [NFC] Fix a couple of typos: assuments and assingment
Commit: 87b6ec3be6b80f8e35d2eaea468e6bca79e79c2e
https://github.com/llvm/llvm-project/commit/87b6ec3be6b80f8e35d2eaea468e6bca79e79c2e
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/placement-new.cpp
Log Message:
-----------
[clang][bytecode] Diagnose placement-new construction to inactive field (#114047)
We can reuse CheckActive() for this.
Commit: b9376915cf897e79a852497c60f18ddacb1830ae
https://github.com/llvm/llvm-project/commit/b9376915cf897e79a852497c60f18ddacb1830ae
Author: Boaz Brickner <brickner at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/test/CodeGenOpenCLCXX/local_addrspace_init.clcpp
Log Message:
-----------
[clang] [NFC] Fix assingments typo
Commit: 340cd4e631d72d02cd79f9aad74d2a354abc977e
https://github.com/llvm/llvm-project/commit/340cd4e631d72d02cd79f9aad74d2a354abc977e
Author: Dmitry Chernenkov <dmitryc at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[Bazel] fix for abc49cc19463970d5523d7d3332e4c1f83bc2ef7
Commit: f257e9bdbbb790e4fe0a5e2538c92d7edd85a2e5
https://github.com/llvm/llvm-project/commit/f257e9bdbbb790e4fe0a5e2538c92d7edd85a2e5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/builtin_test_helpers.h
Log Message:
-----------
[clang][x86] Update AVX/AVX512 setzero constexpr tests to use the TEST_CONSTEXPR macro
Commit: e281d96a81bca896692da4a07ca1423ee6dc1f53
https://github.com/llvm/llvm-project/commit/e281d96a81bca896692da4a07ca1423ee6dc1f53
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/Headers/emmintrin.h
M clang/test/CodeGen/X86/builtin_test_helpers.h
M clang/test/CodeGen/X86/sse2-builtins.c
Log Message:
-----------
[clang][x86] Add constexpr support for _mm_add_epi32/64 and _mm_sub_epi32/64
Commit: 872981bd236530b160bf788aafd1cbde7b2bfb30
https://github.com/llvm/llvm-project/commit/872981bd236530b160bf788aafd1cbde7b2bfb30
Author: Dmitry Chernenkov <dmitryc at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[Bazel] Fix layering for libc
Commit: b6a84e77b696b0d91b7cbed116d6454b6b1cc62b
https://github.com/llvm/llvm-project/commit/b6a84e77b696b0d91b7cbed116d6454b6b1cc62b
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/MC/AArch64/SME2p2/fmop4a-fp8-fp32-widening-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/fmop4a-fp8-fp32-widening.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for FMOP4A (widening, 4-way) instructions (#113347)
The new instructions are described in
https://developer.arm.com/documentation/ddi0602/2024-09/SME-Instructions
Commit: a388df712700f38ad9a51d49a657a28e739f5eb4
https://github.com/llvm/llvm-project/commit/a388df712700f38ad9a51d49a657a28e739f5eb4
Author: Sebastian Kreutzer <SebastianKreutzer at gmx.net>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/test/Driver/XRay/xray-shared.cpp
M compiler-rt/test/xray/TestCases/Posix/clang-xray-shared.cpp
Log Message:
-----------
[XRay] Remove reliance on default PIC behavior in DSO tests (#113892)
Compiling with `-fxray-shared` requires position-independent code
(introduced in #113548).
Some tests do not explicitly specify this, thus falling back to the
compiler default.
If, for example, Clang is compiled with
`-DCLANG_DEFAULT_PIE_ON_LINUX=OFF`, these checks fail.
This patch addresses this issue in two tests:
- Removing a check in `xray-shared.cpp` that only tests default PIC
behavior
- Adding `-fPIC` explicitly in `clang-xray-shared.cpp`
Commit: 2e612f8d868b3fb88a44964a3d4efd61ee63e06a
https://github.com/llvm/llvm-project/commit/2e612f8d868b3fb88a44964a3d4efd61ee63e06a
Author: goldsteinn <35538541+goldsteinn at users.noreply.github.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
M mlir/test/Dialect/Arith/int-range-interface.mlir
Log Message:
-----------
[MLIR][Arith] Improve accuracy of `inferDivU` (#113789)
1) We can always bound the maximum with the numerator.
- https://alive2.llvm.org/ce/z/PqHvuT
2) Even if denominator min can be zero, we can still bound the minimum
result with `lhs.umin u/ rhs.umax`.
This is similar to https://github.com/llvm/llvm-project/pull/110169
Commit: 80a09735ac8bd6e31c824b41f7ee35952e440662
https://github.com/llvm/llvm-project/commit/80a09735ac8bd6e31c824b41f7ee35952e440662
Author: Elvina Yakubova <eyakubova at nvidia.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
R clang/test/Driver/Inputs/cpunative/cortex-a57
R clang/test/Driver/Inputs/cpunative/cortex-a72
R clang/test/Driver/Inputs/cpunative/cortex-a76
R clang/test/Driver/Inputs/cpunative/neoverse-n1
R clang/test/Driver/Inputs/cpunative/neoverse-v2
R clang/test/Driver/aarch64-mcpu-native.c
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
Revert "[clang][AArch64] Add getHostCPUFeatures to query for enabled … (#114066)
…features in cpu info (#97749)"
This reverts commit d732c0b13c55259177f2936516b6087d634078e0.
This is breaking buildbots
https://lab.llvm.org/buildbot/#/builders/190/builds/8413,
https://lab.llvm.org/buildbot/#/builders/56/builds/10880 and a few
others.
Commit: c9d9dc9c24039d85fdf3036368c9fba3d68722fa
https://github.com/llvm/llvm-project/commit/c9d9dc9c24039d85fdf3036368c9fba3d68722fa
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M libcxx/CMakeLists.txt
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/include/__config
R libcxx/test/libcxx/assertions/modes/enabling_assertions_enables_extensive_mode.pass.cpp
Log Message:
-----------
[libc++] Remove _LIBCPP_ENABLE_ASSERTIONS, which had been deprecated (#113592)
Commit: e268398fa89c9cc7901ea9b7386fc693023be203
https://github.com/llvm/llvm-project/commit/e268398fa89c9cc7901ea9b7386fc693023be203
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td
Log Message:
-----------
[NFC][AMDGPU] Use `!foreach` to replace explicit list of registers (#114005)
Commit: 75e7ba8c0b7efe75632d328a80391b9086ba8740
https://github.com/llvm/llvm-project/commit/75e7ba8c0b7efe75632d328a80391b9086ba8740
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/test/CodeGenHLSL/builtins/countbits.hlsl
M clang/test/SemaHLSL/BuiltIns/countbits-errors.hlsl
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/test/CodeGen/DirectX/countbits.ll
Log Message:
-----------
[HLSL] Re-implement countbits with the correct return type (#113189)
Restricts hlsl countbits to always return a uint32.
Implements a lowering from llvm.ctpop which has an overloaded return
type to dxil cbits op which always returns uint32.
Closes #112779
Commit: a156362e93eba9513611dc0989d516e9946cae48
https://github.com/llvm/llvm-project/commit/a156362e93eba9513611dc0989d516e9946cae48
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
A llvm/test/CodeGen/AMDGPU/fold-omod-crash.mir
Log Message:
-----------
[AMDGPU] Fix machine verification failure after SIFoldOperandsImpl::tryFoldOMod (#113544)
Fixes #54201
Commit: 1e991b1021c1d7694e1a0dfe9e261fb27555f05f
https://github.com/llvm/llvm-project/commit/1e991b1021c1d7694e1a0dfe9e261fb27555f05f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
Nominate Corentin Jabot for lambdas (#114043)
Corentin has largely been handling reviews touching lambdas for the past
year or two, so he has significant understanding of the various moving
parts of this fairly substantial C++ feature. Given that work on lambdas
tends to be somewhat specialized, I think it makes sense for it to have
dedicated oversight.
Commit: d43e4ce77d0a314139655c9cf7c3b533b5b72440
https://github.com/llvm/llvm-project/commit/d43e4ce77d0a314139655c9cf7c3b533b5b72440
Author: Nico Weber <thakis at chromium.org>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Log Message:
-----------
Revert "[gn] port b1be21394e9c"
b1be21394e9c was reverted in 3ac75ee8ec.
This reverts commit 18f4b7e4a862c11816e62cc72fb2a4ca8fac1987, as well
as follow-ups a69d2a18d207947a25838dd01d2116bee384b75b and
4a6b56960f445d111adc9aef799acad8c6ca41f0.
Commit: f906d765baa0a17519b6d3310ba32e1b51b88c6d
https://github.com/llvm/llvm-project/commit/f906d765baa0a17519b6d3310ba32e1b51b88c6d
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/BUILD.gn
Log Message:
-----------
[gn build] Port 5ea694816b56
Commit: af44976cad04d8470f205f557eaf172ee1eff0df
https://github.com/llvm/llvm-project/commit/af44976cad04d8470f205f557eaf172ee1eff0df
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/JITLink/BUILD.gn
Log Message:
-----------
[gn build] Port 6128ff663076
Commit: bf6c483e4714841b1511ea3666f05a468bd988fe
https://github.com/llvm/llvm-project/commit/bf6c483e4714841b1511ea3666f05a468bd988fe
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/Headers/emmintrin.h
M clang/test/CodeGen/X86/builtin_test_helpers.h
M clang/test/CodeGen/X86/sse2-builtins.c
Log Message:
-----------
[clang][x86] Add constexpr support for SSE2 _mm_set*_epi* intrinsics
Commit: a9c417c28a25c153aa0fdbe2eb5453a93820a3b1
https://github.com/llvm/llvm-project/commit/a9c417c28a25c153aa0fdbe2eb5453a93820a3b1
Author: Hugo Trachino <hugo.trachino at huawei.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.td
M mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
Log Message:
-----------
[MLIR][SCF] Fix LoopPeelOp documentation (NFC) (#113179)
As an example, I added annotations to the peel_front unit test.
```
func.func @loop_peel_first_iter_op() {
// CHECK: %[[C0:.+]] = arith.constant 0
// CHECK: %[[C41:.+]] = arith.constant 41
// CHECK: %[[C5:.+]] = arith.constant 5
// CHECK: %[[C5_0:.+]] = arith.constant 5
// CHECK: scf.for %{{.+}} = %[[C0]] to %[[C5_0]] step %[[C5]]
// CHECK: arith.addi
// CHECK: scf.for %{{.+}} = %[[C5_0]] to %[[C41]] step %[[C5]]
// CHECK: arith.addi
%0 = arith.constant 0 : index
%1 = arith.constant 41 : index
%2 = arith.constant 5 : index
scf.for %i = %0 to %1 step %2 {
arith.addi %i, %i : index
}
return
}
module attributes {transform.with_named_sequence} {
transform.named_sequence @__transform_main(%arg1: !transform.any_op {transform.readonly}) {
%0 = transform.structured.match ops{["arith.addi"]} in %arg1 : (!transform.any_op) -> !transform.any_op
%1 = transform.get_parent_op %0 {op_name = "scf.for"} : (!transform.any_op) -> !transform.op<"scf.for">
%main_loop, %remainder = transform.loop.peel %1 {peel_front = true} : (!transform.op<"scf.for">) -> (!transform.op<"scf.for">, !transform.op<"scf.for">)
transform.annotate %main_loop "main_loop" : !transform.op<"scf.for">
transform.annotate %remainder "remainder" : !transform.op<"scf.for">
transform.yield
}
}
```
Gives :
```
func.func @loop_peel_first_iter_op() {
%c0 = arith.constant 0 : index
%c41 = arith.constant 41 : index
%c5 = arith.constant 5 : index
%c5_0 = arith.constant 5 : index
scf.for %arg0 = %c0 to %c5_0 step %c5 {
%0 = arith.addi %arg0, %arg0 : index
} {remainder} // The first iteration loop (second result) has been annotated remainder
scf.for %arg0 = %c5_0 to %c41 step %c5 {
%0 = arith.addi %arg0, %arg0 : index
} {main_loop} // The main loop (first result) has been annotated main_loop
return
}
```
---------
Co-authored-by: Andrzej Warzyński <andrzej.warzynski at gmail.com>
Commit: 4df71ab78e9aa729959432bc0f8502760c90235b
https://github.com/llvm/llvm-project/commit/4df71ab78e9aa729959432bc0f8502760c90235b
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/Context.h
M llvm/lib/SandboxIR/Context.cpp
M llvm/lib/SandboxIR/Instruction.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Add callbacks for instruction insert/remove/move ops (#112965)
Commit: 318bdd0aeb721c8e9bd67101ac6641e5f9d990f2
https://github.com/llvm/llvm-project/commit/318bdd0aeb721c8e9bd67101ac6641e5f9d990f2
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Analysis/StackSafetyAnalysis.cpp
M llvm/test/Analysis/StackSafetyAnalysis/local.ll
Log Message:
-----------
[StackSafetyAnalysis] Bail out when calling ifunc
An assertion failure arises when a call instruction calls a GlobalIFunc.
Since we cannot reason about the underlying function, just bail out.
Fix #87923
Pull Request: https://github.com/llvm/llvm-project/pull/113841
Commit: 2ab98dfe19ac384f0cfac1a1fafc56b9dd7ad9b7
https://github.com/llvm/llvm-project/commit/2ab98dfe19ac384f0cfac1a1fafc56b9dd7ad9b7
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M lldb/docs/resources/test.rst
Log Message:
-----------
[lldb] Update link to GreenDragon in the docs
Commit: 2a9dd8af5ad9783d8ecba6bf93521de64bab6f81
https://github.com/llvm/llvm-project/commit/2a9dd8af5ad9783d8ecba6bf93521de64bab6f81
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/MC/AArch64/SVE/bfcvt-diagnostics.s
M llvm/test/MC/AArch64/SVE2/fcvtx-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/bfcvt_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/bfcvt_z.s
A llvm/test/MC/AArch64/SVE2p2/fcvt_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/fcvt_z.s
A llvm/test/MC/AArch64/SVE2p2/fcvtx_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/fcvtx_z.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for zeroing SVE FCVT{X} and BFCVT (#113916)
This patch adds assembly/disassembly support for the following SVE2.2
instructions
- FCVT (zeroing)
- FCVTX (zeroing)
- BFCVT (zeroing)
In accordance with:
https://developer.arm.com/documentation/ddi0602/2024-09/SVE-Instructions
Commit: 39ad84e4d173b43dcd13209dc7c62de7a0476c80
https://github.com/llvm/llvm-project/commit/39ad84e4d173b43dcd13209dc7c62de7a0476c80
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/Linalg/vectorization-pad-patterns.mlir
M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
M mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
Log Message:
-----------
[mlir][linalg] Split GenericPadOpVectorizationPattern into two patterns (#111349)
At the moment, `GenericPadOpVectorizationPattern` implements two
orthogonal transformations:
1. Rewrites `tensor::PadOp` into a sequence of `tensor::EmptyOp`,
`linalg::FillOp` and `tensor::InsertSliceOp`.
2. Vectorizes (where possible) `tensor::InsertSliceOp` (see
`tryVectorizeCopy`).
This patch splits `GenericPadOpVectorizationPattern` into two separate
patterns:
1. `GeneralizePadOpPattern` for the first transformation (note that
currently `GenericPadOpVectorizationPattern` inherits from
`GeneralizePadOpPattern`).
2. `InsertSliceVectorizePattern` to vectorize `tensor::InsertSliceOp`.
With this change, we gain the following:
* a clear separation between pre-processing and vectorization
transformations/stages,
* a path to support masked vectorisation for `tensor.insert_slice`
(with a dedicated pattern for vectorization, it is much easier to
specify the input vector sizes used in masking),
* more opportunities to vectorize `tensor.insert_slice`.
Note for downstream users:
--------------------------
If you were using `populatePadOpVectorizationPatterns`, following this
change you will also have to add
`populateInsertSliceVectorizationPatterns`.
Finer implementation details:
-----------------------------
1. The majority of changes in this patch are copy & paste + some edits.
1.1. The only functional change is that the vectorization of
`tensor.insert_slice` is now broadly available (as opposed to being
constrained to the pad vectorization pattern:
`GenericPadOpVectorizationPattern`).
1.2. Following-on from the above, `@pad_and_insert_slice_dest` is
updated. As expected, the input `tensor.insert_slice` Op is no
longer "preserved" and instead gets vectorized successfully.
2. The `linalg.fill` case in `getConstantPadVal` works under the
assumption that only _scalar_ source values can be used. That's
consistent with the definition of the Op, but it's not tested at the
moment. Hence a test case in Linalg/invalid.mlir is added.
3. The behaviour of the two TD vectorization Ops,
`transform.structured.vectorize_children_and_apply_patterns` and
`transform.structured.vectorize` is preserved.
Commit: 12a8f504cfe25afab97e288a44e1d5b1925d24cf
https://github.com/llvm/llvm-project/commit/12a8f504cfe25afab97e288a44e1d5b1925d24cf
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Use the proper gmock public header in unit tests.
This should fix the BuildKite bazel build.
Commit: 0b700f23335e9206e1e460a477df2103ce3c186d
https://github.com/llvm/llvm-project/commit/0b700f23335e9206e1e460a477df2103ce3c186d
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/kernel.h
M flang/runtime/CUDA/kernel.cpp
Log Message:
-----------
[flang][cuda] Add entry point to launch global function with cluster_dims (#113958)
Commit: b05fec97d59898a63a3e303122bbc7fc5e29ced8
https://github.com/llvm/llvm-project/commit/b05fec97d59898a63a3e303122bbc7fc5e29ced8
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir
Log Message:
-----------
[flang][cuda] Convert gpu.launch_func to CUFLaunchClusterKernel when cluster dims are present (#113959)
Kernel launch in CUF are converted to `gpu.launch_func`. When the kernel
has `cluster_dims` specified these get carried over to the
`gpu.launch_func` operation. This patch updates the special conversion
of `gpu.launch_func` when cluster dims are present to the newly added
entry point.
Commit: a1f2fb6078bbed8034ce28eafc3518268e25f2ff
https://github.com/llvm/llvm-project/commit/a1f2fb6078bbed8034ce28eafc3518268e25f2ff
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-reduction.mlir
Log Message:
-----------
[MLIR][OpenMP] Prevent composite omp.simd related crashes (#113680)
This patch updates the translation of `omp.wsloop` with a nested
`omp.simd` to prevent uses of block arguments defined by the latter from
triggering null pointer dereferences.
This happens because the inner `omp.simd` operation representing
composite `do simd` constructs is currently skipped and not translated,
but this results in block arguments defined by it not being mapped to an
LLVM value. The proposed solution is to map these block arguments to the
LLVM value associated to the corresponding operand, which is defined
above.
Commit: f53889ffcad28bbc0faf671626cc90eb4e7da5a8
https://github.com/llvm/llvm-project/commit/f53889ffcad28bbc0faf671626cc90eb4e7da5a8
Author: Jubilee <workingjubilee at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Allow crypto features to imply dependents (#112659)
This relationship is a logical dependency.
Note Zvbc and Zvknhb. They are explicitly called out in the spec as
requiring 64 bits:
-
https://github.com/riscv/riscv-crypto/blob/56ed7952d13eb5bdff92e2b522404668952f416d/doc/vector/riscv-crypto-spec-vector.adoc
Commit: b1d0fe095ba93df47b5db20a3bd55f9ff857836e
https://github.com/llvm/llvm-project/commit/b1d0fe095ba93df47b5db20a3bd55f9ff857836e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
Log Message:
-----------
[RISCV] Remove trailing whitespace. NFC
Commit: f964514490ecf6d57dc9f53ebda913a6fe1e3abd
https://github.com/llvm/llvm-project/commit/f964514490ecf6d57dc9f53ebda913a6fe1e3abd
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
Nominate Shafik Yaghmour and Vlad Serebrennikov for C++ conformance (#114071)
Shafik and Vlad are both members of WG21 and both have familiarity with
reasoning about the C++ standard. They've both volunteered to help
answer conformance related questions, and this is an area where we get
quite a bit of questions so having a larger stable of maintainers is
quite useful.
Commit: 9a5b3a1bbca6790602ec3291da850fc4485cc807
https://github.com/llvm/llvm-project/commit/9a5b3a1bbca6790602ec3291da850fc4485cc807
Author: Adam Yang <hanbyang at microsoft.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
A llvm/test/CodeGen/DirectX/group_memory_barrier_with_group_sync.ll
M llvm/utils/TableGen/DXILEmitter.cpp
Log Message:
-----------
[DXIL] Add GroupMemoryBarrierWithGroupSync intrinsic (#111884)
fixes #112974
partially fixes #70103
### Changes
- Added new tablegen based way of lowering dx intrinsics to DXIL ops.
- Added int_dx_group_memory_barrier_with_group_sync intrinsic in
IntrinsicsDirectX.td
- Added expansion for int_dx_group_memory_barrier_with_group_sync in
DXILIntrinsicExpansion.cpp`
- Added DXIL backend test case
### Related PRs
* [[clang][HLSL] Add GroupMemoryBarrierWithGroupSync intrinsic
#111883](https://github.com/llvm/llvm-project/pull/111883)
* [[SPIRV] Add GroupMemoryBarrierWithGroupSync intrinsic
#111888](https://github.com/llvm/llvm-project/pull/111888)
Commit: d661aea4c5668fc9b06f4b26d9fb072b1a6d7ff4
https://github.com/llvm/llvm-project/commit/d661aea4c5668fc9b06f4b26d9fb072b1a6d7ff4
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
Log Message:
-----------
[OpenMP] Add support for custom callback in AMDGPUStream (#112785)
Summary:
We have the ability to schedule callbacks after certain events complete.
Currently we can register an arbitrary callback in CUDA, but can't in
AMDGPU. I am planning on using this support to move the RPC handling to
a separate thread, then using these callbacks to suspend / resume it
when no kernels are running. This is a preliminary patch to keep this
noise out of that one.
Commit: 4e1b9d34f922d3b8b04a65f29681cd95dc9ce75f
https://github.com/llvm/llvm-project/commit/4e1b9d34f922d3b8b04a65f29681cd95dc9ce75f
Author: Afanasyev Ivan <ivafanas at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/MachineStripDebug.cpp
A llvm/test/CodeGen/Generic/MIRStripDebug/bundles.mir
Log Message:
-----------
[mir-strip-debug] Fix debug location info strip for bundled instructions (#113676)
Fix bug that `mir-strip-debug` pass does not remove debug location from
bundled instructions.
Problem arises during testing that debug info does not affect
optimization passes output (`llvm-lit` with ` -Dllc="llc
-debugify-and-strip-all-safe"`), when pass operates on MIR with bundled
instructions + memory operands.
Let mir test check looks like:
```
CHECK-NEXT: BUNDLE {
CHECK-NEXT: $r3 = LD $r1, $r2 :: (load (s64) from %ir.a, !tbaa !2)
CHECK-NEXT: }
```
So as `mir-strip-debug` pass does not process bundled instructions,
running `llc -debugify-and-strip-all-safe` on the test will produce the
following output:
```
BUNDLE {
$r3 = LD $r1, $r2, debug-location !DILocation(line: 3, column: 1, scope: <0x608cb2b99b10>) :: (load (s64) from %ir.a, !tbaa !2)
}
```
And test will fail, but it shouldn't.
Seems like the root cause is that `mir-strip-debug` pass should remove
debug location from bundled instructions.
Commit: b510cdb895b9188e5819c4c85a6dab22a4d14385
https://github.com/llvm/llvm-project/commit/b510cdb895b9188e5819c4c85a6dab22a4d14385
Author: Steven Wu <stevenwu at apple.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
A llvm/include/llvm/ADT/TrieHashIndexGenerator.h
A llvm/include/llvm/ADT/TrieRawHashMap.h
M llvm/lib/Support/CMakeLists.txt
A llvm/lib/Support/TrieRawHashMap.cpp
M llvm/unittests/ADT/CMakeLists.txt
A llvm/unittests/ADT/TrieRawHashMapTest.cpp
Log Message:
-----------
[ADT] Add TrieRawHashMap (#69528)
Implement TrieRawHashMap can be used to store object with its associated
hash. User needs to supply a strong hashing function to guarantee the
uniqueness of the hash of the objects to be inserted. A hash collision
is not supported and will lead to error or failed to insert.
TrieRawHashMap is thread-safe and lock-free and can be used as
foundation data structure to implement a content addressible storage.
TrieRawHashMap owns the data stored in it and is designed to be:
* Fast to lookup.
* Fast to "insert" if the data has already been inserted.
* Can be used without lock and doesn't require any knowledge of the
participating threads or extra coordination between threads.
It is not currently designed to be used to insert unique new data with
high contention, due to the limitation on the memory allocator.
Commit: 950ee75909d94c582ecac4d3d559c364ed88244f
https://github.com/llvm/llvm-project/commit/950ee75909d94c582ecac4d3d559c364ed88244f
Author: Harald van Dijk <harald.vandijk at codeplay.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/allocate-lmul-2-4-8.ll
Log Message:
-----------
[RISC-V] Fix check of minimum vlen. (#114055)
If we have a minimum vlen, we were adjusting StackSize to change the
unit from vscale to bytes, and then calculating the required padding
size for alignment in bytes. However, we then used that padding size as
an offset in vscale units, resulting in misplaced stack objects.
While it would be possible to adjust the object offsets by dividing
AlignmentPadding by ST.getRealMinVLen() / RISCV::RVVBitsPerBlock, we can
simplify the calculation a bit if instead we adjust the alignment to be
in vscale units.
@topperc This fixes a bug I am seeing after #110312, but I am not 100%
certain I am understanding the code correctly, could you please see if
this makes sense to you?
Commit: 4abc35740760b626d3fcabd001593d46c4b595af
https://github.com/llvm/llvm-project/commit/4abc35740760b626d3fcabd001593d46c4b595af
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
Nominate Sirraide for AST visitors and Sema (#114092)
Sirraide has been actively reviewing Sema code for a while now and
definitely has the expertise to help maintain that section of the
compiler. Further, he has been refactoring AST visitors to try to reduce
the compile time overhead associated with them and would be a good
resource for keeping an eye on that part of the code base too.
Commit: 639a7ac648f1e50ccd2556e17d401c04f9cce625
https://github.com/llvm/llvm-project/commit/639a7ac648f1e50ccd2556e17d401c04f9cce625
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/DeclTemplate.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
Log Message:
-----------
[Clang][AST] Store injected template arguments in TemplateParameterList (#113579)
Currently, we store injected template arguments in
`RedeclarableTemplateDecl::CommonBase`. This approach has a couple
problems:
1. We can only access the injected template arguments of
`RedeclarableTemplateDecl` derived types, but other `Decl` kinds still
make use of the injected arguments (e.g.
`ClassTemplatePartialSpecializationDecl`,
`VarTemplatePartialSpecializationDecl`, and `TemplateTemplateParmDecl`).
2. Accessing the injected template arguments requires the common data
structure to be allocated. This may occur before we determine whether a
previous declaration exists (e.g. when comparing constraints), so if the
template _is_ a redeclaration, we end up discarding the common data
structure.
This patch moves the storage and access of injected template arguments
from `RedeclarableTemplateDecl` to `TemplateParameterList`.
Commit: 449523fa0f957db0fff1c0cd9ec5f59e858ece0b
https://github.com/llvm/llvm-project/commit/449523fa0f957db0fff1c0cd9ec5f59e858ece0b
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
Nominate Vassil Vassilev for Modules and Plugins (#114058)
Vassil has significant experience helping users with the plugin
interface in Clang, especially around the new efforts to bring plugin
support to Windows. He also is knowledgeable about modules support.
Commit: 528e975ac4081c7d84c5664c7ca9a18a916db4c7
https://github.com/llvm/llvm-project/commit/528e975ac4081c7d84c5664c7ca9a18a916db4c7
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm.s.expected
M llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm_err.s.expected
A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm_sort.s
A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm_sort.s.expected
A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm_sort_with_comment.s
A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm_sort_with_comment.s.expected
A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm_unique.s
A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm_unique.s.expected
M llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_dasm.txt.expected
A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_dasm_unique.txt
A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_dasm_unique.txt.expected
M llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_multirun_dasm.txt.expected
A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/amdgpu-sort.test
A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/amdgpu-unique.test
M llvm/utils/UpdateTestChecks/common.py
M llvm/utils/update_mc_test_checks.py
Log Message:
-----------
[AMDGPU][test]added unique and sort options for update_mc_test_check script (#111769)
add a unique and a sort option to the update_mc_test_check script.
These mc asm/dasm files are usually large in number of lines, and these
lines are mostly similar to each other. These options can be useful when
maintainer is merging or resolving conflicts by making the file
identifical
Also fixed a small issue in asm/dasm such that the auto generated header
line is
1. asm using ";" instead of "//" as comment marker
2. dasm using ";" instead of "#" as comment marker
Commit: ba65710908137fe68e7c039f1e2829c3d37480f3
https://github.com/llvm/llvm-project/commit/ba65710908137fe68e7c039f1e2829c3d37480f3
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
Log Message:
-----------
[RISCV] Avoid redundant SchedRead on _TIED VPseudos (#113940)
_TIED and _MASK_TIED pseudos have one less operand compared to other
pseudos, thus we shouldn't attach the same number of SchedRead for these
instructions.
I don't think we have a way to (explicitly) check scheduling classes. So
I only test this patch with existing tests.
Commit: 6f66530fd17a2333939e6b5a46d378ac7379f7ca
https://github.com/llvm/llvm-project/commit/6f66530fd17a2333939e6b5a46d378ac7379f7ca
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M mlir/lib/Pass/PassRegistry.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/lib/Pass/PassRegistry.cpp:425:37: error: ISO C++ requires the
name after '::~' to be found in the same scope as the name before
'::~' [-Werror,-Wdtor-name]
Commit: b0dd368d5741b1ad117848e33148d95406b33241
https://github.com/llvm/llvm-project/commit/b0dd368d5741b1ad117848e33148d95406b33241
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/ADT/BUILD.gn
Log Message:
-----------
[gn build] Port b510cdb895b9
Commit: 6563ed3162d16e7f067dda554e96d0c9d476f207
https://github.com/llvm/llvm-project/commit/6563ed3162d16e7f067dda554e96d0c9d476f207
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M libcxx/include/module.modulemap
Log Message:
-----------
[libc++][NFC] Remove trailing whitespace in the modulemap
Commit: cdacc9b5c7ec020bad24dbdcbeba96ac1d2713e5
https://github.com/llvm/llvm-project/commit/cdacc9b5c7ec020bad24dbdcbeba96ac1d2713e5
Author: Jerry Sun <105613447+jerryyiransun at users.noreply.github.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
M llvm/utils/TableGen/CallingConvEmitter.cpp
M llvm/utils/TableGen/CodeEmitterGen.cpp
M llvm/utils/TableGen/CodeGenMapTable.cpp
M llvm/utils/TableGen/DAGISelEmitter.cpp
M llvm/utils/TableGen/DFAPacketizerEmitter.cpp
M llvm/utils/TableGen/DXILEmitter.cpp
M llvm/utils/TableGen/DirectiveEmitter.cpp
M llvm/utils/TableGen/DisassemblerEmitter.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
M llvm/utils/TableGen/OptionRSTEmitter.cpp
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
M llvm/utils/TableGen/TableGen.cpp
M llvm/utils/TableGen/VTEmitter.cpp
Log Message:
-----------
[TableGen] [NFC] Refine TableGen code to comply with `clang-tidy` checks (#113318)
Code cleanups for TableGen files, changes includes function names,
variable names and unused imports.
---------
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Commit: f22c9ddb36dca84547212e087de3319dcc6bea49
https://github.com/llvm/llvm-project/commit/f22c9ddb36dca84547212e087de3319dcc6bea49
Author: Lang Hames <lhames at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/RedirectionManager.h
Log Message:
-----------
[ORC] Single-symbol convenience method does not need to be virtual.
This convenience method just calls the general case which is already virtual.
Commit: 9e37cbb469c0ec2fdbf4e3e7b0d9a2938ac30b01
https://github.com/llvm/llvm-project/commit/9e37cbb469c0ec2fdbf4e3e7b0d9a2938ac30b01
Author: Lang Hames <lhames at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
Log Message:
-----------
[ORC] Add some missing FIXMEs, move a temporary Error into an if condition.
Commit: 8e14c6c172b122203f46a9ad114d51c74535cbb7
https://github.com/llvm/llvm-project/commit/8e14c6c172b122203f46a9ad114d51c74535cbb7
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Flang.h
M flang/include/flang/Frontend/TargetOptions.h
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
A flang/test/Driver/mabi.f90
Log Message:
-----------
[flang] Support -mabi=vec-extabi and -mabi=vec-default on AIX (#113215)
This option is to enable the AIX extended and default vector ABIs.
Commit: efc6d33be9f4b4d0f0e8d3d5f198f2616b75792b
https://github.com/llvm/llvm-project/commit/efc6d33be9f4b4d0f0e8d3d5f198f2616b75792b
Author: Wanyi <kusmour at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M lldb/source/Host/common/FileAction.cpp
M lldb/test/API/commands/settings/TestSettings.py
M lldb/test/API/python_api/process/io/TestProcessIO.py
M lldb/unittests/Host/FileActionTest.cpp
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb] Fix write only file action to truncate the file (#112657)
When `FileAction` opens file with write access, it doesn't clear the
file nor append to the end of the file if it already exists. Instead, it
writes from cursor index 0.
For example, by using the settings `target.output-path` and
`target.error-path`, lldb will redirect process stdout/stderr to files.
It then calls this function to write to the files which the above
symptoms appear.
## Test
- Added unit test checking the file flags
- Added 2 api tests checking
- File content overwritten if the file path already exists
- Stdout and stderr redirection to the same file doesn't change its
behavior
Commit: b4e1af0096fd05ed4bddf11b48b604d75a7103d0
https://github.com/llvm/llvm-project/commit/b4e1af0096fd05ed4bddf11b48b604d75a7103d0
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
Log Message:
-----------
[lldb-dap] Always pass disableASLR to the DAP executable (#113891)
More context can be found in
https://github.com/llvm/llvm-project/pull/110303
For DAP tests running in constrained environments (e.g., Docker
containers), disabling ASLR isn't allowed. So we set `disableASLR=False`
(since https://github.com/llvm/llvm-project/pull/113593).
However, the `dap_server.py` will currently only forward the value
of `disableASLR` to the DAP executable if it's set to `True`. If the
DAP executable wasn't provided a `disableASLR` field it defaults to
`true` too:
https://github.com/llvm/llvm-project/blob/f14743794587db102c6d1b20f9c87a1ac20decfd/lldb/tools/lldb-dap/lldb-dap.cpp#L2103-L2104
This means that passing `disableASLR=False` from the tests is currently
not possible.
This is also true for many of the other boolean arguments of
`request_launch`. But this patch only addresses `disableASLR` for now
since it's blocking a libc++ patch.
Commit: b9978f8c7792a8bfdbef8912b3db7617bc5fddff
https://github.com/llvm/llvm-project/commit/b9978f8c7792a8bfdbef8912b3db7617bc5fddff
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
A flang/test/Fir/CUDA/cuda-constructor-2.f90
Log Message:
-----------
[flang][cuda] Adding variable registration in constructor (#113976)
1) Adding variable registration in constructor
2) Applying feedback from PR
https://github.com/llvm/llvm-project/pull/112989
Commit: c79827cd15ad31b77702e63e5050c1a8b0b44825
https://github.com/llvm/llvm-project/commit/c79827cd15ad31b77702e63e5050c1a8b0b44825
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/SandboxIR/Context.cpp
Log Message:
-----------
[SandboxIR] Fix a warning
This patch fixes:
llvm/lib/SandboxIR/Context.cpp:684:22: error: unused variable
'MaxRegisteredCallbacks' [-Werror,-Wunused-const-variable]
Commit: 9cc5a4bf667ffcd2765a6a00a311fb4ec8559b37
https://github.com/llvm/llvm-project/commit/9cc5a4bf667ffcd2765a6a00a311fb4ec8559b37
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
Log Message:
-----------
Remove llvm::shouldOptForSize() from Utils.h (#112630)
Remove `llvm::shouldOptForSize()` from `Utils.h` since we can use
`llvm::shouldOptimizeForSize()` from `SizeOpts.h` instead.
Depends on https://github.com/llvm/llvm-project/pull/112626
Commit: a18af41c20ac9ca22e3c95da3d71475f9f6c31b5
https://github.com/llvm/llvm-project/commit/a18af41c20ac9ca22e3c95da3d71475f9f6c31b5
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/TableGen/TGLexer.cpp
M llvm/test/Assembler/invalid-inttype.ll
M llvm/test/Assembler/invalid-name.ll
M llvm/test/Assembler/invalid-name2.ll
M llvm/test/TableGen/64-bit-int.td
M llvm/test/TableGen/invalid-macro-name-command-line.td
M llvm/test/TableGen/prep-diag1.td
M llvm/test/TableGen/prep-diag10.td
M llvm/test/TableGen/prep-diag11.td
M llvm/test/TableGen/prep-diag12.td
M llvm/test/TableGen/prep-diag13.td
M llvm/test/TableGen/prep-diag14.td
M llvm/test/TableGen/prep-diag2.td
M llvm/test/TableGen/prep-diag3.td
M llvm/test/TableGen/prep-diag4.td
M llvm/test/TableGen/prep-diag6.td
M llvm/test/TableGen/prep-diag8.td
M llvm/test/TableGen/prep-diag9.td
M llvm/test/TableGen/prep-ifndef-diag-1.td
M llvm/test/TableGen/prep-ifndef-diag-2.td
M llvm/test/TableGen/unterminated-c-comment.td
M llvm/test/TableGen/unterminated-code-block.td
Log Message:
-----------
[LLVM] Change error messages to start with lower case (#113748)
Change LLVM Asm and TableGen Lexer/Parser error messages to begin with
lower case.
Commit: 3754fc1e9af38951aa00181c0e8110174d3f94fd
https://github.com/llvm/llvm-project/commit/3754fc1e9af38951aa00181c0e8110174d3f94fd
Author: Thurston Dang <thurston at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M compiler-rt/test/hwasan/TestCases/many-threads-uaf.c
M compiler-rt/test/hwasan/TestCases/mem-intrinsics.c
M compiler-rt/test/hwasan/TestCases/use-after-free.c
Log Message:
-----------
[hwasan] Flush stderr/stdout in tests (#114083)
The x86_64_lam_qemu buildbots started failing
(https://lab.llvm.org/buildbot/#/builders/139/builds/5462/steps/2/logs/stdio).
Based on the logs, it appears the HWASan check is correct but it did not
match the stderr/stdout output. This patch attempts to fix the issue by
flushing stderr/stdout as appropriate.
Commit: 3a1228a543bc85e225809b1f3033fac744f1f122
https://github.com/llvm/llvm-project/commit/3a1228a543bc85e225809b1f3033fac744f1f122
Author: Adam Yang <hanbyang at microsoft.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/group_memory_barrier_with_group_sync.ll
Log Message:
-----------
[SPIRV] Add GroupMemoryBarrierWithGroupSync intrinsic (#111888)
partially fixes #70103
### Changes
* Added int_spv_group_memory_barrier_with_group_sync intrinsic in
IntrinsicsSPIRV.td
* Added lowering for int_spv_group_memory_barrier_with_group_sync in
SPIRVInstructionSelector.cpp
* Added SPIRV backend test case
### Related PRs
* [[clang][HLSL] Add GroupMemoryBarrierWithGroupSync intrinsic
#111883](https://github.com/llvm/llvm-project/pull/111883)
* [[DXIL] Add GroupMemoryBarrierWithGroupSync intrinsic
#111884](https://github.com/llvm/llvm-project/pull/111884)
Commit: e205929399d9ee4782b2d8ef1b659f918bdfe7c2
https://github.com/llvm/llvm-project/commit/e205929399d9ee4782b2d8ef1b659f918bdfe7c2
Author: Thurston Dang <thurston at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/Posix/ignore_free_hook.cpp
Log Message:
-----------
[asan] Flush stderr in test (#114084)
This is the ASan equivalent of
https://github.com/llvm/llvm-project/pull/114083.
The x86_64_lam_qemu buildbots started failing
(https://lab.llvm.org/buildbot/#/builders/139/builds/5462/steps/2/logs/stdio).
Based on the logs, it appears the ASan check is correct but it did not
match the stderr/stdout output. This patch attempts to fix the issue by
flushing stderr as appropriate.
Commit: 8a0cb9ac869334fd6c6bd6aad8408623a7ccd7f6
https://github.com/llvm/llvm-project/commit/8a0cb9ac869334fd6c6bd6aad8408623a7ccd7f6
Author: Maryam Moghadas <maryammo at ca.ibm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/test/CodeGen/PowerPC/saddo-ssubo.ll
Log Message:
-----------
[PowerPC] Add custom lowering for ssubo (#111748)
This patch is to improve the codegen for ssubo node for i32 in 64-bit
mode by custom lowering.
Commit: 27ef549af2c2f60d05f38db1ecc7a8ad7294351d
https://github.com/llvm/llvm-project/commit/27ef549af2c2f60d05f38db1ecc7a8ad7294351d
Author: z1nke <iamczn.cpp at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-designated-initializers.cpp
Log Message:
-----------
[clang-tidy] Fix crash in modernize-use-designated-initializers check (#113688)
Fix #113652.
When calling `Node.isAggregate()` and `Node.isPOD()`, if `Node` is declared but
not defined, it will result in null pointer dereference (and if assertions are
enabled, it will cause an assertion failure).
Commit: 5c12434906d85dde4d44036cfb564fd366d9a1a4
https://github.com/llvm/llvm-project/commit/5c12434906d85dde4d44036cfb564fd366d9a1a4
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
M llvm/test/CodeGen/X86/avx10_2_512bf16-intrinsics.ll
M llvm/test/CodeGen/X86/avx10_2bf16-intrinsics.ll
M llvm/test/CodeGen/X86/avx512dq-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/avx512dq-intrinsics-upgrade.ll
M llvm/test/CodeGen/X86/avx512dq-intrinsics.ll
M llvm/test/CodeGen/X86/avx512dqvl-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/avx512dqvl-intrinsics-upgrade.ll
M llvm/test/CodeGen/X86/avx512dqvl-intrinsics.ll
M llvm/test/CodeGen/X86/stack-folding-fp-avx512fp16.ll
M llvm/test/CodeGen/X86/stack-folding-fp-avx512fp16vl.ll
Log Message:
-----------
[X86] Emit comments explaining the immediate in vfpclass
This makes the assembly a lot more readable at a glance.
As an example:
```
vfpclasspd $4, %zmm0, %k0 # k0 = isNegativeZero(zmm0)
```
Commit: ba8d9ce8d4f0665f29bb4bb43ce16d02acaed751
https://github.com/llvm/llvm-project/commit/ba8d9ce8d4f0665f29bb4bb43ce16d02acaed751
Author: Steven Wu <stevenwu at apple.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Support/TrieRawHashMap.cpp
Log Message:
-----------
[ADT] Fix unused variable from #69528 (#114114)
Remove unused variable to fix build failures from bot.
Commit: ccd73eeab34b31c7c38e9aca05ca4192fb0913b0
https://github.com/llvm/llvm-project/commit/ccd73eeab34b31c7c38e9aca05ca4192fb0913b0
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[LinkerWrapper] Remove in-house handling of LTO (#113715)
Summary:
This should be the linker's job if the user creates any bitcode files,
then passing `-flto` to the linker for the toolchain should be able to
handle it. Right now this path is only used in the case where someone
does LTO w/ ld.gold targeting a CPU so I think we are safe here as that
will still be forwarded, for bfd it'll be an error as it would on the
host. I think I talked the SYCL team out of using this as well so I
should be good to delete it.
Commit: 70af40ba74cf62fdaa3ae1d7db972c138655049f
https://github.com/llvm/llvm-project/commit/70af40ba74cf62fdaa3ae1d7db972c138655049f
Author: Thurston Dang <thurston at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M compiler-rt/test/hwasan/TestCases/use-after-free.c
Log Message:
-----------
[hwasan] Fix forward '[hwasan] Flush stderr/stdout in tests (#114083)'
3754fc1e9af38951aa00181c0e8110174d3f94fd broke the build because subsequent checks depend on the line numbers
https://lab.llvm.org/buildbot/#/builders/174/builds/7534/steps/6/logs/FAIL__HWAddressSanitizer-x86_64__use-after-free_c
Commit: 8193832fb988e3df1e8e726634783805dca8d9b6
https://github.com/llvm/llvm-project/commit/8193832fb988e3df1e8e726634783805dca8d9b6
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M lldb/source/Core/SourceManager.cpp
Log Message:
-----------
[lldb] Search main function with lldb::eFunctionNameTypeFull when getting default file and line. (#113980)
This is to work around the fact that
`SymbolFileNativePDB::FindFunctions` only support
`lldb::eFunctionNameTypeFull` and `lldb::eFunctionNameTypeMethod` now.
Since `main`'s full name is the same as base name (`main`), it's okay to
search with `lldb::eFunctionNameTypeFull` when trying to get the default
file and line. With this, `lldb/test/Shell/Driver/TestSingleQuote.test`
passes on Windows with NativePDB plugin.
Commit: a78861fc55d18046989ff4d624a037e9181da170
https://github.com/llvm/llvm-project/commit/a78861fc55d18046989ff4d624a037e9181da170
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/test/Driver/nvlink-wrapper.c
M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
M clang/tools/clang-nvlink-wrapper/NVLinkOpts.td
Log Message:
-----------
[NvlinkWrapper] Add support for `--undefined` (#113934)
Summary:
This flag is pretty canonical in ELF linkers, it allows us to force the
link job to extract a library if it defines a specific symbol. This is
mostly useful for letting us forcibly extract things that don't fit the
normal model (i.e. kernels) from static libraries.
Commit: 41baa69a7e2ab3df13334565aa6ccdae1b0113ad
https://github.com/llvm/llvm-project/commit/41baa69a7e2ab3df13334565aa6ccdae1b0113ad
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M bolt/lib/Core/BinaryFunction.cpp
Log Message:
-----------
[BOLT] Fix warnings (#114116)
This patch fixes:
bolt/lib/Core/BinaryFunction.cpp:2537:13: error: enumeration value
'OpNegateRAStateWithPC' not handled in switch [-Werror,-Wswitch]
bolt/lib/Core/BinaryFunction.cpp:2661:13: error: enumeration value
'OpNegateRAStateWithPC' not handled in switch [-Werror,-Wswitch]
bolt/lib/Core/BinaryFunction.cpp:2805:13: error: enumeration value
'OpNegateRAStateWithPC' not handled in switch [-Werror,-Wswitch]
Commit: 94e7d9c0bfe517507ea08b00fb00c32fb2837a82
https://github.com/llvm/llvm-project/commit/94e7d9c0bfe517507ea08b00fb00c32fb2837a82
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Remove Zvk* dependency checks from RISCVISAInfo::checkDependency.
The Zvk* extensions now imply Zve32x or Zve64x so it shouldn't be
possible to fail these dependency checks.
Commit: 83ae171722bea2722afa4efb0558a6d8b8844305
https://github.com/llvm/llvm-project/commit/83ae171722bea2722afa4efb0558a6d8b8844305
Author: David Green <david.green at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/arm64-vshift.ll
M llvm/unittests/CodeGen/AArch64SelectionDAGTest.cpp
Log Message:
-----------
[AArch64] Add ComputeNumSignBits for VASHR. (#113957)
As with a normal ISD::SRA node, they take the number of sign bits of the
incoming value and increase it by the shifted amount.
Commit: 680901ed8010319843cd81275b845d682f77e27f
https://github.com/llvm/llvm-project/commit/680901ed8010319843cd81275b845d682f77e27f
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Implement VPHeaderPHIRecipe::computeCost.
Fill out computeCost implementations for various header PHI recipes,
matching the legacy cost model for now.
Commit: 4a96081224b6c0f166760eab0c42ef3dfadd5ed1
https://github.com/llvm/llvm-project/commit/4a96081224b6c0f166760eab0c42ef3dfadd5ed1
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[clang-linker-wrapper] Fix a warning
This patch fixes:
clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp:642:6:
error: unused function 'diagnosticHandler'
[-Werror,-Wunused-function]
Commit: a325c5359310316e393e7e446373fca645002ecb
https://github.com/llvm/llvm-project/commit/a325c5359310316e393e7e446373fca645002ecb
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M lldb/unittests/Host/FileActionTest.cpp
Log Message:
-----------
[lldb] Fix lldb windows build breakage from https://github.com/llvm/llvm-project/pull/112657.
LLDB windows build failure: https://lab.llvm.org/buildbot/#/builders/141/builds/3462
Commit: 5cfb07a5d067f7729a1578c7272fb314a89c8596
https://github.com/llvm/llvm-project/commit/5cfb07a5d067f7729a1578c7272fb314a89c8596
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
Log Message:
-----------
Revert "[ADT] Use std::string_view inside StringRef (#113775)" (#114133)
This patch reverts commit 89b5d88fb81362b4fb2f833790aa40b7eaa186da.
Some sanitizer failures have been reported, indicating that StringRef
and std::string_view handle data == nulptr differently. Also, they
support different values for the max size (size_t v.s. ptrdiff_t).
Thanks goes to Jorge Gorbe Moya for reporting these.
Commit: 8b55162e195783dd27e1c69fb4d97971ef76725b
https://github.com/llvm/llvm-project/commit/8b55162e195783dd27e1c69fb4d97971ef76725b
Author: Luke Lau <luke at igalia.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/test/Analysis/CostModel/RISCV/reduce-fadd.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-fmul.ll
Log Message:
-----------
[RISCV] Add cost model tests for scalable FP reductions. NFC
There are already some in reduce-scalable-fp.ll but this makes it a
bit easier to see the difference alongside their fixed-length
counterparts.
Commit: ca998b071eba1c92bf8535964183c7c4c3b258c3
https://github.com/llvm/llvm-project/commit/ca998b071eba1c92bf8535964183c7c4c3b258c3
Author: vporpo <vporpodas at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
Log Message:
-----------
[SandboxVec][Legality] Check wrap flags (#113975)
Commit: 2c5eea0e88a6ef6bf932d90c67aaec2bcc59d340
https://github.com/llvm/llvm-project/commit/2c5eea0e88a6ef6bf932d90c67aaec2bcc59d340
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][Vector] Fix vector.insert folder for scalar to 0-d inserts (#113828)
The current vector.insert folder tries to replace a scalar with a 0-rank
vector. This patch fixes this crash by not folding unless they types of
the result and replacement are same.
Commit: d90a0d1d986e12c4a6ff2eeffe29cedc34e6e2ab
https://github.com/llvm/llvm-project/commit/d90a0d1d986e12c4a6ff2eeffe29cedc34e6e2ab
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M libc/test/src/math/exhaustive/sinpif_test.cpp
Log Message:
-----------
Remove spurious includes from sinpif_test.cpp
MPFR functionality is provided by the MPFRWrapper instead, and the direct "mpfr.h" inclusion is not needed - this test doesn't rely on it (similar to its sibling libc/test/src/math/exhaustive/cospif_test.cpp that doesn't have it).
Commit: f71ea0e72e2419691e3c67bdbbe338d314ee77c0
https://github.com/llvm/llvm-project/commit/f71ea0e72e2419691e3c67bdbbe338d314ee77c0
Author: A. Jiang <de34 at live.cn>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M libcxx/test/std/strings/basic.string/string.capacity/deallocate_size.pass.cpp
Log Message:
-----------
[libc++][test] Augment `test_alloc` in `deallocate_size.pass.cpp` (#113638)
Making it meet the requirements for allocator since C++11. Fixes
#113609.
This PR doesn't make it meet the C++03 allocator requirements, because
that would make the type too verbose and libc++ has backported many
C++11 features to the C++03 mode.
Drive-by: Removes the `TEST_CONSTEXPR_CXX14` on `allocate`/`dealocate`
which is never in effect (and causes IFNDR-ness before C++23), since
these functions modify the namespace-scoped variable `allocated_`.
Commit: 0f8dbb2fac532e37a9859d52982f0e8994305a11
https://github.com/llvm/llvm-project/commit/0f8dbb2fac532e37a9859d52982f0e8994305a11
Author: A. Jiang <de34 at live.cn>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M libcxx/include/complex
A libcxx/test/libcxx/numerics/complex.number/cmplx.over.pow.pass.cpp
Log Message:
-----------
[libc++] Constrain additional overloads of `pow` for `complex` harder (#110235)
Fixes #109858.
The changes in #81379 broke some 3rd party library code that expected
usability of `std::complex<NonFloatingPoint>`. Although such code isn't
portable per [complex.numbers.general]/2, it might be better to make
these additional overloads not to interfere overload resolution too
much.
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 75b37c3191254d0c418058cb94c3a7922b7ba71e
https://github.com/llvm/llvm-project/commit/75b37c3191254d0c418058cb94c3a7922b7ba71e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M lldb/unittests/Expression/DWARFExpressionTest.cpp
M llvm/include/llvm/BinaryFormat/Dwarf.def
Log Message:
-----------
[DWARF] Fix arity of DW_OP_bra (#114136)
Found by my proof-of-concept DWARF expression evaluator fuzzer.
Commit: 50dd9225f8b33a924970039772faeac03e0a5716
https://github.com/llvm/llvm-project/commit/50dd9225f8b33a924970039772faeac03e0a5716
Author: Thurston Dang <thurston at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/Posix/ignore_free_hook.cpp
Log Message:
-----------
Revert "[asan] Flush stderr in test (#114084)"
This reverts commit e205929399d9ee4782b2d8ef1b659f918bdfe7c2.
Reason: did not solve the QEMU bot issues (https://lab.llvm.org/buildbot/#/builders/139/builds/5552/steps/30/logs/stdio) and it shouldn't have been necessary anyway (https://github.com/llvm/llvm-project/pull/114084#issuecomment-2445513320)
Commit: 0fa2fb3ed0bc726e5dcf8258bf764aacd1c2e6dc
https://github.com/llvm/llvm-project/commit/0fa2fb3ed0bc726e5dcf8258bf764aacd1c2e6dc
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
A flang/test/Fir/CUDA/cuda-launch.fir
Log Message:
-----------
[flang][cuda] Add conversion pattern for cuf.kernel_launch op (#114129)
Commit: 255e441613e39a391e9f85d6a605cc9e46dcf273
https://github.com/llvm/llvm-project/commit/255e441613e39a391e9f85d6a605cc9e46dcf273
Author: Matthias Braun <matze at braunis.de>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Transforms/SLPVectorizer/X86/conversion-fp16.ll
Log Message:
-----------
X86: Do not return invalid cost for fp16 conversion (#114128)
Returning invalid instruction costs when converting from/to fp16 in
`X86TTIImpl::getCastInstrCost` when there is no hardware support
available was triggering asserts. This changes the code to return a
large (arbitrary) number to model the fact that libcalls are used to
implement the conversion.
This also simplifies the code by only reporting costs for the scalar
fp16 conversion; vectorized costs being left to the fallback assuming
scalarization.
This is a follow-up to assertion issues reported for the changes in
#113195
Commit: 13a3c4f97cf33279d597148ec48c71337aa16e9a
https://github.com/llvm/llvm-project/commit/13a3c4f97cf33279d597148ec48c71337aa16e9a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZfa.td
Log Message:
-----------
[RISCV] Add OperandType to frmarg and rtzarg. (#114142)
Teach RISCVInstrInfo::verifyInstruction to validate them.
This is partially extracted from #89047, but that did not include the
verification.
Commit: d9268289c3858c4ae877ff3bb90f28c160a977c8
https://github.com/llvm/llvm-project/commit/d9268289c3858c4ae877ff3bb90f28c160a977c8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/test/Driver/riscv-profiles.c
Log Message:
-----------
[RISCV] Add sha and supm to checks in riscv-profiles.c (#114123)
Commit: 8800b739bfe3ddc0bd32c158a016ffd0eee1e352
https://github.com/llvm/llvm-project/commit/8800b739bfe3ddc0bd32c158a016ffd0eee1e352
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
Log Message:
-----------
[RISCV] Refactor FP, SP and RA in RISCVFrameLowering.cpp. NFC (#113818)
Those registers are too fragmented in terms of usage, some are hard
coded and some are retrieved by calling function. Also some have
comments for alias name, some don't.
Commit: 63eb40eeb1b7aac57a181f6b5f9170ea94cef738
https://github.com/llvm/llvm-project/commit/63eb40eeb1b7aac57a181f6b5f9170ea94cef738
Author: A. Jiang <de34 at live.cn>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/ccomplex
M libcxx/include/ciso646
M libcxx/include/complex.h
A libcxx/include/cstdalign
M libcxx/include/cstdbool
M libcxx/include/ctgmath
M libcxx/include/module.modulemap
M libcxx/include/tgmath.h
M libcxx/test/libcxx/clang_modules_include.gen.py
M libcxx/test/libcxx/double_include.gen.py
M libcxx/test/libcxx/header_inclusions.gen.py
M libcxx/test/libcxx/include_as_c.sh.cpp
M libcxx/test/libcxx/libcpp_version.gen.py
M libcxx/test/libcxx/no_assert_include.gen.py
M libcxx/test/libcxx/system_reserved_names.gen.py
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/std/depr/depr.c.headers/ciso646.compile.pass.cpp
A libcxx/test/std/depr/depr.c.headers/stdalign_h.compile.pass.cpp
A libcxx/test/std/depr/depr.cpp.headers/ccomplex.verify.cpp
A libcxx/test/std/depr/depr.cpp.headers/ciso646.verify.cpp
A libcxx/test/std/depr/depr.cpp.headers/cstdalign.verify.cpp
A libcxx/test/std/depr/depr.cpp.headers/cstdbool.verify.cpp
A libcxx/test/std/depr/depr.cpp.headers/ctgmath.verify.cpp
A libcxx/test/std/language.support/support.runtime/cstdalign.compile.pass.cpp
M libcxx/test/std/language.support/support.runtime/cstdbool.pass.cpp
M libcxx/test/std/numerics/c.math/ctgmath.pass.cpp
M libcxx/test/std/numerics/complex.number/ccmplx/ccomplex.pass.cpp
M libcxx/utils/libcxx/header_information.py
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[libc++] Deprecate and remove meaningless `<cxxx>` headers (#111615)
This PR deprecates `<ccomplex>`, `<cstdbool>`, `<ctgmath>`, and
`<ciso646>` in C++17 and "removes" them in C++20 by special deprecation
warnings.
`<cstdalign>` is previously missing. This PR also tries to add them, and
then deprecates and "removes" `<cstdalign>`.
Papers:
- https://wg21.link/P0063R3
- https://wg21.link/P0619R4
Closes #99985.
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: facdae62b7be4fe177c8a130c68aef0305dc6eb3
https://github.com/llvm/llvm-project/commit/facdae62b7be4fe177c8a130c68aef0305dc6eb3
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/MC/MCInstPrinter.h
M llvm/include/llvm/MC/MCParser/MCAsmParser.h
M llvm/lib/MC/MCInstPrinter.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/ARC/MCTargetDesc/ARCInstPrinter.cpp
M llvm/lib/Target/ARC/MCTargetDesc/ARCInstPrinter.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYInstPrinter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYInstPrinter.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.h
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchInstPrinter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchInstPrinter.h
M llvm/lib/Target/M68k/MCTargetDesc/M68kInstPrinter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kInstPrinter.h
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.cpp
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.h
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZGNUInstPrinter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZGNUInstPrinter.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMInstPrinter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMInstPrinter.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.h
M llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.h
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.h
M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h
M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.h
M llvm/lib/Target/XCore/MCTargetDesc/XCoreInstPrinter.cpp
M llvm/lib/Target/XCore/MCTargetDesc/XCoreInstPrinter.h
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.h
Log Message:
-----------
[MCInstPrinter] Make printRegName non-const
Similar to printInst. printRegName may change states (e.g. #113834).
Commit: 9e8219a78c80442fb0f795f17926595a94a8e7d7
https://github.com/llvm/llvm-project/commit/9e8219a78c80442fb0f795f17926595a94a8e7d7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/IR/Verifier.cpp
M llvm/unittests/IR/VerifierTest.cpp
Log Message:
-----------
IR: Fix verifier missing addrspace mismatch in vector GEPs (#114091)
Commit: c62130f7b35412e7caadf5fd9547f21a736c4543
https://github.com/llvm/llvm-project/commit/c62130f7b35412e7caadf5fd9547f21a736c4543
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZfa.td
Log Message:
-----------
[RISCV] Add OperandType to loadfpimm. (#114150)
This is represented in the MachineInstr and MCInst as a 5-bit unsigned
immediate so we use OPERAND_UIMM5. If someone needs to know for sure its
an FLI constant in the future we can break it out to a new type.
Commit: 2c313259c65317f097d57ab4c6684b25db98f2e4
https://github.com/llvm/llvm-project/commit/2c313259c65317f097d57ab4c6684b25db98f2e4
Author: lialan <xunli at amd.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/Utils/MemRefUtils.h
M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
A mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned.mlir
Log Message:
-----------
[MLIR] VectorEmulateNarrowType to support loading of unaligned vectors (#113411)
Previously, the pass only supported emulation of loading vector sizes
that are multiples of the emulated data type. This patch expands its
support for emulating sizes that are not multiples of byte sizes. In
such cases, the element values are packed back-to-back to preserve
memory space.
To give a concrete example: if an input has type `memref<3x3xi2>`, it is
actually occupying 3 bytes in memory, with the first 18 bits storing the
values and the last 6 bits as padding. The slice of `vector<3xi2>` at
index `[2, 0]` is stored in memory from bit 12 to bit 18. To properly
load the elements from bit 12 to bit 18 from memory, first load byte 2
and byte 3, and convert it to a vector of `i2` type; then extract bits 4
to 10 (element index 2-5) to form a `vector<3xi2>`.
A limitation of this patch is that the linearized index of the unaligned
vector has to be known at compile time. Extra code needs to be emitted
to handle it if the condition does not hold.
The following ops are updated:
* `vector::LoadOp`
* `vector::TransferReadOp`
* `vector::MaskedLoadOp`
Commit: 29bff4aad8eb7f54f99e0496b735aee193063b04
https://github.com/llvm/llvm-project/commit/29bff4aad8eb7f54f99e0496b735aee193063b04
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/MC/MCInstPrinter.h
M llvm/lib/MC/MCInstPrinter.cpp
A llvm/test/tools/llvm-objdump/X86/disassemble-color.s
Log Message:
-----------
[llvm-objdump] Fix coloring with nested WithMarkup
WithMarkup objects may nest, resulting in the `)` in `leaq
(%rdx,%rax), %rbx` to be green instead of the default color,
mismatching the color of `(`.
```
% llvm-mc -triple=x86_64 -mdis <<< '0x48 0x8d 0x1c 0x02'
.text
leaq <mem:(<reg:%rdx>,<reg:%rax>)>, <reg:%rbx>
```
To ensure that `(` and `)` get the same color, maintain a color stack
within MCInstPrinter.
Fix #99661
Pull Request: https://github.com/llvm/llvm-project/pull/113834
Commit: 3c02fea737d774bbf174c6b763593ad3e7f56221
https://github.com/llvm/llvm-project/commit/3c02fea737d774bbf174c6b763593ad3e7f56221
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV][NFC] Remove stray semicolons (#114057)
Commit: ef455e6b16334128c008fc57a4d8ace701934e80
https://github.com/llvm/llvm-project/commit/ef455e6b16334128c008fc57a4d8ace701934e80
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenTarget.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.h
M llvm/utils/TableGen/FastISelEmitter.cpp
Log Message:
-----------
[TableGen] Replace all lingering uses of getName with getEnumName
The former is a wrapper for the latter with two differences: Other is
mapped to "UNKNOWN" (rather than "MVT::Other"), and iPTR(Any) are mapped
to "TLI.getPointerTy()" rather than "MVT::iPTR(Any)".
The only uses are in FastISelMap::printFunctionDefinitions. Most of
these uses are just a form of name mangling to ensure uniqueness, so the
actual string isn't important (and, in the case of MVT::iPTR(Any), were
both to be used, they would clash). Two uses are for a case statement,
which requires the expression to be a constant (of the right type), but
neither UNKNOWN nor TLI.getPointerTy() are constants, so would not work
there. The remaining uses are where an expression is needed, so UNKNOWN
similarly doesn't work, though TLI.getPointerTy() could in this case.
However, neither iPTR nor iPTRAny are supposed to make it this far
through TableGen, and should instead have been replaced with concrete
types, so this case should not be hit. Moreover, for almost all of these
uses, the name is passed to getLegalCName, which will strip an MVT::
prefix but will leave TLI.getPointerTy() unchanged, which is not a valid
C identifier, nor component thereof.
Thus, delete this unnecessary, and mostly-broken, wrapper and just use
the underlying getEnumName. This has been verified to have no effect on
the generated files for any in-tree target, including experimental ones.
Reviewers: arsenm
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/113731
Commit: e8b7f53fa4dc8a9f74a3d67dfb89eb68fcd78679
https://github.com/llvm/llvm-project/commit/e8b7f53fa4dc8a9f74a3d67dfb89eb68fcd78679
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
Log Message:
-----------
[TableGen] Remove a pointless check for iPTRAny
We've already called EnforceInteger on Types[0], and iPTRAny isn't
regarded as an integer type (note that TableGen special-cases iPTR here
to include that, though), so we cannot possibly still have an iPTRAny by
this point. Delete the check, and let getFixedSizeInBits catch it along
with all the other overloaded types if that ever becomes false. Also
document why we have this check whilst here.
Reviewers: arsenm
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/113732
Commit: 9467645547f99ba8fa8152d514f06e76e0be8585
https://github.com/llvm/llvm-project/commit/9467645547f99ba8fa8152d514f06e76e0be8585
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/ValueTypes.h
M llvm/include/llvm/CodeGen/ValueTypes.td
M llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M mlir/tools/mlir-tblgen/LLVMIRIntrinsicGen.cpp
Log Message:
-----------
[CodeGen] Rename MVT::iPTRAny to MVT::pAny
Whilst in upstream LLVM iPTRAny is only ever an integer, essentially an
alias for iPTR, this is not true in CHERI LLVM, where it gets used to
mean "iPTR or cPTR", i.e. either an integer address or a capability
(with cPTR and cN being the capability equivalents of iPTR and iN).
Moreover, iPTRAny is already not itself regarded as an integer (calling
isInteger() will give false), so the "i" prefix is misleading, and it
stands out as different from all the other xAny that have a single
letter prefix denoting their type.
Thus, rename it to pAny, reflecting that it is an overloaded pointer
type, which could end up being specialised to an integer type, but does
not have to be.
This has been verified to have no effect on the generated files for LLVM
itself or any in-tree target beyond the replacement of the identifier
iPTRAny with pAny in GenVT.inc.
Reviewers: arsenm
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/113733
Commit: 0d94c7b5ceb84b33b50c8e7b1fa66e9996a29373
https://github.com/llvm/llvm-project/commit/0d94c7b5ceb84b33b50c8e7b1fa66e9996a29373
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
Log Message:
-----------
[flang][cuda][NFC] Make pattern names homogenous (#114156)
Dialect name is uppercase. Make all the patterns prefix homogenous.
Commit: cb04d3378096b83e5e357490ff8b1c479f34c469
https://github.com/llvm/llvm-project/commit/cb04d3378096b83e5e357490ff8b1c479f34c469
Author: jeffreytan81 <jeffreytan at meta.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Log Message:
-----------
Improve namespace lookup using .debug_names parent chain (#110062)
## Summary
This PR is a continuation of
https://github.com/llvm/llvm-project/pull/108907 by using `.debug_names`
parent chain faster lookup for namespaces.
## Implementation
Similar to https://github.com/llvm/llvm-project/pull/108907. This PR
adds a new API: `GetNamespacesWithParents` in `DWARFIndex` base class.
The API performs the same function as `GetNamespaces()` with additional
filtering using parents `CompilerDeclContext`. A default implementation
is given in `DWARFIndex` class which parses debug info and performs the
matching. In the `DebugNameDWARFIndex` override, parents
`CompilerDeclContext` is cross checked with parent chain in
`.debug_names` for much faster filtering before fallback to base
implementation for final filtering.
## Performance Results
For the same benchmark used in
https://github.com/llvm/llvm-project/pull/108907, this PR improves: 48s
=> 28s
---------
Co-authored-by: jeffreytan81 <jeffreytan at fb.com>
Commit: 3de5dbb1110887d5127e815f3ca247a9d839ee85
https://github.com/llvm/llvm-project/commit/3de5dbb1110887d5127e815f3ca247a9d839ee85
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
Log Message:
-----------
[AMDGPU][Attributor] Check the validity of a dependent AA before using its value (#114165)
Even though the Attributor framework will invalidate all its dependent
AAs after the current iteration, a dependent AA can still use the worst
state of a depending AA if it doesn't check the state of the depending
AA in current iteration.
Commit: cc60c46e39b0fffadc83a905b37d98aff426ac17
https://github.com/llvm/llvm-project/commit/cc60c46e39b0fffadc83a905b37d98aff426ac17
Author: Lei Wang <wlei at fb.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/test/CodeGen/pgo-cold-function-coverage.c
Log Message:
-----------
specify clang --target to fix breakage on AIX (#114127)
`-fprofile-sample-use` is not supported on AIX, which caused a CI
failure.
Commit: 8420dbf2b98edcaf966281912e7a2a4f7a2d6572
https://github.com/llvm/llvm-project/commit/8420dbf2b98edcaf966281912e7a2a4f7a2d6572
Author: Mel Chen <mel.chen at sifive.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Refine the constructor of VPWidenIntrinsicRecipe. nfc (#113890)
Infers member MayReadFromMemory, MayWriteToMemory, and
MayHaveSideEffects based on intrinsic attributes.
---------
Co-authored-by: Florian Hahn <flo at fhahn.com>
Commit: f672cc1ee1a4315f83f08cdca7dd2ccf099ff09c
https://github.com/llvm/llvm-project/commit/f672cc1ee1a4315f83f08cdca7dd2ccf099ff09c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoSFB.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
Log Message:
-----------
[RISCV] Add OperandType for condition code arguments used by select and SFB pseudos. (#114163)
Commit: 922a0d3dfe2db7a2ef50e8cef4537fa94a7b95bb
https://github.com/llvm/llvm-project/commit/922a0d3dfe2db7a2ef50e8cef4537fa94a7b95bb
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
Log Message:
-----------
[NFC][AMDGPU][Attributor] Exit earlier if entry CC (#114177)
Avoid calling TTI or other stuff unnecessarily
Commit: 9a7519fdb39f21a807189e1ed06826b43db929e1
https://github.com/llvm/llvm-project/commit/9a7519fdb39f21a807189e1ed06826b43db929e1
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
Log Message:
-----------
Revert "[NFC][AMDGPU][Attributor] Exit earlier if entry CC (#114177)"
This reverts commit 922a0d3dfe2db7a2ef50e8cef4537fa94a7b95bb.
Commit: bb3915149a7c9b1660db9caebfc96343352e8454
https://github.com/llvm/llvm-project/commit/bb3915149a7c9b1660db9caebfc96343352e8454
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfWriter.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/test/Transforms/PGOProfile/memprof.ll
M llvm/tools/llvm-profdata/llvm-profdata.cpp
Log Message:
-----------
[MemProf] Support for random hotness when writing profile (#113998)
Add support for generating random hotness in the memprof profile writer,
to be used for testing. The random seed is printed to stderr, and an
additional option enables providing a specific seed in order to
reproduce a particular random profile.
Commit: 6d9fc1b84619ca22f3e70d581c87940bcfbf3a93
https://github.com/llvm/llvm-project/commit/6d9fc1b84619ca22f3e70d581c87940bcfbf3a93
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
A llvm/test/CodeGen/AMDGPU/promote-alloca-invalid-vector-gep.ll
Log Message:
-----------
AMDGPU: Fix producing invalid IR on vector typed getelementptr (#114113)
This did not consider the IR change to allow a scalar base with a vector
offset part. Reject any users that are not explicitly handled.
In this situation we could handle the vector GEP, but that is a larger
change. This just avoids the IR verifier error by rejecting it.
Commit: 62ff85f0799560b42754ef77b5f64ca2c7feeff7
https://github.com/llvm/llvm-project/commit/62ff85f0799560b42754ef77b5f64ca2c7feeff7
Author: Santhosh Kumar Ellendula <quic_sellendu at quicinc.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M lldb/tools/lldb-dap/ProgressEvent.cpp
Log Message:
-----------
[lldb-dap] Fix for missing 'raw_string_ostream::flush' removal in ProgressEvent.cpp; addressing #108745 (#114087)
I hope it was missed unintentionally, pushing the same for the review.
Ref: https://github.com/llvm/llvm-project/pull/108745
---------
Co-authored-by: Santhosh Kumar Ellendula <sellendu at hu-sellendu-hyd.qualcomm.com>
Co-authored-by: Santhosh Kumar Ellendula <sellendu at hu-sellendu-lv.qualcomm.com>
Commit: e7262c15d3a2aef7cf4065e654181ab86eed24cc
https://github.com/llvm/llvm-project/commit/e7262c15d3a2aef7cf4065e654181ab86eed24cc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Add OperandType for sew and vecpolicy operands. (#114168)
Commit: f1467b3f73e2849fd8349ff215cf01987fa51a9d
https://github.com/llvm/llvm-project/commit/f1467b3f73e2849fd8349ff215cf01987fa51a9d
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
Log Message:
-----------
[SDAG][NFC] Convert `SDNodeFlags` into an enumeration (#114167)
This patch converts `SDNodeFlags` into an enumeration as we did for
`FastMathFlags`. It simplifies the implementation and improves
compile-time. This patch is NFC since it doesn't break SDNodeFlags API.
Commit: df0d249b6511289f1e8c1389f4fd33d7b4c083fa
https://github.com/llvm/llvm-project/commit/df0d249b6511289f1e8c1389f4fd33d7b4c083fa
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/test/Dialect/Linalg/canonicalize.mlir
Log Message:
-----------
[mlir] [linalg] fix side effect of linalg op (#114045)
Linalg op need to take into account memory side effects happening inside
the region when determining their own side effects.
This patch fixed issue
https://github.com/llvm/llvm-project/issues/112881
Commit: b47e2316bf083cd2e0e5ac2ef1e9c913f839a51b
https://github.com/llvm/llvm-project/commit/b47e2316bf083cd2e0e5ac2ef1e9c913f839a51b
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
Log Message:
-----------
[alpha.webkit.UncountedLocalVarsChecker] Warn the use of a raw pointer/reference when the guardian variable gets mutated. (#113859)
This checker has a notion of a guardian variable which is a variable and
keeps the object pointed to by a raw pointer / reference in an inner
scope alive long enough to "guard" it from use-after-free. But such a
guardian variable fails to flawed to keep the object alive if it ever
gets mutated within the scope of a raw pointer / reference.
This PR fixes this bug by introducing a new AST visitor class,
GuardianVisitor, which traverses the compound statements of a guarded
variable (raw pointer / reference) and looks for any operator=, move
constructor, or calls to "swap", "leakRef", or "releaseNonNull"
functions.
Commit: 44d0e9522a80e1301e96c4751b7572ae0c9cb4dd
https://github.com/llvm/llvm-project/commit/44d0e9522a80e1301e96c4751b7572ae0c9cb4dd
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/Passes.h
A llvm/include/llvm/CodeGen/TailDuplication.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/TailDuplication.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/test/CodeGen/AArch64/jump-table-duplicate.mir
M llvm/test/CodeGen/AMDGPU/early-tailduplicator-nophis.mir
M llvm/test/CodeGen/AMDGPU/early-tailduplicator-terminator.mir
M llvm/test/CodeGen/AMDGPU/stop-tail-duplicate-cfg-intrinsic.mir
Log Message:
-----------
[CodeGen][NewPM] Port TailDuplicate pass to NPM (#113293)
Commit: cad09404cc804dd35d2f3b742d1d6efb6d5a9449
https://github.com/llvm/llvm-project/commit/cad09404cc804dd35d2f3b742d1d6efb6d5a9449
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseStmt.cpp
A clang/test/SemaCXX/gh113468.cpp
Log Message:
-----------
[sema] enhance error handling for compound stmt body in `StmtExpr` (#113760)
Mark the whole StmtExpr invalid when the last statement in compound
statement is invalid.
Because the last statement need to do copy initialization, it causes
subsequent errors to simply ignore last invalid statement.
Fixed: #113468
Commit: 5df84a75351d0e9c3e20d50ac1047c937e3b8e88
https://github.com/llvm/llvm-project/commit/5df84a75351d0e9c3e20d50ac1047c937e3b8e88
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[NFC] clean space in clang release note (#114188)
Commit: dc56a86b96d77a93f761995d50f7b2f112856311
https://github.com/llvm/llvm-project/commit/dc56a86b96d77a93f761995d50f7b2f112856311
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
M clang/test/SemaCXX/constexpr-string.cpp
M clang/test/SemaCXX/warn-memaccess.cpp
Log Message:
-----------
[clang] Fix 71315698c9 in presence of incomplete types (#114095)
Incomplete types are not considered trivially copyable by clang but we
don't want to warn about invalid argument for memcpy / memset in that
case because we cannot prove they are not Trivially Copyable.
Commit: 362273d1435c0cc104418f88b0140d0388e9ee22
https://github.com/llvm/llvm-project/commit/362273d1435c0cc104418f88b0140d0388e9ee22
Author: Nagy-Egri Máté Ferenc <beiktatas+github at outlook.hu>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/tools/clang-format/git-clang-format.bat
Log Message:
-----------
[clang-format] Fix path expansion inside git-clang-format.bat (#114078)
The trampoline script used on Windows (due to the absence of shebang
support) doesn't properly expand the path to the Python script, as it
leaves out the drive letter.
Functionally equivalent reproducer in action
```
PS C:\Users\mate> gc (gcm git-clang-formatish.bat).Source
@ECHO OFF
echo "%~pn0" %*
PS C:\Users\mate> git-clang-formatish
"\Users\mate\git-clang-formatish"
```
Adding `d` to the variable modifiers [as per the
docs](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/for)
the drive letter is added. Even in the magical cases when it works.
(I couldn't reproduce, but I suspect it's only tested from some
bash/cygwin variant, where the path becomes `/c/Program Files/...`, but
the drive letter is needed. Without it, I also observed cases when used
via `git clang-format` (without the inital dash) it tries to infer the
drive letter based on the current working directory. In that case it
fails to find `D:\Program Files\LLVM\bin\clang-format.exe`, which
naturally fails, because `Program Files` is on `C:`)
Commit: 9c8dab018dee3143c28a7d7f5fdb32385da36101
https://github.com/llvm/llvm-project/commit/9c8dab018dee3143c28a7d7f5fdb32385da36101
Author: Boaz Brickner <brickner at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[clang] Update the lifetimebound example with up-to-date expected warning and change the sample code to be a fully working example (#113437)
Tested the code: https://godbolt.org/z/n5xcq65YM
Tested the generated documentation:
![BruDQ2UkTXHA9PE](https://github.com/user-attachments/assets/cf527d1a-ef3b-41f2-84c2-4ca38af16d2d)
Commit: f3584222682bd64daa89cbfe41c071c6bfc2347a
https://github.com/llvm/llvm-project/commit/f3584222682bd64daa89cbfe41c071c6bfc2347a
Author: David Green <david.green at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
A llvm/test/Transforms/Attributor/nofpclass-phiselect.ll
Log Message:
-----------
[Attributor] Add nofpclass test for phi+select recurrences. NFC
Commit: e61a7dc256bd530a0b9551e2732e5b5b77e2cd1e
https://github.com/llvm/llvm-project/commit/e61a7dc256bd530a0b9551e2732e5b5b77e2cd1e
Author: Mahesh-Attarde <145317060+mahesh-attarde at users.noreply.github.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX10.td
A llvm/test/CodeGen/X86/avx10_2-cmp.ll
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86][AVX512] Use comx for compare (#113567)
We added AVX10.2 COMEF ISA in LLVM, This does not optimize correctly in
scenario mentioned below.
Summary
Input
```
define i1 @oeq(float %x, float %y) {
%1 = fcmp oeq float %x, %y
ret i1 %1
}define i1 @une(float %x, float %y) {
%1 = fcmp une float %x, %y
ret i1 %1
}define i1 @ogt(float %x, float %y) {
%1 = fcmp ogt float %x, %y
ret i1 %1
}
// Prior AVX10.2, default code generation
oeq: # @oeq
cmpeqss xmm0, xmm1
movd eax, xmm0
and eax, 1
ret
une: # @une
cmpneqss xmm0, xmm1
movd eax, xmm0
and eax, 1
ret
ogt: # @ogt
ucomiss xmm0, xmm1
seta al
ret
```
This patch will remove `cmpeqss` and `cmpneqss`. For complete transform
check unit test.
Continuing on what PR https://github.com/llvm/llvm-project/pull/113098
added
Earlier Legalization and combine expanded `setcc oeq:ch` node into `and`
and `setcc eq` , `setcc o`. From suggestions in community
new internal transform
```
Optimized type-legalized selection DAG: %bb.0 'hoeq:'
SelectionDAG has 11 nodes:
t0: ch,glue = EntryToken
t2: f16,ch = CopyFromReg t0, Register:f16 %0
t4: f16,ch = CopyFromReg t0, Register:f16 %1
t14: i8 = setcc t2, t4, setoeq:ch
t10: ch,glue = CopyToReg t0, Register:i8 $al, t14
t11: ch = X86ISD::RET_GLUE t10, TargetConstant:i32<0>, Register:i8 $al, t10:1
Optimized legalized selection DAG: %bb.0 'hoeq:'
SelectionDAG has 12 nodes:
t0: ch,glue = EntryToken
t2: f16,ch = CopyFromReg t0, Register:f16 %0
t4: f16,ch = CopyFromReg t0, Register:f16 %1
t15: i32 = X86ISD::UCOMX t2, t4
t17: i8 = X86ISD::SETCC TargetConstant:i8<4>, t15
t10: ch,glue = CopyToReg t0, Register:i8 $al, t17
t11: ch = X86ISD::RET_GLUE t10, TargetConstant:i32<0>, Register:i8 $al, t10:1
```
Earlier transform is mentioned here
https://github.com/llvm/llvm-project/pull/113098#discussion_r1810307663
---------
Co-authored-by: mattarde <mattarde at intel.com>
Commit: 259eaa6878ead1e2e7ef572a874dc3d885c1899b
https://github.com/llvm/llvm-project/commit/259eaa6878ead1e2e7ef572a874dc3d885c1899b
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
A clang/test/Modules/static-initializer.cppm
Log Message:
-----------
[C++20] [Modules] Fix the duplicated static initializer problem (#114193)
Reproducer:
```
//--- a.cppm
export module a;
int func();
static int a = func();
//--- a.cpp
import a;
```
The `func()` should only execute once. However, before this patch we
will somehow import `static int a` from a.cppm incorrectly and
initialize that again.
This is super bad and can introduce serious runtime behaviors.
And also surprisingly, it looks like the root cause of the problem is
simply some oversight choosing APIs.
Commit: e8b95a02bff8498c888ed5e85d0197ec82b95cd6
https://github.com/llvm/llvm-project/commit/e8b95a02bff8498c888ed5e85d0197ec82b95cd6
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/test/MC/AMDGPU/gfx12_asm_vimage.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vimage.txt
Log Message:
-----------
[AMDGPU][MC][NFC] Add more VIMAGE encoding tests (#114054)
These are primarily meant to test disassembler and that no more than
one variant per instruction is in DisassemblerTables as that can cause
confusion when decoding v0 (vgpr0) whose value when encoded is 0.
Commit: 652988b65805b23f228db34adfff068cffd517cc
https://github.com/llvm/llvm-project/commit/652988b65805b23f228db34adfff068cffd517cc
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
A flang/test/Transforms/debug-tuple-type.fir
Log Message:
-----------
[flang][debug] Support TupleType. (#113917)
Handling is similar to RecordType with following differences:
1. No check for cyclic references
2. No extra processing for lower bounds of array members.
3. No line information as TupleType is a lowering artefact and does not
really represent an entity in the code.
Commit: 03948882d3bac33cf71a47df1c7ee0f87aad9fc2
https://github.com/llvm/llvm-project/commit/03948882d3bac33cf71a47df1c7ee0f87aad9fc2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Support/TrieRawHashMap.cpp
Log Message:
-----------
Fix MSVC "32-bit shift implicitly converted to 64 bits" warning. NFC
NumBits should be less than 20 so using an unsigned instead of size_t should be OK
Commit: f7b5f0c805c899b59bcc37279a0a05dca35d3a25
https://github.com/llvm/llvm-project/commit/f7b5f0c805c899b59bcc37279a0a05dca35d3a25
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/andnot-patterns.ll
Log Message:
-----------
[DAG] Fold (and X, (rot (not Y), Z)) -> (and X, (not (rot Y, Z)))
On ANDNOT capable targets we can always do this profitably, without ANDNOT we only attempt this if we don't introduce an additional NOT
Followup to #112547
Commit: 0fb76bae6b2abfe5e0a34557f365a586be989364
https://github.com/llvm/llvm-project/commit/0fb76bae6b2abfe5e0a34557f365a586be989364
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M libcxx/include/__algorithm/comp.h
M libcxx/include/__algorithm/ranges_minmax.h
M libcxx/include/__algorithm/sort.h
M libcxx/include/__functional/operations.h
M libcxx/include/__functional/ranges_operations.h
M libcxx/include/__type_traits/desugars_to.h
M libcxx/include/__type_traits/is_trivially_copyable.h
M libcxx/src/algorithm.cpp
Log Message:
-----------
Reapply "[libc++] Simplify the implementation of std::sort a bit (#104902)" (#114023)
This reverts commit ef44e4659878f2. The patch was originally reverted
because it was
deemed to introduce a performance regression for small inputs, however
it also fixed
a previous performance regression for larger inputs. So overall, this
patch is desirable.
Commit: f447cf15b2fcf40e519633d4cd211bb4211bfc08
https://github.com/llvm/llvm-project/commit/f447cf15b2fcf40e519633d4cd211bb4211bfc08
Author: Alex Rønne Petersen <alex at alexrp.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/CSKY/CSKY.td
Log Message:
-----------
[CSKY] Fix some typos in CPU feature descriptions (NFC) (#105774)
In Zig, we have a tool that updates our CPU model/feature data from
LLVM's. Noticed these typos when running it for LLVM 19.
Note: I don't have commit access.
Commit: 092a819e94da3fc0cac6982e99861546237fcb04
https://github.com/llvm/llvm-project/commit/092a819e94da3fc0cac6982e99861546237fcb04
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M flang/include/flang/Semantics/openmp-directive-sets.h
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Lower/OpenMP/master_taskloop.f90
A flang/test/Lower/OpenMP/master_taskloop_simd.f90
A flang/test/Lower/OpenMP/parallel-master-taskloop-simd.f90
A flang/test/Lower/OpenMP/parallel-master-taskloop.f90
A flang/test/Lower/OpenMP/parallel-master.f90
A flang/test/Parser/OpenMP/master-unparse.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
A flang/test/Semantics/OpenMP/deprecation.f90
M flang/test/Semantics/OpenMP/flush02.f90
M flang/test/Semantics/OpenMP/nested-barrier.f90
M flang/test/Semantics/OpenMP/nested-master.f90
M flang/test/Semantics/OpenMP/nested-teams.f90
M flang/test/Semantics/OpenMP/ordered-simd.f90
Log Message:
-----------
[Flang][OpenMP] Add frontend support for directives involving master (#113893)
Issue deprecation warning for these directives.
Lowering currently supports parallel master, for all other combined or
composite directives involving master, issue TODO errors.
Note: The first commit changes the formatting and generalizes the
deprecation message emission for reuse in the second commit. I can pull
it out into a separate commit if required.
Commit: 2de1fc82861edbc484b7a1b82a37aa29d4b982de
https://github.com/llvm/llvm-project/commit/2de1fc82861edbc484b7a1b82a37aa29d4b982de
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
A llvm/test/Transforms/PhaseOrdering/X86/pr50392.ll
Log Message:
-----------
[PhaseOrdering][X86] Add additional test coverage for #49736
I've kept the old PR50392 tag since this is such an old issue....
Commit: fcfd64304fce91747b8b03ce84919c4415a941d6
https://github.com/llvm/llvm-project/commit/fcfd64304fce91747b8b03ce84919c4415a941d6
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M lld/ELF/Options.td
Log Message:
-----------
[lld][ELF] Fix typo in help text for plugin-opt=opt-remarks-with-hotness (NFC) (#114016)
Commit: 5dac2db5a8dab1feccc176cfb6cc4080fa5656e4
https://github.com/llvm/llvm-project/commit/5dac2db5a8dab1feccc176cfb6cc4080fa5656e4
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/test/CodeGen/aarch64-cpu-supports-target.c
M clang/test/CodeGen/aarch64-fmv-dependencies.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/Sema/attr-target-clones-aarch64.c
M clang/test/SemaCXX/attr-target-version.cpp
M compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
M llvm/include/llvm/TargetParser/AArch64CPUFeatures.inc
M llvm/lib/Target/AArch64/AArch64FMV.td
Log Message:
-----------
[FMV][AArch64] Remove features which can be expressed as a combination of others. (#113580)
Removes sve-bf16, sve-ebf16, and sve-i8mm since they are obsolete. One
could write target_version("sve+bf16") instead of sve-bf16 for instance.
Approved in ACLE as https://github.com/ARM-software/acle/pull/353
Commit: bc999ee57af61a75511f73b9544051984490344d
https://github.com/llvm/llvm-project/commit/bc999ee57af61a75511f73b9544051984490344d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
A llvm/test/Transforms/PhaseOrdering/X86/pr94546.ll
Log Message:
-----------
[PhaseOrdering][X86] Add test coverage for #94546
Commit: cea9dd833cf800aeb005286b2667483cc5a8d688
https://github.com/llvm/llvm-project/commit/cea9dd833cf800aeb005286b2667483cc5a8d688
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachineSSAUpdater.cpp
Log Message:
-----------
[CodeGen] Change MachineInstr::isConstantValuePHI to return Register. NFC. (#112901)
Commit: 55e4e3ff653356a9079906e209099684723caa4c
https://github.com/llvm/llvm-project/commit/55e4e3ff653356a9079906e209099684723caa4c
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[Flang][OpenMP] Access full list of entry block syms and vars (NFC) (#113681)
This patch adds methods to `EntryBlockArgs` to access the full list of
entry block argument-related symbols and variables, in their standard
order. This helps centralizing this logic in as few places as possible
to avoid future inconsistencies.
Commit: 85f3d5ca4994ff70a72f6ad81948bf4721e15ef1
https://github.com/llvm/llvm-project/commit/85f3d5ca4994ff70a72f6ad81948bf4721e15ef1
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/MC/AArch64/SVE/compact-diagnostics.s
M llvm/test/MC/AArch64/SVE/compact.s
A llvm/test/MC/AArch64/SVE2p2/compact-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/compact.s
A llvm/test/MC/AArch64/SVE2p2/expand-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/expand.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for SVE COMPACT (b/h) and EXPAND (#114053)
This patch adds assembly/disassembly support for the following SVE2.2
instructions
- COMPACT (byte, halfword)
- EXPAND
- Allow selection of `COMPACT` (word/halfword) in streaming mode if the
target has FEAT_SME2p2 (see [COMPACT ](
https://developer.arm.com/documentation/ddi0602/2024-09/SVE-Instructions/COMPACT--Copy-active-vector-elements-to-lower-numbered-elements-))
- Rename predicates guarding instructions that are illegal in streaming
SVE mode without FEAT_SME2p2
- In accordance with
https://developer.arm.com/documentation/ddi0602/2024-09/SVE-Instructions
Co-authored-by: Marian Lukac marian.lukac at arm.com
Commit: 15f63ec19cde170f4cdddc5513a0f0be9515569a
https://github.com/llvm/llvm-project/commit/15f63ec19cde170f4cdddc5513a0f0be9515569a
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/MC/AArch64/SVE2p2/firstp-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/firstp.s
A llvm/test/MC/AArch64/SVE2p2/lastp-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/lastp.s
Log Message:
-----------
[AARCH64] Add assembly/disassmbly for FIRST,LASTP instr. (#114049)
This patch adds assembly/disassembly and tests for new FIRSTP
and LASTP instructions introduced in
https://developer.arm.com/documentation/ddi0602/2024-09
---------
Co-authored-by: SpencerAbson <Spencer.Abson at arm.com>
Commit: ea050ab1a99547294e195064bd90ca9822d292cf
https://github.com/llvm/llvm-project/commit/ea050ab1a99547294e195064bd90ca9822d292cf
Author: Matthias Springer <me at m-sp.org>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Dialect/Bufferization/Transforms/finalizing-bufferize.mlir
M mlir/test/Transforms/test-legalize-erased-op-with-uses.mlir
M mlir/test/Transforms/test-legalize-type-conversion.mlir
Log Message:
-----------
[mlir][Transforms][NFC] Dialect conversion: Reformat materialization error message (#114176)
This commit changes the format of the materialization error message.
Previously: `failed to legalize unresolved materialization from ('f64')
to 'f32' that remained live after conversion`
Now: `failed to legalize unresolved materialization from ('f64') to
('f32') that remained live after conversion`
This commit is in preparation of merging the 1:1 and 1:N dialect
conversions. At that point, target materializations may create more than
one SSA value. I am sending this change as a separate PR to keep the
main PR smaller.
Commit: 217700baf760ea3959d79c2090e7930144b698a1
https://github.com/llvm/llvm-project/commit/217700baf760ea3959d79c2090e7930144b698a1
Author: Matthias Springer <me at m-sp.org>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/lib/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.cpp
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize-invalid.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir
Log Message:
-----------
[mlir][bufferization] Support bufferization of external functions (#113999)
This commit adds support for bufferizing external functions that have no
body. Such functions were previously rejected by One-Shot Bufferize if
they returned a tensor value.
This commit is in preparation of removing the deprecated
`func-bufferize` pass. That pass can bufferize external functions.
Also update a few comments.
Commit: c4e135ec04a2bef5d5a5a69dfbb069a15dbf2f5e
https://github.com/llvm/llvm-project/commit/c4e135ec04a2bef5d5a5a69dfbb069a15dbf2f5e
Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
M llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
M llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp
Log Message:
-----------
[ORC] Fix transfer to unknown ResourceTrackers (#114063)
When transferring resources, the destination tracker key may not be in
the internal map, invalidating iterators and value references. The added
test creates such situation and would fail before with "Finalized
allocation was not deallocated."
For good measure, fix the same pattern in RTDyldObjectLinkingLayer
which is harder to test because it "only" results in memory managers
being deleted in the wrong order.
Commit: 6f973fd4ab18ff58689e83383190ed4767c2a7dd
https://github.com/llvm/llvm-project/commit/6f973fd4ab18ff58689e83383190ed4767c2a7dd
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm_err.s
M llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm_err.s.expected
M llvm/utils/UpdateTestChecks/common.py
M llvm/utils/update_mc_test_checks.py
Log Message:
-----------
[AMDGPU][test] fix the error case in update_mc_test_check script (#112731)
update_mc_test_check script handle the "error case testline" wrong in
three cases:
1. when user select "--llvm-mc-binary" with a path, the script does not
add "not" on top of the "--llvm-mc-binary" and thus getting non-zero
exit code and failed.
2. When "not" is presented in runline while not all testlines are
expected to fail, the script need to check if the "not" is needed when
it execute llvm-mc line by line. Otherwise the script will fail on
testline which is passing.
3. When there are multiple runlines, the error checkline need to use
correct line offset for "[[LINE-X]]"
This patch solve these three issues
Commit: 84b7bcfcac02ca32c2211655627c352dd99ce296
https://github.com/llvm/llvm-project/commit/84b7bcfcac02ca32c2211655627c352dd99ce296
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CSEInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
M llvm/unittests/Target/AMDGPU/CMakeLists.txt
A llvm/unittests/Target/AMDGPU/CSETest.cpp
Log Message:
-----------
GlobalISel/MachineIRBuilder: Construct DstOp with VRegAttrs (#113581)
Allow construction of DstOp with VRegAttrs.
Also allow construction with register class or bank and LLT.
Intended to be used in lowering code for reg-bank-select where
new registers need to have both register bank and LLT.
Add support for new type of DstOp in CSEMIRBuilder.
Commit: 602f43686c45017e3140789f8d574d2c344b4d71
https://github.com/llvm/llvm-project/commit/602f43686c45017e3140789f8d574d2c344b4d71
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-concat.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-div.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-rem.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ptest.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc-stores.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc.ll
Log Message:
-----------
[AArch64] Add patterns for constructive splice. (#113912)
SVE2 adds the constructive splice instruction, which takes a tuple.
Even though the register allocator must ensure that the tuple uses
consecutive registers for the tuple, it's likely to be more efficient
than using the destructive splice instruction when the first operand
is reused.
Commit: 508263824f4ef0c70f37523810e5f7d56bcfa653
https://github.com/llvm/llvm-project/commit/508263824f4ef0c70f37523810e5f7d56bcfa653
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsBase.td
M clang/include/clang/Basic/BuiltinsX86.def
A clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/TargetBuiltins.h
M clang/lib/Basic/Targets/X86.cpp
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
Log Message:
-----------
[Clang] Start moving X86Builtins.def to X86Builtins.td (#106005)
This starts moving `X86Builtins.def` to be a tablegen file. It's quite
large, so I think it'd be good to move things in multiple steps to avoid
a bunch of merge conflicts due to the amount of time this takes to
complete.
Commit: c478aab684be007ac14e51565c0d4ae39293d208
https://github.com/llvm/llvm-project/commit/c478aab684be007ac14e51565c0d4ae39293d208
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/symbol.h
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Lower/OpenMP/Todo/depobj-construct.f90
A flang/test/Parser/OpenMP/depobj-construct.f90
A flang/test/Semantics/OpenMP/depobj-construct-v50.f90
A flang/test/Semantics/OpenMP/depobj-construct-v51.f90
A flang/test/Semantics/OpenMP/depobj-construct-v52.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[flang][OpenMP] Parser support for DEPOBJ plus DEPEND, DESTROY, UPDATE (#114074)
Parse the DEPOBJ construct and the associated clauses, perform basic
semantic checks.
Commit: 80c8ecd56586bbdb03ffdd93c94ba78306affd93
https://github.com/llvm/llvm-project/commit/80c8ecd56586bbdb03ffdd93c94ba78306affd93
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
A llvm/test/Transforms/VectorCombine/X86/permute-of-binops.ll
Log Message:
-----------
[VectorCombine] Add baseline "shuffle (binop (shuffle, shuffle)), undef" tests for #114101
Commit: 7f498a865fd946bb92e592b31b41509073306ab3
https://github.com/llvm/llvm-project/commit/7f498a865fd946bb92e592b31b41509073306ab3
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
R llvm/test/Analysis/CostModel/AArch64/arith-fp-frem.ll
R llvm/test/Analysis/CostModel/X86/gather-i16-with-i8-index.ll
R llvm/test/Analysis/CostModel/X86/gather-i32-with-i8-index.ll
R llvm/test/Analysis/CostModel/X86/gather-i64-with-i8-index.ll
R llvm/test/Analysis/CostModel/X86/gather-i8-with-i8-index.ll
R llvm/test/Analysis/CostModel/X86/handle-iptr-with-data-layout-to-not-assert.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-2.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-3.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-4.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-5.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-6.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-7.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-8.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-2.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-3.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-4.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-5.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-6.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-7.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-8.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-half.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-2.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-3.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-4.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-5.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-6.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-7.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-8.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-2-indices-0u.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-2.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-3-indices-01u.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-3-indices-0uu.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-3.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-4-indices-012u.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-4-indices-01uu.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-4-indices-0uuu.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-4.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-5.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-6.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-7.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-8.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-2.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-3.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-4.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-5.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-6.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-7.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-8.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-2.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-3.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-4.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-5.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-6.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-7.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-8.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f32-stride-2.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f32-stride-3.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f32-stride-4.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f32-stride-5.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f32-stride-6.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f32-stride-7.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f32-stride-8.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f64-stride-2.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f64-stride-3.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f64-stride-4.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f64-stride-5.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f64-stride-6.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f64-stride-7.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f64-stride-8.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i16-stride-2.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i16-stride-3.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i16-stride-4.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i16-stride-5.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i16-stride-6.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i16-stride-7.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i16-stride-8.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i32-stride-2.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i32-stride-3.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i32-stride-4.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i32-stride-5.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i32-stride-6.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i32-stride-7.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i32-stride-8.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i64-stride-2.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i64-stride-3.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i64-stride-4.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i64-stride-5.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i64-stride-6.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i64-stride-7.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i64-stride-8.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i8-stride-2.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i8-stride-3.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i8-stride-4.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i8-stride-5.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i8-stride-6.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i8-stride-7.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i8-stride-8.ll
R llvm/test/Analysis/CostModel/X86/masked-gather-i32-with-i8-index.ll
R llvm/test/Analysis/CostModel/X86/masked-gather-i64-with-i8-index.ll
R llvm/test/Analysis/CostModel/X86/masked-interleaved-load-i16.ll
R llvm/test/Analysis/CostModel/X86/masked-interleaved-store-i16.ll
R llvm/test/Analysis/CostModel/X86/masked-load-i16.ll
R llvm/test/Analysis/CostModel/X86/masked-load-i32.ll
R llvm/test/Analysis/CostModel/X86/masked-load-i64.ll
R llvm/test/Analysis/CostModel/X86/masked-load-i8.ll
R llvm/test/Analysis/CostModel/X86/masked-scatter-i32-with-i8-index.ll
R llvm/test/Analysis/CostModel/X86/masked-scatter-i64-with-i8-index.ll
R llvm/test/Analysis/CostModel/X86/masked-store-i16.ll
R llvm/test/Analysis/CostModel/X86/masked-store-i32.ll
R llvm/test/Analysis/CostModel/X86/masked-store-i64.ll
R llvm/test/Analysis/CostModel/X86/masked-store-i8.ll
R llvm/test/Analysis/CostModel/X86/scatter-i16-with-i8-index.ll
R llvm/test/Analysis/CostModel/X86/scatter-i32-with-i8-index.ll
R llvm/test/Analysis/CostModel/X86/scatter-i64-with-i8-index.ll
R llvm/test/Analysis/CostModel/X86/scatter-i8-with-i8-index.ll
R llvm/test/Analysis/CostModel/X86/strided-load-i16.ll
R llvm/test/Analysis/CostModel/X86/strided-load-i32.ll
R llvm/test/Analysis/CostModel/X86/strided-load-i64.ll
R llvm/test/Analysis/CostModel/X86/strided-load-i8.ll
A llvm/test/Transforms/LoopVectorize/AArch64/arith-fp-frem-costs.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i16-with-i8-index.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i32-with-i8-index.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i64-with-i8-index.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i8-with-i8-index.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/handle-iptr-with-data-layout-to-not-assert.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-2.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-3.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-4.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-5.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-6.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-7.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-2.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-3.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-4.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-5.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-6.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-7.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-half.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-2.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-3.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-4.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-5.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-6.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-7.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2-indices-0u.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-01u.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-0uu.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-012u.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-01uu.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-0uuu.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-5.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-6.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-7.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-2.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-3.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-4.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-5.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-6.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-7.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-2.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-3.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-4.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-5.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-6.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-7.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-2.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-3.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-4.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-5.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-6.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-7.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-2.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-3.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-4.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-5.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-6.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-7.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-2.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-3.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-4.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-5.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-6.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-7.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-2.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-3.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-4.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-5.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-6.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-7.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-2.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-3.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-4.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-5.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-6.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-7.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-2.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-3.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-4.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-5.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-6.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-7.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-gather-i32-with-i8-index.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-gather-i64-with-i8-index.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-load-i16.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-store-i16.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i16.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i32.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i64.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-scatter-i32-with-i8-index.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-scatter-i64-with-i8-index.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-store-i16.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-store-i32.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-store-i64.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-store-i8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/scatter-i16-with-i8-index.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/scatter-i32-with-i8-index.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/scatter-i64-with-i8-index.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/scatter-i8-with-i8-index.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i16.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i32.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i64.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i8.ll
Log Message:
-----------
[CostModel][LoopVectorize] Move some loop vectoriser tests (#113702)
Many tests that were in test/Analysis/CostModel were actually
loop vectoriser tests. I've moved them as follows:
Analysis/CostModel/X86 -> Transforms/LoopVectorize/X86/CostModel
Analysis/CostModel/AArch64/arith-fp-frem.ll ->
Transforms/LoopVectorize/AArch64/arith-fp-frem-costs.ll
Commit: 8d406d882d49204cf76ed6406610c702db6e3e8e
https://github.com/llvm/llvm-project/commit/8d406d882d49204cf76ed6406610c702db6e3e8e
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/test/Lower/Intrinsics/ieee_real.f90
Log Message:
-----------
[flang] IEEE_REAL (#113948)
IEEE_REAL converts an integer or real argument to a real of a given
kind.
Commit: cba70550ccf55c6ad3daa621bb8caf3c4ca6cbd7
https://github.com/llvm/llvm-project/commit/cba70550ccf55c6ad3daa621bb8caf3c4ca6cbd7
Author: Nathan Gauër <brioche at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVMergeRegionExitTargets.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/test/CodeGen/SPIRV/HlslBufferLoad.ll
M llvm/test/CodeGen/SPIRV/OpVariable_order.ll
M llvm/test/CodeGen/SPIRV/ShaderBufferImage.ll
M llvm/test/CodeGen/SPIRV/ShaderImage.ll
M llvm/test/CodeGen/SPIRV/basic_float_types.ll
M llvm/test/CodeGen/SPIRV/basic_int_types.ll
M llvm/test/CodeGen/SPIRV/basic_int_types_spirvdis.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_DispatchThreadID.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveGetLaneIndex.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/abs.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/acos.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/all.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/any.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/asin.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/atan.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/atan2.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/ceil.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/cos.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/cosh.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/countbits.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/degrees.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/exp.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/exp2.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/floor.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmad.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmax.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmin.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/frac.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/imad.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/lerp.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log10.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log2.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/normalize.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/pow.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/radians.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/rcp.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/reversebits.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/round.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/rsqrt.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sin.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sinh.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smax.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smin.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/splitdouble.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sqrt.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/step.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/tan.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/tanh.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/trunc.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/umax.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/umin.ll
M llvm/test/CodeGen/SPIRV/literals.ll
A llvm/test/CodeGen/SPIRV/structurizer/basic-if.ll
A llvm/test/CodeGen/SPIRV/structurizer/basic-imbalanced-if.ll
A llvm/test/CodeGen/SPIRV/structurizer/basic-loop.ll
A llvm/test/CodeGen/SPIRV/structurizer/basic-phi.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.cond-op.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.do.break.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.do.continue.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.do.nested.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.for.break.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.for.continue.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.for.nested.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.for.short-circuited-cond.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.if.const-cond.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.if.for.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.if.nested.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.if.plain.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.logical-and.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.logical-or.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.return.early.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.switch.ifstmt.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.switch.ifstmt.simple.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.switch.ifstmt.simple2.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.while.break.ll
M llvm/test/CodeGen/SPIRV/structurizer/condition-linear.ll
M llvm/test/CodeGen/SPIRV/structurizer/do-continue.ll
M llvm/test/CodeGen/SPIRV/structurizer/do-nested.ll
M llvm/test/CodeGen/SPIRV/structurizer/do-plain.ll
M llvm/test/CodeGen/SPIRV/structurizer/logical-or.ll
A llvm/test/CodeGen/SPIRV/structurizer/loop-continue-split.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-break.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-convergence-in-break.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-multiple-break.ll
A llvm/test/CodeGen/SPIRV/structurizer/phi-exit.ll
M llvm/test/CodeGen/SPIRV/structurizer/return-early.ll
Log Message:
-----------
[SPIR-V] Fix BB ordering & register lifetime (#111026)
The "topological" sorting was behaving incorrectly in some cases:
the exit of a loop could have a lower rank than a node in the loop.
This causes issues when structurizing some patterns, and also codegen
issues as we could generate BBs in the incorrect order in regard to the
SPIR-V spec.
Fixing this ordering alone broke other parts of the structurizer, which
by luck worked. Had to fix those.
Added more test cases, especially to test basic patterns.
I also needed to tweak/disable some tests for 2 reasons:
- SPIR-V now required reg2mem/mem2reg to run. Meaning dead stores
are optimized away. Some tests require tweaks to avoid having the
whole function removed.
- Mem2Reg will generate variable & load/stores. This generates
G_BITCAST in several cases. And there is currently something wrong
we do with G_BITCAST which causes MIR verifier to complain.
Until this is resolved, I disabled -verify-machineinstrs flag on
those tests.
---------
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: e6e04633c678901b012adcf53e33592b08ff5baf
https://github.com/llvm/llvm-project/commit/e6e04633c678901b012adcf53e33592b08ff5baf
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
R clang/docs/ClangFormattedStatus.rst
R clang/docs/tools/clang-formatted-files.txt
Log Message:
-----------
[NFC] Delete unused clang-formatted-file.txt/ClangFormattedStatus.rst files (#109220)
Looks like these files are generated by the
`generate_formatted_state.py` script as a "status report" of state of
clang-format compliance of files in the LLVM git repo. As such, they do
not belong to the repo itself, so deleting them.
Please see:
https://discourse.llvm.org/t/clang-docs-tools-clang-formatted-files-txt/82803
Commit: 68daf7d27ecc085fe7347552736197db6453f71c
https://github.com/llvm/llvm-project/commit/68daf7d27ecc085fe7347552736197db6453f71c
Author: c8ef <c8ef at outlook.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/lib/Tooling/Inclusions/Stdlib/StdSpecialSymbolMap.inc
Log Message:
-----------
[Tooling/Inclusion] Add binary search related `std::ranges` symbols to the mapping. (#113796)
Fixes #94459.
This patch adds binary search related `std::ranges` symbols to the mapping.
Commit: 6af275b72ecd35e3918744b0ef4a750912ce3de5
https://github.com/llvm/llvm-project/commit/6af275b72ecd35e3918744b0ef4a750912ce3de5
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M mlir/docs/Rationale/SideEffectsAndSpeculation.md
Log Message:
-----------
[mlir][doc] Fix nitpicks in documentation (#114157)
A couple of these are probably up to preference, but the
grammar/capitalization changes are probably more critical for
readability.
Commit: d693e7c7f7bd50abaa625603a7f9e452b92b2adc
https://github.com/llvm/llvm-project/commit/d693e7c7f7bd50abaa625603a7f9e452b92b2adc
Author: Dmitry Chernenkov <dmitryc at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[Bazel] fix clang for 508263824f4ef0c70f37523810e5f7d56bcfa653
Commit: 4ba623f24479879fb7100988f6ad5d9a62c19842
https://github.com/llvm/llvm-project/commit/4ba623f24479879fb7100988f6ad5d9a62c19842
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/include/clang/Index/USRGeneration.h
M clang/lib/Index/USRGeneration.cpp
Log Message:
-----------
[clang][Index][USR][NFC] Allow customizing langopts for USR generation (#109574)
This helps to produce USRs for custom LangOpts - that differ from the
one associated with the given Decl. This can unlock usecases in tooling
opportunities that we have downstream.
This is NFC because existing calls will still result in the right
overload, thus using the LangOpts associated with the ASTContext of the
Decls and Types.
Commit: 95c2d798148f12565dd4c9ddc753d196e47f230f
https://github.com/llvm/llvm-project/commit/95c2d798148f12565dd4c9ddc753d196e47f230f
Author: Simon Camphausen <simon.camphausen at iml.fraunhofer.de>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc.mlir
Log Message:
-----------
[mlir][EmitC] memref-to-emitc: insert conversion_casts (#114204)
Add materializations to the conversion pass, such that types of
non-converted operands are legalized.
Commit: dda20ea73d958584e6b162b34dd421582c52ddbb
https://github.com/llvm/llvm-project/commit/dda20ea73d958584e6b162b34dd421582c52ddbb
Author: David Truby <david.truby at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M flang/tools/CMakeLists.txt
A flang/tools/fir-lsp-server/CMakeLists.txt
A flang/tools/fir-lsp-server/fir-lsp-server.cpp
Log Message:
-----------
[flang] Add fir-lsp-server (#114059)
This patch adds a fir-lsp-server tool for editor support for editing fir
files, using the existing MLIR lsp server support.
See https://mlir.llvm.org/docs/Tools/MLIRLSP/ for more information.
Commit: 4015e18d6713cdceb0640e77b2d5aa3b256d5ddb
https://github.com/llvm/llvm-project/commit/4015e18d6713cdceb0640e77b2d5aa3b256d5ddb
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/MC/AArch64/SME2p2/bfmop4as-non-widening-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/bfmop4as-non-widening.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for BFMOP4{A,S} (non-widening) instructions (#113342)
The new instructions are described in
https://developer.arm.com/documentation/ddi0602/2024-09/SME-Instructions
Commit: f405c683ba929fcd0bcaa435ca2fbe4bb221d04b
https://github.com/llvm/llvm-project/commit/f405c683ba929fcd0bcaa435ca2fbe4bb221d04b
Author: Steven Perron <stevenperron at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/test/Transforms/Inline/convergence-inline.ll
Log Message:
-----------
[OPT] Search whole BB for convergence token. (#112728)
The spec for llvm.experimental.convergence.entry says that is must be in
the entry block for a function, and must preceed any other convergent
operation. It does not have to be the first instruction in the entry
block.
Inlining assumes that the call to llvm.experimental.convergence.entry
will be the first instruction after any phi instructions. This commit
modifies inlining to search the entire block for the call.
Commit: e989e31a47375a7d556269eead538dc65edcef2b
https://github.com/llvm/llvm-project/commit/e989e31a47375a7d556269eead538dc65edcef2b
Author: Luke Lau <luke at igalia.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/fround.ll
Log Message:
-----------
[RISCV] Mark f16/bf16 lrint and llrint cost as invalid (#113924)
We currently can't lower scalable vector lrint and llrint nodes for bf16
and f16, even with zvfh, and will crash.
Mark the cost as invalid for now to prevent the vectorizers from
emitting them.
Note that we can actually lower fixed-length vectors fine by scalarizing
them, but we were still undercosting these too so I've also included
them. I presume there's an opportunity to improve the codegen later on.
Commit: 7d1e283bd3b4440aea9ac375ca51e2ee6b0e86f5
https://github.com/llvm/llvm-project/commit/7d1e283bd3b4440aea9ac375ca51e2ee6b0e86f5
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
A clang/test/CXX/temp/temp.decls/temp.spec.partial/temp.spec.partial.member/p2.cpp
Log Message:
-----------
[Clang][Sema] Ignore previous partial specializations of member templates explicitly specialized for an implicitly instantiated class template specialization (#113464)
Consider the following:
```
template<typename T>
struct A {
template<typename U>
struct B {
static constexpr int x = 0; // #1
};
template<typename U>
struct B<U*> {
static constexpr int x = 1; // #2
};
};
template<>
template<typename U>
struct A<long>::B {
static constexpr int x = 2; // #3
};
static_assert(A<short>::B<int>::y == 0); // uses #1
static_assert(A<short>::B<int*>::y == 1); // uses #2
static_assert(A<long>::B<int>::y == 2); // uses #3
static_assert(A<long>::B<int*>::y == 2); // uses #3
```
According to [temp.spec.partial.member] p2:
> If the primary member template is explicitly specialized for a given
(implicit) specialization of the enclosing class template, the partial
specializations of the member template are ignored for this
specialization of the enclosing class template.
If a partial specialization of the member template is explicitly
specialized for a given (implicit) specialization of the enclosing class
template, the primary member template and its other partial
specializations are still considered for this specialization of the
enclosing class template.
The example above fails to compile because we currently don't implement
[temp.spec.partial.member] p2. This patch implements the wording, fixing #51051.
Commit: 475e736bb5eeea8ec70aca51d1a3d98179c69530
https://github.com/llvm/llvm-project/commit/475e736bb5eeea8ec70aca51d1a3d98179c69530
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[MemProf] Include <ctime> to avoid MSVC failure (#114246)
My change in bb3915149a7c9b1660db9caebfc96343352e8454 added a call to
std::time which worked generally as there must be some transitive
include of <ctime>. However, I saw one MSVC bot failure:
InstrProfWriter.cpp(202): error C2039: 'time': is not a member of 'std'
from https://lab.llvm.org/buildbot/#/builders/63/builds/2325.
Presumably explictly including <ctime> should fix this.
Commit: 72b115301d1c0d56f40f5030bb8d16f422ac211b
https://github.com/llvm/llvm-project/commit/72b115301d1c0d56f40f5030bb8d16f422ac211b
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-samesign.ll
A llvm/test/CodeGen/MIR/icmp-flags.mir
Log Message:
-----------
[GlobalISel] Import samesign flag (#113090)
Credits: https://github.com/llvm/llvm-project/pull/111419
Commit: 4c03d373f043700e3c8feeea8855125c718de31b
https://github.com/llvm/llvm-project/commit/4c03d373f043700e3c8feeea8855125c718de31b
Author: Nathan Gauër <brioche at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/group_memory_barrier_with_group_sync.ll
Log Message:
-----------
[SPIR-V] Fix broken test due to G_BITCAST (#114242)
G_BITCAST emission in the SPIR-V backend is not accepted by the
verifier. DIsabling verifier for impacted tests until
https://github.com/llvm/llvm-project/pull/114216 is merged.
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: 45f420e34476d2963e13b2f916be1e5a73ec95ae
https://github.com/llvm/llvm-project/commit/45f420e34476d2963e13b2f916be1e5a73ec95ae
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
[lldb] Use Py_InitializeFromConfig with Python >= 3.8 (NFC) (#114112)
This fixes the deprecation warning for Py_SetPythonHome, which was
deprecated in Python 3.11. With this patch, when building against Python
3.8 or later, we now use Py_InitializeFromConfig instead.
Fixes #113475
Commit: eac2c182c6f852fc187af9952250a43d6fb17b28
https://github.com/llvm/llvm-project/commit/eac2c182c6f852fc187af9952250a43d6fb17b28
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/TestInitializerList.py
Log Message:
-----------
Remove a flaky and unnecessary check (#114251)
The order in which the libraries appear is not always stable and even if
it were, this test is not the right place to check for this.
Commit: 4b028773b2c977eb8494a39e4b3fb2f114d1e2b5
https://github.com/llvm/llvm-project/commit/4b028773b2c977eb8494a39e4b3fb2f114d1e2b5
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
R llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-samesign.ll
R llvm/test/CodeGen/MIR/icmp-flags.mir
Log Message:
-----------
Revert "[GlobalISel] Import samesign flag" (#114256)
Reverts llvm/llvm-project#113090
Commit: 8ee5e19c879ee2d467aa0f1eb8f1d8ed34321496
https://github.com/llvm/llvm-project/commit/8ee5e19c879ee2d467aa0f1eb8f1d8ed34321496
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgcn-cs-chain.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-non-fixed.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-cc.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w32.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w64.ll
Log Message:
-----------
[AMDGPU] Fix @llvm.amdgcn.cs.chain with SGPR args not provably uniform (#114232)
The correct behaviour is to insert a readfirstlane. SelectionDAG was
already doing this in some cases, but not in the general case for chain
calls. GlobalISel was already doing this for return values but not for
arguments.
Commit: 1ddea4fc13eb12ddb4e71f7675a496de6d517ec4
https://github.com/llvm/llvm-project/commit/1ddea4fc13eb12ddb4e71f7675a496de6d517ec4
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
Log Message:
-----------
[AArch64] NFC: Refactoring of the SubRegIndexes in AArch64RegisterInfo.td
This is just moving some of the definitions around to all have them in
the same place. This is preparation for a follow-up patch that redefines
the SubRegIndexes to require less bits, and to define the top bits
of registers.
Commit: 6bf4476ffb6bab661d59dee361ab845b2f68d9b1
https://github.com/llvm/llvm-project/commit/6bf4476ffb6bab661d59dee361ab845b2f68d9b1
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w32.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w64.ll
Log Message:
-----------
[AMDGPU] Fix @llvm.amdgcn.cs.chain with callee not provably uniform (#114200)
The correct behavior is to insert a readfirstlane. This worked except
for an inappropriate assertion in SITargetLowering::LowerCall.
Commit: a575e6e5ca1eb7b2ae4b906f9bf3be2ba20a80a0
https://github.com/llvm/llvm-project/commit/a575e6e5ca1eb7b2ae4b906f9bf3be2ba20a80a0
Author: jimingham <jingham at apple.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/test/API/lang/cpp/namespace/TestNamespaceLookup.py
M lldb/test/API/python_api/type/TestTypeList.py
Log Message:
-----------
Fix a couple of tests that were incorrectly using configuration.dwarf_version (#114161)
The tests were using the variable directly to get the dwarf version used
for the test. That's only the overridden value, and won't be set if
we're using the compiler default. I also put a comment by the variable
to make sure people don't make the same mistake in the future.
Commit: 9cd30b1ef311edb0aa0527bead52e2fc490160ef
https://github.com/llvm/llvm-project/commit/9cd30b1ef311edb0aa0527bead52e2fc490160ef
Author: jimingham <jingham at apple.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M lldb/source/Commands/CommandObjectType.cpp
Log Message:
-----------
Fix the sort function for languages to have "strict weak ordering". (#114160)
If you build libstdc++ with "debug" strictness, the test
TestTypeLookup.py will assert. That's because we're calling llvm::sort
(which redirects to std::sort) with a function that doesn't obey strict
weak ordering.
The error was that when the two languages were equal, we're sometimes
returning `true` but strict weak ordering requires that always be false.
This patch just makes the function behave properly.
Commit: 7dbbd2b251412b7b0809aabe672f3f57f0805dbb
https://github.com/llvm/llvm-project/commit/7dbbd2b251412b7b0809aabe672f3f57f0805dbb
Author: jimingham <jingham at apple.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M lldb/include/lldb/Breakpoint/BreakpointLocation.h
M lldb/include/lldb/Breakpoint/BreakpointSite.h
M lldb/include/lldb/Core/Declaration.h
M lldb/include/lldb/Target/StopInfo.h
M lldb/include/lldb/Target/ThreadPlanStepInRange.h
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Breakpoint/BreakpointSite.cpp
M lldb/source/Core/Declaration.cpp
M lldb/source/Symbol/Block.cpp
M lldb/source/Symbol/CompileUnit.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadPlanStepInRange.cpp
M lldb/source/Target/ThreadPlanStepOverRange.cpp
M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
M lldb/test/API/functionalities/inline-stepping/TestInlineStepping.py
M lldb/test/API/functionalities/inline-stepping/calling.cpp
Log Message:
-----------
Fix call site breakpoint patch (#114158)
This fixes the two test suite failures that I missed in the PR:
https://github.com/llvm/llvm-project/pull/112939
One was a poorly written test case - it assumed that on connect to a
gdb-remote with a running process, lldb MUST have fetched all the frame
0 registers. In fact, there's no need for it to do so (as the CallSite
patch showed...) and if we don't need to we shouldn't. So I fixed the
test to only expect a `g` packet AFTER calling read_registers.
The other was a place where some code had used 0 when it meant
LLDB_INVALID_LINE_NUMBER, which I had fixed but missed one place where
it was still compared to 0.
Commit: 49277253f016268e4a10109f1db2e53c60d35881
https://github.com/llvm/llvm-project/commit/49277253f016268e4a10109f1db2e53c60d35881
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M lldb/include/lldb/Host/Editline.h
M lldb/source/Host/common/Editline.cpp
Log Message:
-----------
[lldb] Use LLVM's helper for Unicode conversion (NFC) (#112582)
The codecvt header has been deprecated in C++17. Use LLVM's unicode
helpers to convert between UTF-8 and UTF-16.
Commit: 0c9a02355abc3b037be53c072fc46a13bb5aa2c1
https://github.com/llvm/llvm-project/commit/0c9a02355abc3b037be53c072fc46a13bb5aa2c1
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Fir/box.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/convert-to-llvm.fir
M flang/test/Fir/embox-char.fir
M flang/test/Fir/polymorphic.fir
M flang/test/Fir/tbaa.fir
M flang/test/Integration/OpenMP/private-global.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-firstprivate.f90
M flang/test/Lower/OpenMP/parallel-reduction-mixed.f90
M flang/test/Lower/allocatable-polymorphic.f90
Log Message:
-----------
[flang][fir] always use memcpy for fir.box (#113949)
@jeanPerier explained the importance of converting box loads and stores
into `memcpy`s instead of aggregate loads and stores, and I'll do my
best to explain it here.
* [(godbolt link) Example comparing opt transformations on memcpys vs
aggregate load/stores](https://godbolt.org/z/be7xM83cG)
* LLVM can more effectively reason about memcpys compared to aggregate
load/stores.
* This came up when others were discussing array descriptors for
assumed-rank arrays passed to `bind(c)` subroutines, with the
implication that the array descriptors are known to have lower bounds of
1 and that they are not pointer/allocatable types.
* [(godbolt link) Clang also uses memcpys so we should probably follow
them, assuming the clang developers are generatign what they know Opt
will handle more effectively.](https://godbolt.org/z/YT4x7387W)
* This currently may not help much without the `nocapture` attribute
being propagated to function calls, but [it looks like someone may do
this soon (discourse
link)](https://discourse.llvm.org/t/applying-the-nocapture-attribute-to-reference-passed-arguments-in-fortran-subroutines/81401/23)
or I can do this in a follow-up patch.
Note on test `flang/test/Fir/embox-char.fir`: it looks like the original
test was auto-generated. I wasn't too sure which parts were especially
important to test, so I regenerated the test. If we want the updated
version to look more like the old version, I'll make those changes.
Commit: 0227b73b513154a2bde90ddf1e167b6257765d05
https://github.com/llvm/llvm-project/commit/0227b73b513154a2bde90ddf1e167b6257765d05
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
A llvm/test/MC/AMDGPU/gfx11_asm_vop2-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop2_err-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_promote.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop2-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop2_aliases-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_aliases.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp16.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_promote.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][test] update VOP2 asm/dasm file with true16/fake16 (#113101)
This is a non-functional change
update GFX11/GFX12 VOP2 asm/dasm test for true16/fake16:
1. duplicate files to be true16/fake16 by adding
"-mattr=+real-true16/-mattr=-real-true16" while true16 test file will be
updated to true16 format when the true16 instructions are supported
2. sort "*t16_err.s" and "*t16_promote.s" tests to alphabetic order.
This is for the upcoming true16 mc changes, and mainly trying to help
repo maintainer to resolve conflicts in the tests quickly. A script is
proposed to help for the sorting
https://github.com/llvm/llvm-project/pull/111769. Since these two files
are t16 only, it should not create conflicts in downstream branches
3. add -filetype=null to seperate stdout and stderr to avoid disordered
output from llvm-mc
Commit: 311c0772f9e67a694f3038ab63ea4ec981ce6a9a
https://github.com/llvm/llvm-project/commit/311c0772f9e67a694f3038ab63ea4ec981ce6a9a
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w32.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w64.ll
Log Message:
-----------
[AMDGPU] Fix test failures after #114232 and #114200
Commit: 463a4c16ea9c1a3c1210d0ac39e56a75b43b5a8d
https://github.com/llvm/llvm-project/commit/463a4c16ea9c1a3c1210d0ac39e56a75b43b5a8d
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
Log Message:
-----------
[clang] Remove some uses of llvm::StructType::setBody. NFC. (#113691)
It is simple to create the struct body up front, now that we have
transitioned to opaque pointers.
Commit: cc2d8e7616762710b284aa9af44a297b633b270a
https://github.com/llvm/llvm-project/commit/cc2d8e7616762710b284aa9af44a297b633b270a
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/MC/AArch64/SME2p2/fmop4as-fp32-non-widening-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/fmop4as-fp32-non-widening.s
Log Message:
-----------
[AArch64] Add assembly/disassembly of FMOP4{A,S} (non-widening) single-precision instructions (#113344)
The new instructions are described in
https://developer.arm.com/documentation/ddi0602/2024-09/SME-Instructions
Commit: d7e6cba030f34162ea45aef1dc18f708b5d2ec70
https://github.com/llvm/llvm-project/commit/d7e6cba030f34162ea45aef1dc18f708b5d2ec70
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Use bit or bits for some tablegen class arguments. NFC
These eventually end up in TSFlags so we should use the same types.
Commit: cf6ca98481a90728f1d3adc748aa0f271afc59aa
https://github.com/llvm/llvm-project/commit/cf6ca98481a90728f1d3adc748aa0f271afc59aa
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/lib/AST/ItaniumMangle.cpp
Log Message:
-----------
[Clang] Add and use mangleVendorType helper. NFC. (#108970)
Commit: 0c8e12fc64073a889956e790881cdf0d58018372
https://github.com/llvm/llvm-project/commit/0c8e12fc64073a889956e790881cdf0d58018372
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M libc/include/llvm-libc-types/fexcept_t.h
Log Message:
-----------
[libc] Fix fexcept_t type to match canonical ABI and API (#113666)
In glibc and musl, fexcept_t is unsigned short int on x86 and
unsigned int on other machines that llvm-libc supports. Match
that ABI (only different from before on x86) and API (different
everywhere as it was previously signed).
Commit: 5192cb772ad58af4b557539791ff8de60ab450a3
https://github.com/llvm/llvm-project/commit/5192cb772ad58af4b557539791ff8de60ab450a3
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
Log Message:
-----------
[AArch64] Add hidden option to enable subreg liveness tracking.
Subreg liveness tracking is disabled by default for now until all issues
are ironed out. This option allows the feature to be used in tests.
Commit: 70d35fbdb6c01e2ccd76ce5c5fe7610ab77d0ea1
https://github.com/llvm/llvm-project/commit/70d35fbdb6c01e2ccd76ce5c5fe7610ab77d0ea1
Author: Lang Hames <lhames at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
Log Message:
-----------
[ORC] Fix include guard names. NFC.
Commit: b94762d5a7fbf883707c4018dbf43d7525a06e12
https://github.com/llvm/llvm-project/commit/b94762d5a7fbf883707c4018dbf43d7525a06e12
Author: Lang Hames <lhames at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/ReOptimizeLayer.h
Log Message:
-----------
[ORC] Add comment on include guard #endif
Commit: feb2d867fac3b6339c169fff97ddf0716fce6f0a
https://github.com/llvm/llvm-project/commit/feb2d867fac3b6339c169fff97ddf0716fce6f0a
Author: Kenji Mouri / 毛利 研二 <Mouri_Naruto at Outlook.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.def
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
Log Message:
-----------
[TLI] Add support for hypot libcall. (#113724)
This patch adds basic support for `hypot`. Constant folding support will
be submitted in a subsequent patch.
Related issue: https://github.com/llvm/llvm-project/issues/113711
Note: It's my first time contributing to the LLVM with encouragement
from one of my friends, @fawdlstty. I learned a lot from
https://github.com/llvm/llvm-project/pull/99611, and thanks for that.
Kenji Mouri
Commit: 04549500562783b01db262de62fe324c7ee471c4
https://github.com/llvm/llvm-project/commit/04549500562783b01db262de62fe324c7ee471c4
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/MC/AArch64/SME2p2/fmop4as-fp64-non-widening-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/fmop4as-fp64-non-widening.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for FMOP4{A,S} (non-widening) double-precision instructions (#113345)
The new instructions are described in
https://developer.arm.com/documentation/ddi0602/2024-09/SME-Instructions
Commit: 705f3ebf1458c154fe63552ca984be6a16711661
https://github.com/llvm/llvm-project/commit/705f3ebf1458c154fe63552ca984be6a16711661
Author: Chris Apple <cja-private at pm.me>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/docs/RealtimeSanitizer.rst
Log Message:
-----------
[rtsan][NFC] Add documentation link to Function Effects (#113979)
Commit: 5545f76dc94e76ef6800823bdd1e107ad2264717
https://github.com/llvm/llvm-project/commit/5545f76dc94e76ef6800823bdd1e107ad2264717
Author: Sean Perry <perry at ca.ibm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
Log Message:
-----------
Pass the executable name as arg[0] when calling ExecuteAndWait() (#114067)
PR https://github.com/llvm/llvm-project/pull/111976 was enabling the
tests updated in the PR to run on all systems. We found a few didn't run
on z/OS. I tracked the problem down to:
1. the ExecuteToolChainProgram() function wasn't passing the executable
name as the first arg. That was causing exec on z/OS to fail.
2. the temp file needs to be a text file so codepage conversion happens.
Commit: ca1154d1d41c75db6594428a8cdf263cf7041896
https://github.com/llvm/llvm-project/commit/ca1154d1d41c75db6594428a8cdf263cf7041896
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/bfe-patterns.ll
M llvm/test/CodeGen/AMDGPU/extract-lowbits.ll
Log Message:
-----------
AMDGPU: Disable pattern matching "x<<32-y>>32-y" to "bfe x, 0, y" (#114279)
It is not correct to lower "x<<32-y>>32-y" to "bfe x, 0, y". When y
equals to 32, the left-hand side is still x (unchanged), however, the
right-hand side will be evaluated to 0. So it is not always correct to
do such transformation.
We may be able to keep the pattern for immediate y while y is within [0,
31]. However, the immediate operands of the sub (32 - y) are easily
folded, and "(x << imm) >> imm" will be lowered to "and x,
(2^(32-imm))-1" anyway. So no bfe matching is needed.
Commit: a518ed2d815c16010a6262edd0414a5f60a63a39
https://github.com/llvm/llvm-project/commit/a518ed2d815c16010a6262edd0414a5f60a63a39
Author: Dana Jansens <danakj at chromium.org>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-function-attr.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-in-container-span-construct.cpp
Log Message:
-----------
Respect the [[clang::unsafe_buffer_usage]] attribute for field and constructor initializers (#91991)
CXXCtorInitializers are not statements , but they point to an
initializer expression which is. When visiting a FunctionDecl, also
walk through any constructor initializers and run the warning
checks/matchers against their initializer expressions. This catches
warnings for initializing fields and calling other constructors, such
as:
struct C {
C(P* Ptr) : AnUnsafeCtor(Ptr) {}
}
Field initializers can be found by traversing CXXDefaultInitExprs. This
catches warnings in places such as:
struct C {
P* Ptr;
AnUnsafeCtor U{Ptr};
};
We add tests for explicit construction, for field initialization, base
class constructor calls, delegated constructor calls, and aggregate
initialization.
Note that aggregate initialization is not fully covered where a field
specifies an initializer and it's not overridden in the aggregate initialization,
such as in:
struct AggregateViaValueInit {
UnsafeMembers f1;
// FIXME: A construction of this class does initialize the field
// through this initializer, so it should warn. Ideally it should
// also point to where the site of the construction is in
// testAggregateViaValueInit().
UnsafeMembers f2{3};
};
void testAggregateViaValueInit() {
auto A = AggregateViaValueInit();
};
There are 3 tests for different types of aggregate initialization with
FIXMEs documenting this future work.
One attempt to fix this involved returning true from
MatchDescendantVisitor::shouldVisitImplicitCode(), however, it breaks expectations
for field in-class initializers by moving the SourceLocation, possibly
to inside the implicit ctor instead of on the line where the field
initialization happens.
struct C {
P* Ptr;
AnUnsafeCtor U{Ptr}; // expected-warning{{this is never seen then}}
};
Tests are also added for std::span(ptr, size) constructor being called
from a field initializer and a constructor initializer.
Issue #80482
Commit: 2bc5302706e710d125752c215392043fd5bf80fa
https://github.com/llvm/llvm-project/commit/2bc5302706e710d125752c215392043fd5bf80fa
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
Revert "[lldb] Use Py_InitializeFromConfig with Python >= 3.8 (NFC)" (#114290)
Reverts llvm/llvm-project#114112 because this triggers a compile error:
```
no known conversion from 'str_type' (aka 'wchar_t *') to 'const char *' for 3rd argument
221 | PyAPI_FUNC(PyStatus) PyConfig_SetBytesString(
| ^
222 | PyConfig *config,
223 | wchar_t **config_str,
224 | const char *str);
| ~~~~~~~~~~~~~~~
1 error generated.
```
Commit: 5bd1af5abcb7b9f92741dd7209e84b5607f7e88a
https://github.com/llvm/llvm-project/commit/5bd1af5abcb7b9f92741dd7209e84b5607f7e88a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Directly store VPlan in InnerLoopVectorizer (NFC).
The current VPlan is already passed to multiple functions and more in
the future. Store it once directly in InnerLoopVectorizer.
Commit: c3724ba8667c695f29d5af93f2b0d1b23c1b41e7
https://github.com/llvm/llvm-project/commit/c3724ba8667c695f29d5af93f2b0d1b23c1b41e7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/rvv/frm-insert.ll
Log Message:
-----------
[RISCV] Add OperandType for vector rounding mode operands. (#114179)
Use TSFlags to distinquish which type of rounding mode it is. We use the same tablegen base classes for vxrm and frm sometimes so its hard to have different types for different instructions.
Commit: 71b6f6b8a1cd9a63b9d382fe15f40bbb427939b9
https://github.com/llvm/llvm-project/commit/71b6f6b8a1cd9a63b9d382fe15f40bbb427939b9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Add missing hasPostISelHook = 1 to vector pseudos that might read FRM. (#114186)
We need an implicit FRM read operand anytime the rounding mode is
dynamic. The post isel hook is responsible for this when isel creates an
instruction with dynamic rounding mode.
Add a MachineVerifier check to verify the operand is present.
Commit: 90786adade22784a52856a0e8b545ec6710b47f6
https://github.com/llvm/llvm-project/commit/90786adade22784a52856a0e8b545ec6710b47f6
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/include/clang/AST/DeclTemplate.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
Log Message:
-----------
[Clang][Sema] Always use latest redeclaration of primary template (#114258)
This patch fixes a couple of regressions introduced in #111852.
Consider:
```
template<typename T>
struct A
{
template<bool U>
static constexpr bool f() requires U
{
return true;
}
};
template<>
template<bool U>
constexpr bool A<short>::f() requires U
{
return A<long>::f<U>();
}
template<>
template<bool U>
constexpr bool A<long>::f() requires U
{
return true;
}
static_assert(A<short>::f<true>()); // crash here
```
This crashes because when collecting template arguments from the _first_
declaration of `A<long>::f<true>` for constraint checking, we don't add
the template arguments from the enclosing class template specialization
because there exists another redeclaration that is a member
specialization.
This also fixes the following example, which happens for a similar
reason:
```
// input.cppm
export module input;
export template<int N>
constexpr int f();
template<int N>
struct A {
template<int J>
friend constexpr int f();
};
template struct A<0>;
template<int N>
constexpr int f() {
return N;
}
```
```
// input.cpp
import input;
static_assert(f<1>() == 1); // error: static assertion failed
```
Commit: 47d9db762484afadeca1acb60534b6b88784464a
https://github.com/llvm/llvm-project/commit/47d9db762484afadeca1acb60534b6b88784464a
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-fp32-widening-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-fp32-widening.s
Log Message:
-----------
[AArch64] Add asssembly/disassembly for FMOP4{A,S} (widening, 2-way, FP16 to FP32) instructions (#113346)
The new instructions are described in
https://developer.arm.com/documentation/ddi0602/2024-09/SME-Instructions
Commit: 408c84f35b8b0338b630a6ee313c14238e62b5e6
https://github.com/llvm/llvm-project/commit/408c84f35b8b0338b630a6ee313c14238e62b5e6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/test/CodeGen/RISCV/rvv/sf_vfnrclip_x_f_qf.ll
M llvm/test/CodeGen/RISCV/rvv/sf_vfnrclip_xu_f_qf.ll
Log Message:
-----------
[RISCV] Add hasPostISelHook to sf.vfnrclip pseudo instructions. (#114274)
Add Uses = [FRM] to the underlying MC instructions.
Tweak a couple test cases so the MachineVerifier would have caught this.
Commit: b3bb6f18bb5b2b8756b585b80d46d13ab3636a18
https://github.com/llvm/llvm-project/commit/b3bb6f18bb5b2b8756b585b80d46d13ab3636a18
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/icmp-flags.mir
A llvm/test/CodeGen/AArch64/GlobalISel/irtranslater-samesign.ll
Log Message:
-----------
[GlobalISel] Import samesign flag (#114267)
Credits: https://github.com/llvm/llvm-project/pull/111419
Fixes icmp-flags.mir
First attempt: https://github.com/llvm/llvm-project/pull/113090
Revert: https://github.com/llvm/llvm-project/pull/114256
Commit: dc1ff883caf687f00bd916ea997321ac411c73fd
https://github.com/llvm/llvm-project/commit/dc1ff883caf687f00bd916ea997321ac411c73fd
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M libc/include/llvm-libc-macros/linux/signal-macros.h
Log Message:
-----------
[libc][i386] define MINSIGSTKSZ & SIGSTKSZ (#114249)
Link: #93709
Commit: bc79ec0c5bc3fce31448419846c343017ae1c5ad
https://github.com/llvm/llvm-project/commit/bc79ec0c5bc3fce31448419846c343017ae1c5ad
Author: Fred Tingaud <95592999+frederic-tingaud-sonarsource at users.noreply.github.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
Log Message:
-----------
[clang][ASTMatcher] Handle variable templates in `isInstantiated` and `isInTemplateInstantiation` matchers (#110666)
Fix `isInstantiated` and `isInTemplateInstantiation` matchers, so they
return true for instantiations of variable templates, and any
declaration in statements contained in such instantiations.
Commit: d8295e2eeceef37bfd9e0f84918735eff6cfc659
https://github.com/llvm/llvm-project/commit/d8295e2eeceef37bfd9e0f84918735eff6cfc659
Author: Steven Perron <stevenperron at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
R llvm/test/CodeGen/SPIRV/HlslBufferLoad.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageDynIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageNonUniformIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/HlslBufferLoad.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageDynIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageNonUniformIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageDynIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageNonUniformIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/SamplerArrayDynIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/SamplerArrayNonUniformIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageDynIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageNonUniformIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferDynIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferNonUniformIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferDynIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferNonUniformIdx.ll
Log Message:
-----------
[SPIRV][HLSL] Handle arrays of resources (#111564)
This commit adds the ability to get a particular resource from an array
of resources using the handle_fromBinding intrinsic.
The main changes are:
1. Create an array when generating the type.
2. Add capabilities from
[SPV_EXT_descriptor_indexing](https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/EXT/SPV_EXT_descriptor_indexing.html).
We are still missing the ability to declare a runtime array. That will
be done in a follow up PR.
Commit: b03c8c4fdda6e58cb1afe3aa90bf9f2df08a7970
https://github.com/llvm/llvm-project/commit/b03c8c4fdda6e58cb1afe3aa90bf9f2df08a7970
Author: George Burgess IV <george.burgess.iv at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M libc/src/string/string_utils.h
M libc/test/src/string/strlcat_test.cpp
M libc/test/src/string/strlcpy_test.cpp
Log Message:
-----------
libc: strlcpy/strlcat shouldn't bzero the rest of `buf` (#114259)
When running Bionic's testsuite over llvm-libc, tests broke because
e.g.,
```
const char *str = "abc";
char buf[7]{"111111"};
strlcpy(buf, str, 7);
ASSERT_EQ(buf, {'1', '1', '1', '\0', '\0', '\0', '\0'});
```
On my machine (Debian w/ glibc and clang-16), a `printf` loop over `buf`
gets unrolled into a series of const `printf` at compile-time:
```
printf("%d\n", '1');
printf("%d\n", '1');
printf("%d\n", '1');
printf("%d\n", 0);
printf("%d\n", '1');
printf("%d\n", '1');
printf("%d\n", 0);
```
Seems best to match existing precedent here.
Commit: e4dfb51da4cd16cbb3ab18944a43ff5518d9f548
https://github.com/llvm/llvm-project/commit/e4dfb51da4cd16cbb3ab18944a43ff5518d9f548
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/docs/index.rst
Log Message:
-----------
Fix documentation build
This fixes the build after the removal of the clang-format status page.
Commit: d2109640a3e352b49a698edc232eeaac648fe590
https://github.com/llvm/llvm-project/commit/d2109640a3e352b49a698edc232eeaac648fe590
Author: Ilya Enkovich <ilya.enkovich at intel.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M mlir/lib/Dialect/AMX/Transforms/LegalizeForLLVMExport.cpp
M mlir/test/Dialect/AMX/legalize-for-llvm.mlir
Log Message:
-----------
[MLIR] [AMX] Fix strides used by AMX lowering for tile loads and stores. (#113476)
Commit: c616f24bcb00150fedc999d47933603e099dd659
https://github.com/llvm/llvm-project/commit/c616f24bcb00150fedc999d47933603e099dd659
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/test/CodeGen/SPIRV/pointers/phi-valid-operand-types-rev.ll
M llvm/test/CodeGen/SPIRV/pointers/phi-valid-operand-types.ll
Log Message:
-----------
[SPIR-V] Do instruction selection for G_BITCAST on an earlier stage (#114216)
This PR implements instruction selection for G_BITCAST on an earlier
stage to avoid MachineVerifier complains on subtle semantics difference
between G_BITCAST and OpBitcast.
We do instruction selections for OpBitcast after IR Translation instead
of calling MIB.buildBitcast() generating the general op code G_BITCAST,
because when MachineVerifier validates G_BITCAST we see a check of a
kind: 'if Source Type is equal to Destination Type then report error
"bitcast must change the type"'. This doesn't take into account the
notion of a typed pointer that is important for SPIR-V where a user may
and should use bitcast between pointers with different pointee types
(https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#OpBitcast).
It's important for correct lowering in SPIR-V, because interpretation of
the data type is not left to instructions that utilize the pointer, but
encoded by the pointer declaration, and the SPIRV target can and must
handle the declaration and use of pointers that specify the type of data
they point to.
It's not feasible to improve validation of G_BITCAST using just
information provided by low level types of source and destination.
Therefore we don't produce G_BITCAST as the general op code with
semantics different from OpBitcast, but rather lower to OpBitcast
immediately.
See discussion in https://github.com/llvm/llvm-project/pull/110270 for
even more context.
Commit: b1320d36339e38b073088fd45013a3c692adb301
https://github.com/llvm/llvm-project/commit/b1320d36339e38b073088fd45013a3c692adb301
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M libc/include/llvm-libc-types/jmp_buf.h
M libc/src/setjmp/x86_64/longjmp.cpp
M libc/src/setjmp/x86_64/setjmp.cpp
Log Message:
-----------
[libc][i386] setjmp/longjmp (#112437)
Link: #93709
Commit: e89f8212333ea8e9b534fb32382bb5cacae71b35
https://github.com/llvm/llvm-project/commit/e89f8212333ea8e9b534fb32382bb5cacae71b35
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
Log Message:
-----------
[NFC][NVPTX] Cleanup getPreferredVectorAction() (#114115)
`v2*16` is a legal type in NVPTX. Thus, this is dead code.
Commit: 0167a92e28d5c8eac00595300a1366bdce28678d
https://github.com/llvm/llvm-project/commit/0167a92e28d5c8eac00595300a1366bdce28678d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Use unsigned instead of int64_t for two small positive shift amounts. NFC
Commit: 1c2824e3a44f6c7cfd3e236597c4af671ce7c95e
https://github.com/llvm/llvm-project/commit/1c2824e3a44f6c7cfd3e236597c4af671ce7c95e
Author: Artem Pianykh <arr at fb.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
Log Message:
-----------
[NFC][Coro] Add helpers for coro cloning with a TimeTraceScope (#112948)
A helper (2 overloads) that consolidates corocloner creation and the
actual cloning. The helpers create a TimeTraceScope to make it easier to
see how long the cloning takes.
Extracted from #109032 (commit 1)
Commit: 84a78abdf5999e58e4120e20594ac2ad37472295
https://github.com/llvm/llvm-project/commit/84a78abdf5999e58e4120e20594ac2ad37472295
Author: Artem Pianykh <arr at fb.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/Cloning.h
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[NFC][Utils] Extract CloneFunctionAttributesInto from CloneFunctionInto (#112976)
This patch is a part of step-by-step refactoring of CloneFunctionInto.
The goal is to extract reusable pieces out of it that will be later used
to optimize function cloning e.g. in coroutine processing.
Extracted from #109032 (commit 2)
Commit: bfe486fe764667d514124faf2b39afb7e7322640
https://github.com/llvm/llvm-project/commit/bfe486fe764667d514124faf2b39afb7e7322640
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/memory.h
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/runtime/CUDA/memory.cpp
M flang/test/Fir/CUDA/cuda-data-transfer.fir
Log Message:
-----------
Passing descriptors by reference to CUDA runtime calls (#114288)
Passing a descriptor as a `const Descriptor &` or a `const Descriptor *`
generates a FIR signature where the box is passed by value.
This is an issue, as it requires a load of the box to be passed. But
since, ultimately, all boxes are passed by reference a temporary is
generated in LLVM and the reference to the temporary is passed.
The boxes addresses are registered with the CUDA runtime but the
temporaries are not, thus preventing the runtime to properly map a host
side address to its device side counterpart.
To address this issue, this PR changes the signatures to the transfer
functions to pass a descriptor as a `Descriptor *`, which will in turn
generate a FIR signature with that takes a box reference as an argument.
Commit: f7c36d2f88e05a1747fa7916ad2fefdd9d459a55
https://github.com/llvm/llvm-project/commit/f7c36d2f88e05a1747fa7916ad2fefdd9d459a55
Author: Wanyi <kusmour at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M lldb/test/API/python_api/process/io/TestProcessIO.py
Log Message:
-----------
[lldb] Fix API test for file redirection to existing files (#114119)
API test failed for remote platform in
[#112657](https://github.com/llvm/llvm-project/pull/112657)
Previously when putting files onto remote platform, I used `platform
file write -d <data>` which actually required a `platform file open
<path>` first in order to obtain a file descriptor.
eg. in file
[TestGDBRemotePlatformFile.py](https://github.com/llvm/llvm-project/blob/94e7d9c0bfe517507ea08b00fb00c32fb2837a82/lldb/test/API/functionalities/gdb_remote_client/TestGDBRemotePlatformFile.py#L24-L32)
To fix this, use the `platform put-file` method, which is used in the
`redirect_stdin` from this test already.
Commit: 4afa9787560d00474c6ab600be70d59fa7eae87f
https://github.com/llvm/llvm-project/commit/4afa9787560d00474c6ab600be70d59fa7eae87f
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/include/clang/AST/DeclTemplate.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
Log Message:
-----------
Revert "[Clang][Sema] Always use latest redeclaration of primary template" (#114304)
Clang importer doesn't seem to work well with this change, see
discussion in the original PR.
Reverts llvm/llvm-project#114258
Commit: 74d8f3952c4acf6d57948983d7c5b0d0a7763c28
https://github.com/llvm/llvm-project/commit/74d8f3952c4acf6d57948983d7c5b0d0a7763c28
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
R clang/test/CodeGenHLSL/builtins/RWBuffer-annotations.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/RasterizerOrderedBuffer-annotations.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffer-annotations.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/cbuf.hlsl
Log Message:
-----------
[HLSL] Remove old resource annotations for UAVs and SRVs (#114139)
UAVs and SRVs have already been converted to use LLVM target types and
we can disable generating of the !hlsl.uavs and !hlsl.srvs! annotations.
This will enable adding tests for structured buffers with user defined
types that this old resource annotations code does not handle (it
crashes).
Part 1 of #114126
Commit: 14045de250ea126029d43ff8f2f68e9614c394bc
https://github.com/llvm/llvm-project/commit/14045de250ea126029d43ff8f2f68e9614c394bc
Author: Luke Lau <luke at igalia.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll
Log Message:
-----------
[RISCV] Account for factor in interleave memory op costs (#111511)
Currently we cost an interleaved memory op as if it were a load/store of
the widened vector type, but this was undercosting in all cases when
compared to the measured performance of todays hardware.
On the x280 at NF=2 and spacemit-x60 at NF=2,3 and 4, a segmented load
is carried out as a wide load and NF LMUL shuffle ops:
https://github.com/preames/bp3-microarch#vlseg_lmul_x_sew_throughput
All other NFs go through a slow path. On the spacemit-x60 this is
proportional to VLMAX * NF, and on the x280 proportional to the number
of segments.
This patch increases the cost by implementing a wide load + NF LMUL
shuffle op cost for the lowest common denominator NF=2, and then a
slower cost proportional to VL for the other NFs.
In a follow up patch we can add a tuning flag to use the faster cost
model for NF=3 and 4 on the spacemit-x60.
Note that the FIXME about illegal vectors seems to have been fixed in
#100436
Commit: 56dcfbef453d6cc390fc7a734db417e047616526
https://github.com/llvm/llvm-project/commit/56dcfbef453d6cc390fc7a734db417e047616526
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Log Message:
-----------
[RISCV] Remove duplicate vector conversion pseudos. (#114287)
These pseudos used to be handled by CustomInserter to insert the
rounding
mode change for vector ceil, floor, etc. At some point they were changed
to use the InsertReadWriteCSR pass instead of the custom inserter. I
believe
that makes them redundant with the pseudos used by the RVV intrinsics
with rounding mode operand.
Commit: 5d35747f6de9295400327744b389f303e3e2b13d
https://github.com/llvm/llvm-project/commit/5d35747f6de9295400327744b389f303e3e2b13d
Author: Michael Jones <michaelrj at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M libc/test/src/sys/statvfs/linux/CMakeLists.txt
M libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
M libc/test/src/sys/statvfs/linux/statvfs_test.cpp
Log Message:
-----------
[libc] Refactor statvfs tests (#114147)
The previous statvfs tests had several issues, this patch updates them
to meet current standards.
Commit: 50c44478fe3f680374edf1363d2a3617b8ff2a0b
https://github.com/llvm/llvm-project/commit/50c44478fe3f680374edf1363d2a3617b8ff2a0b
Author: George Burgess IV <george.burgess.iv at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M libc/src/string/string_utils.h
M libc/test/UnitTest/LibcTest.h
M libc/test/src/string/StrchrTest.h
Log Message:
-----------
[libc] fix behavior of strrchr(x, '\0') (#112620)
`strrchr("foo", '\0')` is defined to point to the end of `foo`, rather
than returning NULL. This wasn't caught by tests, since llvm-libc's
`ASSERT_STREQ(nullptr, "");` is not an assertion error.
While I'm here, refactor the test slightly to check for NULL more
specifically. I considered adding fancier `ASSERT`s (and changing the
semantics of `ASSERT_STREQ`), but opted for a more local fix by fair
dice roll.
Commit: 36d56925706a32a065ec50d5a6b418e1f29a27b3
https://github.com/llvm/llvm-project/commit/36d56925706a32a065ec50d5a6b418e1f29a27b3
Author: gulfemsavrun <gulfem at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.def
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
Log Message:
-----------
Revert "[TLI] Add support for hypot libcall." (#114312)
Reverts llvm/llvm-project#113724
Commit: 1cecc58c3f15e3d0fe97b7f764d498e4005557e0
https://github.com/llvm/llvm-project/commit/1cecc58c3f15e3d0fe97b7f764d498e4005557e0
Author: Artem Belevich <tra at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
A llvm/include/llvm/Support/NVPTXAddrSpace.h
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXBaseInfo.h
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
A llvm/test/Transforms/InstCombine/NVPTX/isspacep.ll
Log Message:
-----------
[NVPTX] instcombine known pointer AS checks. (#112964)
The change improves the code in general and, as a side effect, avoids crashing
on an impossible address space casts guarded by `__isGlobal/__isShared`, which
partially fixes https://github.com/llvm/llvm-project/issues/112760
It's still possible to trigger the issue by using explicit AS casts w/o
AS checks, but LLVM should no longer crash on valid code.
Commit: d043670d66ce7958aec7837ee572f3dc8948f11a
https://github.com/llvm/llvm-project/commit/d043670d66ce7958aec7837ee572f3dc8948f11a
Author: Matthias Springer <me at m-sp.org>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/Func/Transforms/DecomposeCallGraphTypes.h
M mlir/lib/Dialect/Func/Transforms/DecomposeCallGraphTypes.cpp
M mlir/test/lib/Dialect/Func/TestDecomposeCallGraphTypes.cpp
Log Message:
-----------
[mlir][func] Replace `ValueDecomposer` with target materialization (#114192)
The `ValueDecomposer` in `DecomposeCallGraphTypes` was a workaround
around missing 1:N support in the dialect conversion. Since #113032, the
dialect conversion infrastructure supports 1:N type conversions and 1:N
target materializations. The `ValueDecomposer` class is no longer
needed. (However, target materializations must still be inserted
manually, until we fully merge the 1:1 and 1:N drivers.)
Note for LLVM integration: Register 1:N target materializations on the
type converter instead of "decompose value conversions" on the
`ValueDecomposer`.
Commit: 04e876e6c6eee5332f5fff30c8778abe82ebf52f
https://github.com/llvm/llvm-project/commit/04e876e6c6eee5332f5fff30c8778abe82ebf52f
Author: Artem Belevich <tra at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
R llvm/include/llvm/Support/NVPTXAddrSpace.h
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXBaseInfo.h
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
R llvm/test/Transforms/InstCombine/NVPTX/isspacep.ll
Log Message:
-----------
Revert "[NVPTX] instcombine known pointer AS checks." (#114319)
Reverts llvm/llvm-project#112964
Crashes MLIR: https://lab.llvm.org/buildbot/#/builders/138/builds/5665
Commit: 67c485798a16c4c656ff7a8a38cc98fe46d25154
https://github.com/llvm/llvm-project/commit/67c485798a16c4c656ff7a8a38cc98fe46d25154
Author: Caio Oliveira <caio.oliveira at intel.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M mlir/utils/spirv/gen_spirv_dialect.py
Log Message:
-----------
[mlir][spirv] Ignore extra comma for category_args in gen_spirv_dialect.py (#111776)
In the code being parsed, the comma separates following traits from the
category args. If there's no category args, it is still present.
Commit: 6e75eec866133620dcba956bc7d6dbc554642249
https://github.com/llvm/llvm-project/commit/6e75eec866133620dcba956bc7d6dbc554642249
Author: Caio Oliveira <caio.oliveira at intel.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M mlir/utils/spirv/gen_spirv_dialect.py
Log Message:
-----------
[mlir][spirv] Remove code for de-duplicating symbols in SPIR-V grammar (#111778)
SPIR-V grammar was updated in upstream to have an "aliases" field
instead of duplicating symbols with same values. See
https://github.com/KhronosGroup/SPIRV-Headers/pull/447 for details.
Commit: 3a782ef97de771af9fd565e0043d49bdd0f2c850
https://github.com/llvm/llvm-project/commit/3a782ef97de771af9fd565e0043d49bdd0f2c850
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M lldb/docs/index.rst
Log Message:
-----------
[lldb] Add a link to LLDB's Discord channel on the website (#114289)
Looking at #114276, I realized we have a link to Discourse on the
website, but not Discord. I think it would be helpful to have that link
there for real-time community discussion.
Commit: 1cb599835ccf7ee8b2d1d5a7f3107e19a26fc6f5
https://github.com/llvm/llvm-project/commit/1cb599835ccf7ee8b2d1d5a7f3107e19a26fc6f5
Author: Luke Lau <luke at igalia.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/65704-illegal-instruction.ll
M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/cmp-folds.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/extload-truncstore.ll
M llvm/test/CodeGen/RISCV/rvv/extract-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fceil-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fceil-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ffloor-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ffloor-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-binop-splats.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitcast.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-compressstore-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-expandload-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fceil-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ffloor-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fnearbyint-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-bitcast.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-conv.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-splat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptosi-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptosi-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptoui-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptoui-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fround-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fround.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-froundeven-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-froundeven.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ftrunc-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-i2fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleave-store.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-load-store.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-store-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-rint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1down.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1up.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sitofp-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-store.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-uitofp-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-uitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfabs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfclass-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfclass.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfcmp-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfcmps-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfdiv-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmsub-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmul-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmuladd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfneg-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfnmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfnmadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfnmsub-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfpext-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfptrunc-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfrdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfrsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsqrt-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsub-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfw-web-simplification.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmacc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vp-splat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpscatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect.ll
M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fnearbyint-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fnearbyint-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fold-binary-reduce.ll
M llvm/test/CodeGen/RISCV/rvv/fptosi-sat.ll
M llvm/test/CodeGen/RISCV/rvv/fptoui-sat.ll
M llvm/test/CodeGen/RISCV/rvv/frint-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fround-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fround-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/froundeven-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/froundeven-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ftrunc-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ftrunc-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/half-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/legalize-load-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/masked-load-fp.ll
M llvm/test/CodeGen/RISCV/rvv/masked-store-fp.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tama.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tamu.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tuma.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tumu.ll
M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/named-vector-shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/rint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/splat-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/unaligned-loads-stores.ll
M llvm/test/CodeGen/RISCV/rvv/undef-vp-ops.ll
M llvm/test/CodeGen/RISCV/rvv/unmasked-ta.ll
M llvm/test/CodeGen/RISCV/rvv/unmasked-tu.ll
M llvm/test/CodeGen/RISCV/rvv/vcompress.ll
M llvm/test/CodeGen/RISCV/rvv/vcopysign-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vfabs-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfabs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfclass-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfclass-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfclass.ll
M llvm/test/CodeGen/RISCV/rvv/vfcmp-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfcmps-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfcopysign-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-f-x.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-f-xu.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-rtz-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-rtz-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp-combine.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vfmadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfmax-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmax.ll
M llvm/test/CodeGen/RISCV/rvv/vfmerge.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsac.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsub-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsub.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul.ll
M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmv.f.s.ll
M llvm/test/CodeGen/RISCV/rvv/vfmv.s.f.ll
M llvm/test/CodeGen/RISCV/rvv/vfmv.v.f.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-f-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-f-x.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-f-xu.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-rod-f-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-rtz-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-rtz-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfneg-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfneg-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsac.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsub-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsub.ll
M llvm/test/CodeGen/RISCV/rvv/vfpext-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfpext-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfpext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptoi-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfptoi-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptrunc-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfptrunc-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfrdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfrdiv.ll
M llvm/test/CodeGen/RISCV/rvv/vfrec7.ll
M llvm/test/CodeGen/RISCV/rvv/vfredmax.ll
M llvm/test/CodeGen/RISCV/rvv/vfredmin.ll
M llvm/test/CodeGen/RISCV/rvv/vfredosum.ll
M llvm/test/CodeGen/RISCV/rvv/vfredusum.ll
M llvm/test/CodeGen/RISCV/rvv/vfrsqrt7.ll
M llvm/test/CodeGen/RISCV/rvv/vfrsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfrsub.ll
M llvm/test/CodeGen/RISCV/rvv/vfsgnj.ll
M llvm/test/CodeGen/RISCV/rvv/vfsgnjn.ll
M llvm/test/CodeGen/RISCV/rvv/vfsgnjx.ll
M llvm/test/CodeGen/RISCV/rvv/vfslide1down.ll
M llvm/test/CodeGen/RISCV/rvv/vfslide1up.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub.ll
M llvm/test/CodeGen/RISCV/rvv/vfwadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfwadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfwadd.w.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-f-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-f-x.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-f-xu.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-rtz-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-rtz-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmsac.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmul-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmul.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmsac.ll
M llvm/test/CodeGen/RISCV/rvv/vfwredosum.ll
M llvm/test/CodeGen/RISCV/rvv/vfwredusum.ll
M llvm/test/CodeGen/RISCV/rvv/vfwsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfwsub.ll
M llvm/test/CodeGen/RISCV/rvv/vfwsub.w.ll
M llvm/test/CodeGen/RISCV/rvv/vitofp-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vitofp-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vloxseg-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vloxseg-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vlseg-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vlseg-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vlsegff-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vlsegff-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vlsseg-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vlsseg-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vluxseg-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vluxseg-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vmfeq.ll
M llvm/test/CodeGen/RISCV/rvv/vmfge.ll
M llvm/test/CodeGen/RISCV/rvv/vmfgt.ll
M llvm/test/CodeGen/RISCV/rvv/vmfle.ll
M llvm/test/CodeGen/RISCV/rvv/vmflt.ll
M llvm/test/CodeGen/RISCV/rvv/vmfne.ll
M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpload.ll
M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vrgatherei16.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vslidedown.ll
M llvm/test/CodeGen/RISCV/rvv/vslideup.ll
M llvm/test/CodeGen/RISCV/rvv/vsoxseg-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vsoxseg-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vsseg-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vsseg-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vssseg-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vssseg-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vsuxseg-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vsuxseg-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll
Log Message:
-----------
[RISCV] Remove redundant +zfh from +zvfh[min] tests. NFC
In the vast majority of f16 tests we don't end up emitting any scalar
code that needs +zfh, so remove it.
Commit: 6ffefbbc2593d82117924c5c18d2a4ed7689ea3f
https://github.com/llvm/llvm-project/commit/6ffefbbc2593d82117924c5c18d2a4ed7689ea3f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/docs/ClangLinkerWrapper.rst
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
Log Message:
-----------
[LinkerWrapper] Remove handling of special bitcode flags (#114298)
Summary:
These flags were used in the very early days while we were trying to
port stuff. Now that we just pass bitcode to the device link job it
can be easily replaced by `-Xoffload-linker foo.bc`.
Commit: 94991b225344249a33eb9bab60a576d6ccd98d02
https://github.com/llvm/llvm-project/commit/94991b225344249a33eb9bab60a576d6ccd98d02
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-11-07 (Thu, 07 Nov 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
M .github/new-prs-labeler.yml
M .github/workflows/containers/github-action-ci/stage1.Dockerfile
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/release-binaries-all.yml
M .github/workflows/release-binaries.yml
M .github/workflows/release-documentation.yml
M .gitignore
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryData.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/DIEBuilder.h
A bolt/include/bolt/Passes/ContinuityStats.h
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Passes/ADRRelaxationPass.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/CMakeLists.txt
A bolt/lib/Passes/ContinuityStats.cpp
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Passes/RetpolineInsertion.cpp
M bolt/lib/Passes/VeneerElimination.cpp
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/RuntimeLibs/InstrumentationRuntimeLibrary.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
R bolt/test/AArch64/Inputs/iplt.ld
A bolt/test/AArch64/adr-relaxation.s
M bolt/test/AArch64/constant_island_pie_update.s
R bolt/test/AArch64/ifunc.c
A bolt/test/AArch64/ifunc.test
A bolt/test/AArch64/split-funcs-lite.s
M bolt/test/AArch64/update-weak-reference-symbol.s
A bolt/test/Inputs/ifunc.c
A bolt/test/Inputs/iplt.ld
A bolt/test/X86/cfg-discontinuity-reporting.test
A bolt/test/X86/ifunc.test
M bolt/test/X86/log.test
M bolt/test/X86/pre-aggregated-perf.test
A bolt/test/X86/print-only-section.s
A bolt/test/merge-fdata-uninitialized-header.test
M bolt/test/perf2bolt/perf_test.test
M bolt/tools/driver/llvm-bolt.cpp
M bolt/tools/merge-fdata/merge-fdata.cpp
M bolt/unittests/Core/BinaryContext.cpp
M clang-tools-extra/clang-apply-replacements/CMakeLists.txt
M clang-tools-extra/clang-apply-replacements/lib/Tooling/ApplyReplacements.cpp
M clang-tools-extra/clang-change-namespace/CMakeLists.txt
M clang-tools-extra/clang-change-namespace/ChangeNamespace.cpp
M clang-tools-extra/clang-doc/CMakeLists.txt
M clang-tools-extra/clang-doc/Generators.h
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-include-fixer/CMakeLists.txt
M clang-tools-extra/clang-include-fixer/find-all-symbols/CMakeLists.txt
M clang-tools-extra/clang-include-fixer/plugin/CMakeLists.txt
M clang-tools-extra/clang-move/CMakeLists.txt
M clang-tools-extra/clang-move/tool/ClangMove.cpp
M clang-tools-extra/clang-query/CMakeLists.txt
M clang-tools-extra/clang-query/Query.cpp
M clang-tools-extra/clang-reorder-fields/CMakeLists.txt
M clang-tools-extra/clang-tidy/CMakeLists.txt
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ClangTidyModuleRegistry.h
M clang-tools-extra/clang-tidy/abseil/CMakeLists.txt
M clang-tools-extra/clang-tidy/altera/CMakeLists.txt
M clang-tools-extra/clang-tidy/android/CMakeLists.txt
M clang-tools-extra/clang-tidy/boost/CMakeLists.txt
M clang-tools-extra/clang-tidy/boost/UseRangesCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/BitwisePointerCastCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/BitwisePointerCastCheck.h
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
M clang-tools-extra/clang-tidy/bugprone/CrtpConstructorAccessibilityCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/DanglingHandleCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.h
M clang-tools-extra/clang-tidy/bugprone/PosixReturnCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.h
A clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.h
M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.h
M clang-tools-extra/clang-tidy/cert/CMakeLists.txt
M clang-tools-extra/clang-tidy/concurrency/CMakeLists.txt
M clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeUnionAccessCheck.cpp
M clang-tools-extra/clang-tidy/darwin/CMakeLists.txt
M clang-tools-extra/clang-tidy/fuchsia/CMakeLists.txt
M clang-tools-extra/clang-tidy/google/CMakeLists.txt
M clang-tools-extra/clang-tidy/hicpp/CMakeLists.txt
M clang-tools-extra/clang-tidy/linuxkernel/CMakeLists.txt
M clang-tools-extra/clang-tidy/llvm/CMakeLists.txt
M clang-tools-extra/clang-tidy/llvmlibc/CMakeLists.txt
M clang-tools-extra/clang-tidy/misc/CMakeLists.txt
M clang-tools-extra/clang-tidy/misc/ConfusableIdentifierCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.h
M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.h
M clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.h
M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.h
M clang-tools-extra/clang-tidy/mpi/CMakeLists.txt
M clang-tools-extra/clang-tidy/objc/CMakeLists.txt
M clang-tools-extra/clang-tidy/openmp/CMakeLists.txt
M clang-tools-extra/clang-tidy/performance/CMakeLists.txt
M clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp
M clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/plugin/CMakeLists.txt
M clang-tools-extra/clang-tidy/portability/CMakeLists.txt
M clang-tools-extra/clang-tidy/portability/PortabilityTidyModule.cpp
A clang-tools-extra/clang-tidy/portability/TemplateVirtualMemberFunctionCheck.cpp
A clang-tools-extra/clang-tidy/portability/TemplateVirtualMemberFunctionCheck.h
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/rename_check.py
M clang-tools-extra/clang-tidy/tool/CMakeLists.txt
M clang-tools-extra/clang-tidy/utils/CMakeLists.txt
M clang-tools-extra/clang-tidy/utils/FixItHintUtils.cpp
M clang-tools-extra/clang-tidy/utils/FixItHintUtils.h
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.h
M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
M clang-tools-extra/clang-tidy/utils/Matchers.h
M clang-tools-extra/clang-tidy/zircon/CMakeLists.txt
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/CMakeLists.txt
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/CodeComplete.h
M clang-tools-extra/clangd/Config.h
M clang-tools-extra/clangd/ConfigCompile.cpp
M clang-tools-extra/clangd/ConfigFragment.h
M clang-tools-extra/clangd/ConfigYAML.cpp
M clang-tools-extra/clangd/Diagnostics.cpp
M clang-tools-extra/clangd/Diagnostics.h
M clang-tools-extra/clangd/FindSymbols.cpp
M clang-tools-extra/clangd/Headers.cpp
M clang-tools-extra/clangd/Hover.cpp
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/Quality.cpp
M clang-tools-extra/clangd/SourceCode.cpp
M clang-tools-extra/clangd/SystemIncludeExtractor.cpp
M clang-tools-extra/clangd/URI.h
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/index/MemIndex.cpp
M clang-tools-extra/clangd/index/StdLib.cpp
M clang-tools-extra/clangd/index/Symbol.h
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/index/SymbolCollector.h
M clang-tools-extra/clangd/index/dex/Dex.cpp
M clang-tools-extra/clangd/index/remote/CMakeLists.txt
M clang-tools-extra/clangd/index/remote/marshalling/CMakeLists.txt
M clang-tools-extra/clangd/index/remote/unimplemented/CMakeLists.txt
M clang-tools-extra/clangd/refactor/Tweak.h
M clang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt
M clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp
A clang-tools-extra/clangd/refactor/tweaks/SwapBinaryOperands.cpp
M clang-tools-extra/clangd/support/CMakeLists.txt
M clang-tools-extra/clangd/test/log.test
M clang-tools-extra/clangd/tool/CMakeLists.txt
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/clangd/unittests/CMakeLists.txt
M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
M clang-tools-extra/clangd/unittests/ParsedASTTests.cpp
M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
M clang-tools-extra/clangd/unittests/TypeHierarchyTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/DefineOutlineTests.cpp
A clang-tools-extra/clangd/unittests/tweaks/SwapBinaryOperandsTests.cpp
M clang-tools-extra/clangd/xpc/CMakeLists.txt
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/ExternalClang-TidyExamples.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/bitwise-pointer-cast.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/dangling-handle.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/nondeterministic-pointer-iteration-order.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/reserved-identifier.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/tagged-union-member-count.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unchecked-optional-access.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-functions.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-format.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-print.rst
A clang-tools-extra/docs/clang-tidy/checks/portability/template-virtual-member-function.rst
M clang-tools-extra/docs/clang-tidy/index.rst
M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Analysis.h
M clang-tools-extra/include-cleaner/include/clang-include-cleaner/IncludeSpeller.h
M clang-tools-extra/include-cleaner/lib/Analysis.cpp
M clang-tools-extra/include-cleaner/lib/CMakeLists.txt
M clang-tools-extra/include-cleaner/test/tool.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/FindHeadersTest.cpp
M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
M clang-tools-extra/modularize/CoverageChecker.cpp
M clang-tools-extra/modularize/Modularize.cpp
M clang-tools-extra/modularize/ModularizeUtilities.cpp
M clang-tools-extra/test/clang-query/invalid-command-line.cpp
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/inttypes.h
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_algorithm
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_c++config.h
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_initializer_list
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_iterator_base
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_map
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_set
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_stl_pair
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_type_traits
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_unordered_map
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_unordered_set
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_vector
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/unchecked-optional-access/bde/types/bdlb_nullablevalue.h
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/unchecked-optional-access/bde/types/bsl_optional.h
A clang-tools-extra/test/clang-tidy/checkers/bugprone/bitwise-pointer-cast-cxx20.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/bitwise-pointer-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/crtp-constructor-accessibility.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/nondeterministic-pointer-iteration-order.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/posix-return.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-pointer-arithmetics-no-division.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-pointer-arithmetics.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count-counting-enum-heuristic-bad-config.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count-counting-enum-heuristic-is-disabled.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count-counting-enum-heuristic-is-enabled.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count-counting-enum-prefixes-and-suffixes.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count-counting-enum-prefixes.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count-counting-enum-suffixes.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count-strictmode-is-disabled.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count-strictmode-is-enabled.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.m
A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.mm
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unchecked-optional-access.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unsafe-functions-custom-regex.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unsafe-functions-custom.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unsafe-functions.c
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-union-access.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-func.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-designated-initializers.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/move-const-arg.cpp
A clang-tools-extra/test/clang-tidy/checkers/portability/template-virtual-member-function.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-contains.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.c
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
M clang-tools-extra/test/clang-tidy/infrastructure/invalid-command-line.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/verify-config.cpp
M clang-tools-extra/unittests/clang-tidy/AddConstTest.cpp
M clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
M clang-tools-extra/unittests/clang-tidy/IncludeCleanerTest.cpp
M clang-tools-extra/unittests/clang-tidy/IncludeInserterTest.cpp
M clang-tools-extra/unittests/clang-tidy/NamespaceAliaserTest.cpp
M clang-tools-extra/unittests/clang-tidy/ReadabilityModuleTest.cpp
M clang-tools-extra/unittests/clang-tidy/TransformerClangTidyCheckTest.cpp
M clang-tools-extra/unittests/clang-tidy/UsingInserterTest.cpp
M clang-tools-extra/unittests/include/common/VirtualFileHelper.h
M clang/CMakeLists.txt
R clang/CodeOwners.rst
A clang/Maintainers.rst
A clang/README.md
R clang/README.txt
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/CMakeLists.txt
M clang/bindings/python/tests/cindex/test_cursor.py
M clang/bindings/python/tests/cindex/test_diagnostics.py
M clang/bindings/python/tests/cindex/test_type.py
M clang/cmake/caches/Android.cmake
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/cmake/caches/Release.cmake
A clang/cmake/caches/hexagon-unknown-linux-musl-clang-cross.cmake
A clang/cmake/caches/hexagon-unknown-linux-musl-clang.cmake
M clang/cmake/modules/AddClang.cmake
M clang/docs/AddressSanitizer.rst
M clang/docs/CMakeLists.txt
M clang/docs/ClangFormatStyleOptions.rst
R clang/docs/ClangFormattedStatus.rst
M clang/docs/ClangLinkerWrapper.rst
M clang/docs/ClangPlugins.rst
R clang/docs/CodeOwners.rst
A clang/docs/FunctionEffectAnalysis.rst
M clang/docs/HardwareAssistedAddressSanitizerDesign.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/LeakSanitizer.rst
M clang/docs/LibASTMatchersReference.html
A clang/docs/Maintainers.rst
M clang/docs/MemorySanitizer.rst
M clang/docs/Multilib.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/RealtimeSanitizer.rst
M clang/docs/ReleaseNotes.rst
A clang/docs/SafeBuffers.rst
M clang/docs/ThreadSanitizer.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/analyzer/user-docs.rst
M clang/docs/analyzer/user-docs/CommandLineUsage.rst
A clang/docs/analyzer/user-docs/FAQ.rst
M clang/docs/analyzer/user-docs/TaintAnalysisConfiguration.rst
M clang/docs/index.rst
R clang/docs/tools/clang-formatted-files.txt
M clang/examples/Attribute/Attribute.cpp
M clang/include/clang-c/Index.h
M clang/include/clang/AST/APValue.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/CanonicalType.h
M clang/include/clang/AST/CommentSema.h
M clang/include/clang/AST/ComputeDependence.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclFriend.h
M clang/include/clang/AST/DeclID.h
M clang/include/clang/AST/DeclObjC.h
M clang/include/clang/AST/DeclOpenMP.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprConcepts.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/AST/JSONNodeDumper.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/PrettyPrinter.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtOpenMP.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/ASTMatchers/ASTMatchersMacros.h
M clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h
M clang/include/clang/Analysis/AnyCall.h
A clang/include/clang/Analysis/FlowSensitive/CachedConstAccessorsLattice.h
M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.h
M clang/include/clang/Analysis/FlowSensitive/NoopLattice.h
M clang/include/clang/Basic/AArch64SVEACLETypes.def
M clang/include/clang/Basic/AMDGPUTypes.def
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.h
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsBase.td
M clang/include/clang/Basic/BuiltinsNVPTX.def
M clang/include/clang/Basic/BuiltinsRISCV.td
A clang/include/clang/Basic/BuiltinsRISCVXCV.td
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/include/clang/Basic/BuiltinsX86.def
A clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/BuiltinsX86_64.def
A clang/include/clang/Basic/CFProtectionOptions.def
A clang/include/clang/Basic/CFProtectionOptions.h
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticCategories.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Basic/FileSystemStatCache.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/LangStandard.h
M clang/include/clang/Basic/Module.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Basic/ParsedAttrInfo.h
M clang/include/clang/Basic/PlistSupport.h
A clang/include/clang/Basic/StackExhaustionHandler.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/TypeNodes.td
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/include/clang/Basic/riscv_vector.td
A clang/include/clang/CIR/.clang-tidy
A clang/include/clang/CIR/CIRGenerator.h
A clang/include/clang/CIR/FrontendAction/CIRGenAction.h
A clang/include/clang/CIRFrontendAction/.clang-tidy
M clang/include/clang/CodeGen/CGFunctionInfo.h
M clang/include/clang/CodeGen/CodeGenABITypes.h
M clang/include/clang/Driver/Distro.h
M clang/include/clang/Driver/Job.h
M clang/include/clang/Driver/Multilib.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/Types.def
M clang/include/clang/Driver/XRayArgs.h
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/FrontendPluginRegistry.h
M clang/include/clang/Frontend/MultiplexConsumer.h
M clang/include/clang/Index/USRGeneration.h
M clang/include/clang/Interpreter/Interpreter.h
M clang/include/clang/Lex/ModuleMap.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/CodeCompleteConsumer.h
M clang/include/clang/Sema/Overload.h
M clang/include/clang/Sema/ScopeInfo.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaInternal.h
M clang/include/clang/Sema/SemaObjC.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/ModuleFile.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
A clang/include/clang/Support/Compiler.h
M clang/include/clang/Testing/CommandLineArgs.h
M clang/include/clang/Testing/TestClangConfig.h
A clang/include/clang/Testing/TestLanguage.def
M clang/include/clang/Tooling/CompilationDatabasePluginRegistry.h
M clang/include/clang/Tooling/ToolExecutorPluginRegistry.h
M clang/include/module.modulemap
M clang/lib/APINotes/APINotesYAMLCompiler.cpp
M clang/lib/ARCMigrate/Internals.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ByteCode/Boolean.h
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvaluationResult.cpp
A clang/lib/AST/ByteCode/FixedPoint.h
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/IntegralAP.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBlock.cpp
M clang/lib/AST/ByteCode/InterpBlock.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpFrame.h
M clang/lib/AST/ByteCode/InterpStack.cpp
M clang/lib/AST/ByteCode/InterpStack.h
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/MemberPointer.cpp
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/PrimType.cpp
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Program.h
M clang/lib/AST/ByteCode/Record.cpp
M clang/lib/AST/ByteCode/Record.h
M clang/lib/AST/CXXInheritance.cpp
M clang/lib/AST/Comment.cpp
M clang/lib/AST/CommentParser.cpp
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclObjC.cpp
M clang/lib/AST/DeclOpenMP.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprClassification.cpp
M clang/lib/AST/ExprConstShared.h
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/InheritViz.cpp
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/OpenACCClause.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/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/Analysis/BodyFarm.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/lib/Analysis/ProgramPoint.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/FileSystemStatCache.cpp
M clang/lib/Basic/IdentifierTable.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/LangStandards.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/Basic/OpenMPKinds.cpp
A clang/lib/Basic/StackExhaustionHandler.cpp
M clang/lib/Basic/TargetID.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/ARC.h
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/ARM.h
M clang/lib/Basic/Targets/AVR.h
M clang/lib/Basic/Targets/BPF.cpp
M clang/lib/Basic/Targets/BPF.h
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/Lanai.h
M clang/lib/Basic/Targets/LoongArch.cpp
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Basic/Targets/M68k.cpp
M clang/lib/Basic/Targets/MSP430.h
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/OSTargets.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/PNaCl.cpp
M clang/lib/Basic/Targets/PNaCl.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/Sparc.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/TCE.h
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/Basic/Targets/XCore.h
A clang/lib/CIR/.clang-tidy
M clang/lib/CIR/CMakeLists.txt
A clang/lib/CIR/CodeGen/CIRGenModule.cpp
A clang/lib/CIR/CodeGen/CIRGenModule.h
A clang/lib/CIR/CodeGen/CIRGenTypeCache.h
A clang/lib/CIR/CodeGen/CIRGenerator.cpp
A clang/lib/CIR/CodeGen/CMakeLists.txt
A clang/lib/CIR/FrontendAction/CIRGenAction.cpp
A clang/lib/CIR/FrontendAction/CMakeLists.txt
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/ABIInfoImpl.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.h
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTT.cpp
M clang/lib/CodeGen/CodeGenABITypes.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTBAA.h
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/SanitizerMetadata.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/DirectX.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/CrossTU/CrossTranslationUnit.cpp
M clang/lib/Driver/Distro.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/Multilib.cpp
M clang/lib/Driver/MultilibBuilder.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/lib/Driver/ToolChains/Arch/Sparc.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Flang.h
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Driver/ToolChains/ZOS.cpp
M clang/lib/Driver/Types.cpp
M clang/lib/Driver/XRayArgs.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/Format/BreakableToken.cpp
M clang/lib/Format/BreakableToken.h
M clang/lib/Format/CMakeLists.txt
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenLexer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Format/WhitespaceManager.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/DiagnosticRenderer.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/LogDiagnosticPrinter.cpp
M clang/lib/Frontend/MultiplexConsumer.cpp
M clang/lib/Frontend/PrintPreprocessedOutput.cpp
M clang/lib/Frontend/Rewrite/FrontendActions.cpp
M clang/lib/Frontend/Rewrite/RewriteObjC.cpp
M clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
M clang/lib/Frontend/TextDiagnostic.cpp
M clang/lib/Frontend/TextDiagnosticPrinter.cpp
M clang/lib/FrontendTool/CMakeLists.txt
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/adcintrin.h
M clang/lib/Headers/adxintrin.h
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Headers/avxintrin.h
M clang/lib/Headers/bmi2intrin.h
M clang/lib/Headers/bmiintrin.h
M clang/lib/Headers/cpuid.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/immintrin.h
M clang/lib/Headers/intrin0.h
M clang/lib/Headers/lzcntintrin.h
A clang/lib/Headers/movrs_avx10_2_512intrin.h
A clang/lib/Headers/movrs_avx10_2intrin.h
M clang/lib/Headers/opencl-c-base.h
M clang/lib/Headers/pmmintrin.h
M clang/lib/Headers/popcntintrin.h
A clang/lib/Headers/riscv_corev_alu.h
A clang/lib/Headers/sm4evexintrin.h
M clang/lib/Headers/tbmintrin.h
M clang/lib/Headers/wasm_simd128.h
M clang/lib/Headers/xmmintrin.h
M clang/lib/Index/IndexingContext.h
M clang/lib/Index/USRGeneration.cpp
M clang/lib/InstallAPI/Frontend.cpp
M clang/lib/Interpreter/CMakeLists.txt
M clang/lib/Interpreter/DeviceOffload.cpp
M clang/lib/Interpreter/DeviceOffload.h
M clang/lib/Interpreter/IncrementalExecutor.cpp
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Interpreter/IncrementalParser.h
M clang/lib/Interpreter/Interpreter.cpp
A clang/lib/Interpreter/InterpreterValuePrinter.cpp
M clang/lib/Lex/HeaderMap.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/Pragma.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Lex/TokenConcatenation.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/ParseInit.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/CheckExprLifetime.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/JumpDiagnostics.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.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/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprObjC.cpp
A clang/lib/Sema/SemaFunctionEffects.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPseudoObject.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/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTCommon.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/GlobalModuleIndex.cpp
M clang/lib/Serialization/ModuleManager.cpp
M clang/lib/StaticAnalyzer/Checkers/BitwiseShiftChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
R clang/lib/StaticAnalyzer/Checkers/PointerIterationChecker.cpp
R clang/lib/StaticAnalyzer/Checkers/PointerSortingChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
R clang/lib/StaticAnalyzer/Checkers/WebKit/NoUncountedMembersChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
A clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/TextDiagnostics.cpp
M clang/lib/Testing/CommandLineArgs.cpp
M clang/lib/Tooling/Core/Replacement.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Tooling/Inclusions/HeaderIncludes.cpp
M clang/lib/Tooling/Inclusions/Stdlib/StdSpecialSymbolMap.inc
M clang/test/APINotes/Inputs/Frameworks/SimpleKit.framework/Headers/SimpleKit.apinotes
M clang/test/APINotes/Inputs/Frameworks/SimpleKit.framework/Headers/SimpleKit.h
M clang/test/APINotes/types.m
M clang/test/APINotes/yaml-roundtrip-2.test
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/codegen.cpp
A clang/test/AST/ByteCode/codegen.m
M clang/test/AST/ByteCode/complex.cpp
M clang/test/AST/ByteCode/constexpr-vectors.cpp
A clang/test/AST/ByteCode/constexpr.c
M clang/test/AST/ByteCode/cxx17.cpp
A clang/test/AST/ByteCode/cxx1z.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/AST/ByteCode/cxx98.cpp
A clang/test/AST/ByteCode/fixed-point.cpp
M clang/test/AST/ByteCode/new-delete.cpp
A clang/test/AST/ByteCode/openmp.cpp
A clang/test/AST/ByteCode/placement-new.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/AST/ByteCode/vectors.cpp
A clang/test/AST/HLSL/ArrayAssignable.hlsl
M clang/test/AST/HLSL/RWBuffer-AST.hlsl
A clang/test/AST/HLSL/RWStructuredBuffer-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
A clang/test/AST/arm-mfp8.cpp
M clang/test/AST/ast-dump-aarch64-sve-types.c
M clang/test/AST/ast-dump-amdgpu-types.c
M clang/test/AST/ast-dump-for-range-lifetime.cpp
M clang/test/AST/ast-print-openacc-loop-construct.cpp
M clang/test/AST/attr-print-emit.cpp
A clang/test/AST/new-unknown-type.cpp
A clang/test/AST/solaris-tm.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
A clang/test/Analysis/Checkers/WebKit/unchecked-members.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
A clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg-std-array.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
A clang/test/Analysis/Checkers/WebKit/uncounted-obj-const-v-muable.cpp
M clang/test/Analysis/Inputs/system-header-simulator.h
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/array-init-loop.cpp
M clang/test/Analysis/asm.cpp
M clang/test/Analysis/assume-controlled-environment.c
M clang/test/Analysis/bool-assignment.c
A clang/test/Analysis/builtin_overflow.c
A clang/test/Analysis/builtin_overflow_notes.c
M clang/test/Analysis/casts.c
M clang/test/Analysis/const-method-call.cpp
M clang/test/Analysis/ctu-on-demand-parsing.c
M clang/test/Analysis/ctu-on-demand-parsing.cpp
M clang/test/Analysis/cxx-method-names.cpp
M clang/test/Analysis/debug-exprinspection-istainted.c
M clang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-diagnostics-taint-test.c.sarif
M clang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-multi-diagnostic-test.c.sarif
M clang/test/Analysis/diagnostics/sarif-diagnostics-taint-test.c
M clang/test/Analysis/diagnostics/sarif-multi-diagnostic-test.c
A clang/test/Analysis/divzero-tainted-div-difference.c
M clang/test/Analysis/fread.c
M clang/test/Analysis/global-region-invalidation-errno.c
M clang/test/Analysis/global-region-invalidation.c
M clang/test/Analysis/infeasible-sink.c
M clang/test/Analysis/malloc-annotations.c
M clang/test/Analysis/malloc.c
M clang/test/Analysis/malloc.cpp
M clang/test/Analysis/out-of-bounds-diagnostics.c
M clang/test/Analysis/out-of-bounds-notes.c
M clang/test/Analysis/pointer-sub-notes.c
M clang/test/Analysis/pointer-sub.c
M clang/test/Analysis/ptr-arith.c
R clang/test/Analysis/ptr-iter.cpp
R clang/test/Analysis/ptr-sort.cpp
M clang/test/Analysis/range_casts.c
M clang/test/Analysis/redefined_system.c
M clang/test/Analysis/stack-addr-ps.c
M clang/test/Analysis/stack-addr-ps.cpp
M clang/test/Analysis/string.c
M clang/test/Analysis/string.cpp
M clang/test/Analysis/taint-checker-callback-order-has-definition.c
M clang/test/Analysis/taint-checker-callback-order-without-definition.c
M clang/test/Analysis/taint-diagnostic-visitor.c
M clang/test/Analysis/taint-dumps.c
M clang/test/Analysis/taint-generic.c
M clang/test/Analysis/taint-generic.cpp
M clang/test/Analysis/taint-tester.c
M clang/test/Analysis/taint-tester.cpp
M clang/test/Analysis/taint-tester.m
M clang/test/Analysis/unary-sym-expr.c
A clang/test/C/C2y/n3298.c
A clang/test/CIR/hello.c
A clang/test/CIR/lit.local.cfg
M clang/test/CMakeLists.txt
M clang/test/CXX/class.derived/p2.cpp
M clang/test/CXX/class/class.friend/p7-cxx20.cpp
M clang/test/CXX/class/class.mfct/p1-cxx20.cpp
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp
M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p8.cpp
M clang/test/CXX/dcl/dcl.decl/p3.cpp
M clang/test/CXX/dcl/dcl.fct/p17.cpp
M clang/test/CXX/drs/cwg14xx.cpp
A clang/test/CXX/drs/cwg1884.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/drs/cwg1xx.cpp
M clang/test/CXX/drs/cwg22xx.cpp
M clang/test/CXX/drs/cwg25xx.cpp
A clang/test/CXX/drs/cwg279.cpp
M clang/test/CXX/drs/cwg27xx.cpp
M clang/test/CXX/drs/cwg29xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/drs/cwg9xx.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.lambda/blocks.mm
M clang/test/CXX/expr/expr.prim/expr.prim.req/requires-expr.cpp
M clang/test/CXX/lex/lex.literal/lex.ext/p1.cpp
M clang/test/CXX/lex/lex.literal/lex.ext/p10.cpp
M clang/test/CXX/lex/lex.literal/lex.ext/p11.cpp
M clang/test/CXX/lex/lex.literal/lex.ext/p3.cpp
M clang/test/CXX/lex/lex.literal/lex.ext/p4.cpp
M clang/test/CXX/lex/lex.literal/lex.ext/p5.cpp
M clang/test/CXX/lex/lex.literal/lex.ext/p6.cpp
M clang/test/CXX/lex/lex.literal/lex.ext/p7.cpp
M clang/test/CXX/lex/lex.literal/lex.ext/p8.cpp
M clang/test/CXX/lex/lex.literal/lex.ext/p9.cpp
M clang/test/CXX/over/over.oper/over.literal/p2.cpp
M clang/test/CXX/over/over.oper/over.literal/p3.cpp
M clang/test/CXX/over/over.oper/over.literal/p5.cpp
M clang/test/CXX/over/over.oper/over.literal/p6.cpp
M clang/test/CXX/over/over.oper/over.literal/p7.cpp
M clang/test/CXX/over/over.oper/over.literal/p8.cpp
M clang/test/CXX/special/class.inhctor/p8.cpp
M clang/test/CXX/special/class.temporary/p6.cpp
M clang/test/CXX/temp/temp.constr/temp.constr.decl/func-template-decl.cpp
M clang/test/CXX/temp/temp.constr/temp.constr.decl/p4.cpp
A clang/test/CXX/temp/temp.decls/temp.spec.partial/temp.spec.partial.member/p2.cpp
M clang/test/CXX/temp/temp.res/temp.local/p8.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p12.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p14-23.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p18.cpp
A clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
M clang/test/ClangScanDeps/link-libraries.c
M clang/test/ClangScanDeps/print-timing.c
M clang/test/CodeGen/2008-07-22-bitfield-init-after-zero-len-array.c
M clang/test/CodeGen/2008-08-07-AlignPadding1.c
M clang/test/CodeGen/2009-06-14-anonymous-union-init.c
M clang/test/CodeGen/64bit-swiftcall.c
M clang/test/CodeGen/PowerPC/builtins-ppc-build-pair-mma.c
M clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma-types.c
M clang/test/CodeGen/PowerPC/ppc-xmmintrin.c
A clang/test/CodeGen/RISCV/attr-hw-shadow-stack.c
M clang/test/CodeGen/RISCV/riscv-atomics.c
A clang/test/CodeGen/RISCV/riscv-cf-protection.c
M clang/test/CodeGen/RISCV/riscv-inline-asm-rvv.c
M clang/test/CodeGen/RISCV/riscv-inline-asm.c
A clang/test/CodeGen/RISCV/riscv-xcvalu-c-api.c
A clang/test/CodeGen/RISCV/riscv-xcvalu.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vcreate.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vget.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlmul_ext_v.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlmul_trunc_v.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/vlseg2e16ff.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/vlseg2e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg2e8ff.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/vlseg3e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg3e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg3e8ff.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/vlseg4e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg4e8ff.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/vlseg5e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg5e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg5e8ff.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/vlseg6e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg6e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg6e8ff.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/vlseg7e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg7e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg7e8ff.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/vlseg8e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg8e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg8e8ff.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/vset.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/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/non-overloaded/vundefined.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vget.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlmul_ext_v.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlmul_trunc_v.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/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg2e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg2e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg2e8ff.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/vlseg3e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg3e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg3e8ff.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/vlseg4e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg4e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg4e8ff.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/vlseg5e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg5e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg5e8ff.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/vlseg6e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg6e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg6e8ff.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/vlseg7e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg7e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg7e8ff.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/vlseg8e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg8e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg8e8ff.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/vset.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/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/bfloat16/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg8ei16.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/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e8ff.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/vlseg3e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e8ff.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/vlseg4e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e8ff.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/vlseg5e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e8ff.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/vlseg6e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e8ff.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/vlseg7e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e8ff.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/vlseg8e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e8ff.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/overloaded/bfloat16/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg8ei16.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/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e8ff.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
A clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/rvv-tuple-utils.c
M clang/test/CodeGen/X86/adc-builtins.c
M clang/test/CodeGen/X86/adx-builtins.c
M clang/test/CodeGen/X86/avx-builtins-constrained-cmp.c
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/avx-cmp-builtins.c
M clang/test/CodeGen/X86/avx-shuffle-builtins.c
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/bmi-builtins.c
M clang/test/CodeGen/X86/bmi2-builtins.c
A clang/test/CodeGen/X86/builtin_test_helpers.h
M clang/test/CodeGen/X86/cx-complex-range.c
M clang/test/CodeGen/X86/f16c-builtins-constrained.c
M clang/test/CodeGen/X86/f16c-builtins.c
M clang/test/CodeGen/X86/fma-builtins-constrained.c
M clang/test/CodeGen/X86/fma-builtins.c
M clang/test/CodeGen/X86/fma4-builtins.c
M clang/test/CodeGen/X86/lzcnt-builtins.c
M clang/test/CodeGen/X86/mmx-builtins.c
A clang/test/CodeGen/X86/movrs-avx10.2-512-builtins-error-32.c
A clang/test/CodeGen/X86/movrs-avx10.2-512-builtins.c
A clang/test/CodeGen/X86/movrs-avx10.2-builtins-error-32.c
A clang/test/CodeGen/X86/movrs-avx10.2-builtins.c
A clang/test/CodeGen/X86/pr51324.c
A clang/test/CodeGen/X86/pr60006.c
A clang/test/CodeGen/X86/sm4-evex-builtins.c
M clang/test/CodeGen/X86/sse-builtins-constrained-cmp.c
M clang/test/CodeGen/X86/sse-builtins-constrained.c
M clang/test/CodeGen/X86/sse-builtins-dbg.c
M clang/test/CodeGen/X86/sse-builtins.c
M clang/test/CodeGen/X86/sse.c
M clang/test/CodeGen/X86/sse2-builtins-constrained-cmp.c
M clang/test/CodeGen/X86/sse2-builtins.c
M clang/test/CodeGen/X86/sse3-builtins.c
M clang/test/CodeGen/X86/sse41-builtins.c
M clang/test/CodeGen/X86/sse42-builtins.c
M clang/test/CodeGen/X86/sse4a-builtins.c
M clang/test/CodeGen/X86/ssse3-builtins.c
M clang/test/CodeGen/X86/tbm-builtins.c
M clang/test/CodeGen/X86/x86-intrinsics-imm.c
M clang/test/CodeGen/aarch64-cpu-supports-target.c
M clang/test/CodeGen/aarch64-cpu-supports.c
A clang/test/CodeGen/aarch64-debug-types.c
M clang/test/CodeGen/aarch64-fmv-dependencies.c
A clang/test/CodeGen/aarch64-fp8-intrinsics/acle_sme2_fp8_scale.c
A clang/test/CodeGen/aarch64-fpm-helpers.c
M clang/test/CodeGen/aarch64-mixed-target-attributes.c
A clang/test/CodeGen/aarch64-neon-fp8-intrinsics/acle_neon_fscale.c
A clang/test/CodeGen/aarch64-pure-scalable-args-empty-union.c
A clang/test/CodeGen/aarch64-pure-scalable-args.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtl.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_faminmax.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_frint.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_ldr_str_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_zt.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_read.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sqdmulh.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_add.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_rshl.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx4.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_write_lane_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_zero_zt.c
M clang/test/CodeGen/aarch64-sme2p1-intrinsics/acle_sme2p1_movaz.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvt-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvtnt.c
M clang/test/CodeGen/aarch64-sve-vls-bitwise-ops.c
M clang/test/CodeGen/aarch64-sve.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pext.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_x2.c
M clang/test/CodeGen/aarch64-type-sizes.c
M clang/test/CodeGen/align-loops.c
A clang/test/CodeGen/amdgpu-barrier-type-debug-info.c
M clang/test/CodeGen/arm-acle-coproc.c
M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
A clang/test/CodeGen/arm-mfp8.c
M clang/test/CodeGen/arm-swiftcall.c
M clang/test/CodeGen/atomics-sema-alignment.c
A clang/test/CodeGen/attr-counted-by-pr110385.c
M clang/test/CodeGen/attr-counted-by-pr88931.cpp
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-clones-riscv.c
A clang/test/CodeGen/attr-target-version-riscv-invalid.c
A clang/test/CodeGen/attr-target-version-riscv.c
M clang/test/CodeGen/attr-target-version.c
A clang/test/CodeGen/bpf-attr-type-tag-atomic.c
A clang/test/CodeGen/builtins-array-rank.cpp
M clang/test/CodeGen/builtins-elementwise-math.c
M clang/test/CodeGen/builtins-nvptx-native-half-type-native.c
M clang/test/CodeGen/builtins-nvptx-native-half-type.c
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/builtins-reduction-math.c
M clang/test/CodeGen/builtins-wasm.c
M clang/test/CodeGen/builtins.c
M clang/test/CodeGen/code-coverage.c
M clang/test/CodeGen/coff-aarch64-type-sizes.c
M clang/test/CodeGen/const-init.c
M clang/test/CodeGen/cx-complex-range.c
R clang/test/CodeGen/debug-info-renderscript-tag.rs
M clang/test/CodeGen/decl.c
M clang/test/CodeGen/designated-initializers.c
M clang/test/CodeGen/ext-int.c
M clang/test/CodeGen/flexible-array-init.c
A clang/test/CodeGen/fmaxfmin-invalid-arguments-type.c
M clang/test/CodeGen/fp16-ops.c
M clang/test/CodeGen/global-init.c
M clang/test/CodeGen/init.c
A clang/test/CodeGen/inline-asm-output-variant.c
A clang/test/CodeGen/linux-kernel-struct-union-initializer.c
A clang/test/CodeGen/linux-kernel-struct-union-initializer2.c
A clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
M clang/test/CodeGen/math-libcalls.c
M clang/test/CodeGen/mdouble.c
M clang/test/CodeGen/memtag-globals.cpp
M clang/test/CodeGen/mingw-long-double.c
M clang/test/CodeGen/mms-bitfields.c
M clang/test/CodeGen/ms-mixed-ptr-sizes.c
A clang/test/CodeGen/musttail-sret.cpp
M clang/test/CodeGen/nofpclass.c
M clang/test/CodeGen/nvptx_attributes.c
A clang/test/CodeGen/pgo-cold-function-coverage.c
R clang/test/CodeGen/renderscript.c
M clang/test/CodeGen/rtsan_attribute_inserted.c
M clang/test/CodeGen/rtsan_no_attribute_sanitizer_disabled.c
A clang/test/CodeGen/sanitize-coverage-gated-callbacks.c
M clang/test/CodeGen/scoped-atomic-ops.c
M clang/test/CodeGen/stack-protector-guard.c
M clang/test/CodeGen/strictfp-elementwise-bulitins.cpp
M clang/test/CodeGen/target-builtin-noerror.c
M clang/test/CodeGen/target-data.c
M clang/test/CodeGen/tbaa-pointers.c
M clang/test/CodeGen/tbaa-reference.cpp
M clang/test/CodeGen/ubsan-builtin-checks.c
M clang/test/CodeGen/union-init2.c
M clang/test/CodeGen/variadic-nvptx.c
M clang/test/CodeGen/windows-swiftcall.c
M clang/test/CodeGenCUDA/address-spaces.cu
M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
R clang/test/CodeGenCUDA/amdgpu-func-attrs.cu
M clang/test/CodeGenCUDA/amdgpu-visibility.cu
M clang/test/CodeGenCUDA/anon-ns.cu
M clang/test/CodeGenCUDA/atomic-ops.cu
M clang/test/CodeGenCUDA/bf16.cu
M clang/test/CodeGenCUDA/device-init-fun.cu
M clang/test/CodeGenCUDA/device-var-init.cu
M clang/test/CodeGenCUDA/device-var-linkage.cu
M clang/test/CodeGenCUDA/filter-decl.cu
M clang/test/CodeGenCUDA/kernel-amdgcn.cu
M clang/test/CodeGenCUDA/offloading-entries.cu
M clang/test/CodeGenCUDA/static-device-var-no-rdc.cu
M clang/test/CodeGenCUDA/static-device-var-rdc.cu
M clang/test/CodeGenCUDA/template-class-static-member.cu
M clang/test/CodeGenCXX/RelativeVTablesABI/child-inheritted-from-parent-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inlined-key-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/parent-and-child-in-comdats.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/parent-vtable-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/simple-vtable-definition.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
M clang/test/CodeGenCXX/aarch64-sve-typeinfo.cpp
M clang/test/CodeGenCXX/aarch64-sve-vector-init.cpp
A clang/test/CodeGenCXX/amdgpu-barrier-typeinfo.cpp
M clang/test/CodeGenCXX/armv7k.cpp
M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
M clang/test/CodeGenCXX/attr-target-clones-riscv.cpp
A clang/test/CodeGenCXX/attr-target-version-riscv.cpp
M clang/test/CodeGenCXX/attr-target-version.cpp
M clang/test/CodeGenCXX/builtins.cpp
M clang/test/CodeGenCXX/cxx2a-consteval.cpp
M clang/test/CodeGenCXX/debug-info-alias.cpp
A clang/test/CodeGenCXX/debug-info-line-if-2.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/exceptions-no-rtti.cpp
M clang/test/CodeGenCXX/ext-int.cpp
M clang/test/CodeGenCXX/flexible-array-init.cpp
M clang/test/CodeGenCXX/fmv-namespace.cpp
M clang/test/CodeGenCXX/implicit-record-visibility.cpp
M clang/test/CodeGenCXX/mangle-concept.cpp
M clang/test/CodeGenCXX/mangle-subst.cpp
M clang/test/CodeGenCXX/mdefault-visibility-export-mapping-rtti.cpp
M clang/test/CodeGenCXX/modules-vtable.cppm
M clang/test/CodeGenCXX/pr59765-modules-global-ctor-dtor.cppm
M clang/test/CodeGenCXX/ptrauth-rtti-layout.cpp
M clang/test/CodeGenCXX/ptrauth-type-info-vtable.cpp
M clang/test/CodeGenCXX/ptrauth-vtable-virtual-inheritance-thunk.cpp
M clang/test/CodeGenCXX/rtti-linkage.cpp
M clang/test/CodeGenCXX/rtti-visibility.cpp
M clang/test/CodeGenCXX/spirv-amdgcn-float16.cpp
M clang/test/CodeGenCXX/symbol-partition.cpp
M clang/test/CodeGenCXX/template-param-objects-address-space.cpp
M clang/test/CodeGenCXX/throw-expression-typeinfo-in-address-space.cpp
M clang/test/CodeGenCXX/try-catch-with-address-space.cpp
M clang/test/CodeGenCXX/type_visibility.cpp
M clang/test/CodeGenCXX/typeid-cxx11-with-address-space.cpp
M clang/test/CodeGenCXX/typeid-with-address-space.cpp
M clang/test/CodeGenCXX/typeinfo-with-address-space.cpp
M clang/test/CodeGenCXX/visibility-ms-compat.cpp
M clang/test/CodeGenCXX/vtable-align-address-space.cpp
M clang/test/CodeGenCXX/vtable-align.cpp
M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
M clang/test/CodeGenCXX/vtable-available-externally.cpp
M clang/test/CodeGenCXX/vtable-key-function-arm.cpp
M clang/test/CodeGenCXX/vtable-key-function-ios.cpp
M clang/test/CodeGenCXX/vtable-key-function-win-comdat.cpp
M clang/test/CodeGenCXX/vtable-pointer-initialization-address-space.cpp
M clang/test/CodeGenCXX/vtt-address-space.cpp
M clang/test/CodeGenCXX/weak-extern-typeinfo.cpp
M clang/test/CodeGenCXX/weak-init.cpp
M clang/test/CodeGenCXX/windows-itanium-type-info.cpp
A clang/test/CodeGenHIP/amdgpu-barrier-type.hip
M clang/test/CodeGenHIP/hipspv-addr-spaces.cpp
A clang/test/CodeGenHLSL/ArrayAssignable.hlsl
M clang/test/CodeGenHLSL/ArrayTemporary.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/OutputArguments.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
M clang/test/CodeGenHLSL/GlobalConstructors.hlsl
M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
M clang/test/CodeGenHLSL/basic_types.hlsl
M clang/test/CodeGenHLSL/buffer-array-operator.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-annotations.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/RasterizerOrderedBuffer-annotations.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffer-annotations.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffer-subscript.hlsl
A clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
A clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
A clang/test/CodeGenHLSL/builtins/WaveReadLaneAt.hlsl
M clang/test/CodeGenHLSL/builtins/abs.hlsl
A clang/test/CodeGenHLSL/builtins/asint.hlsl
A clang/test/CodeGenHLSL/builtins/atan2.hlsl
M clang/test/CodeGenHLSL/builtins/ceil.hlsl
M clang/test/CodeGenHLSL/builtins/clamp.hlsl
M clang/test/CodeGenHLSL/builtins/cos.hlsl
M clang/test/CodeGenHLSL/builtins/countbits.hlsl
R clang/test/CodeGenHLSL/builtins/create_handle.hlsl
A clang/test/CodeGenHLSL/builtins/cross.hlsl
A clang/test/CodeGenHLSL/builtins/degrees.hlsl
M clang/test/CodeGenHLSL/builtins/exp.hlsl
M clang/test/CodeGenHLSL/builtins/exp2.hlsl
M clang/test/CodeGenHLSL/builtins/floor.hlsl
A clang/test/CodeGenHLSL/builtins/fmod.hlsl
M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
M clang/test/CodeGenHLSL/builtins/log.hlsl
M clang/test/CodeGenHLSL/builtins/log10.hlsl
M clang/test/CodeGenHLSL/builtins/log2.hlsl
M clang/test/CodeGenHLSL/builtins/max.hlsl
M clang/test/CodeGenHLSL/builtins/min.hlsl
M clang/test/CodeGenHLSL/builtins/pow.hlsl
A clang/test/CodeGenHLSL/builtins/radians.hlsl
M clang/test/CodeGenHLSL/builtins/round.hlsl
M clang/test/CodeGenHLSL/builtins/saturate.hlsl
M clang/test/CodeGenHLSL/builtins/sign.hlsl
M clang/test/CodeGenHLSL/builtins/sin.hlsl
A clang/test/CodeGenHLSL/builtins/splitdouble.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
M clang/test/CodeGenHLSL/builtins/trunc.hlsl
M clang/test/CodeGenHLSL/builtins/wave_get_lane_index_do_while.hlsl
M clang/test/CodeGenHLSL/builtins/wave_get_lane_index_simple.hlsl
M clang/test/CodeGenHLSL/builtins/wave_get_lane_index_subcall.hlsl
M clang/test/CodeGenHLSL/builtins/wave_is_first_lane.hlsl
M clang/test/CodeGenHLSL/cbuf.hlsl
M clang/test/CodeGenHLSL/convergence/do.while.hlsl
A clang/test/CodeGenHLSL/convergence/entry.point.hlsl
M clang/test/CodeGenHLSL/convergence/for.hlsl
M clang/test/CodeGenHLSL/convergence/while.hlsl
M clang/test/CodeGenHLSL/entry.hlsl
M clang/test/CodeGenHLSL/export.hlsl
M clang/test/CodeGenHLSL/float3.hlsl
M clang/test/CodeGenHLSL/group_shared.hlsl
M clang/test/CodeGenHLSL/half.hlsl
M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
M clang/test/CodeGenHLSL/inline-constructors.hlsl
M clang/test/CodeGenHLSL/inline-functions.hlsl
M clang/test/CodeGenHLSL/semantics/DispatchThreadID.hlsl
M clang/test/CodeGenHLSL/semantics/GroupIndex-codegen.hlsl
M clang/test/CodeGenHLSL/shift-mask.hlsl
M clang/test/CodeGenHLSL/sret_output.hlsl
M clang/test/CodeGenHLSL/static-local-ctor.hlsl
M clang/test/CodeGenHLSL/static_global_and_function_in_cb.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/aarch64-sve-types.m
M clang/test/CodeGenObjC/designated-initializers.m
M clang/test/CodeGenObjCXX/rtti.mm
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgcn-automatic-variable.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/amdgpu-nullptr.cl
A clang/test/CodeGenOpenCL/atomic-builtins-default-to-device-scope.cl
M clang/test/CodeGenOpenCL/atomic-ops.cl
M clang/test/CodeGenOpenCL/atomics-unsafe-hw-remarks-gfx90a.cl
M clang/test/CodeGenOpenCL/blocks.cl
M clang/test/CodeGenOpenCL/builtins-alloca.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx940.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-vi.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx8.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl
M clang/test/CodeGenOpenCL/enqueue-kernel-non-entry-block.cl
M clang/test/CodeGenOpenCL/opencl_types.cl
M clang/test/CodeGenOpenCL/pipe_builtin.cl
M clang/test/CodeGenOpenCLCXX/local_addrspace_init.clcpp
M clang/test/CoverageMapping/branch-constfolded.cpp
M clang/test/CoverageMapping/if.cpp
M clang/test/CoverageMapping/macro-expansion.c
M clang/test/CoverageMapping/mcdc-scratch-space.c
M clang/test/CoverageMapping/mcdc-system-headers.cpp
M clang/test/CoverageMapping/switch.cpp
M clang/test/CoverageMapping/switchmacro.c
M clang/test/Driver/B-opt.c
A clang/test/Driver/Inputs/multilib/empty.yaml
A clang/test/Driver/XRay/xray-shared.cpp
M clang/test/Driver/Xlinker-args.c
M clang/test/Driver/aarch64-multilib-rcpc3.c
A clang/test/Driver/aarch64-v96a.c
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/amdgpu-toolchain.c
M clang/test/Driver/arm-cortex-cpus-1.c
M clang/test/Driver/arm-cortex-cpus-2.c
M clang/test/Driver/arm-execute-only.c
M clang/test/Driver/as-options.s
M clang/test/Driver/autocomplete.c
M clang/test/Driver/avr-mmcu.c
M clang/test/Driver/baremetal-multilib-custom-error.yaml
M clang/test/Driver/baremetal-multilib-exclusive-group.yaml
M clang/test/Driver/baremetal-multilib-group-error.yaml
M clang/test/Driver/baremetal-multilib-layered.yaml
M clang/test/Driver/baremetal-multilib.yaml
M clang/test/Driver/cl-options.c
M clang/test/Driver/cl-zc.cpp
M clang/test/Driver/clang_f_opts.c
M clang/test/Driver/config-file-errs.c
M clang/test/Driver/cuda-cross-compiling.c
A clang/test/Driver/cuda-short-ptr.cu
M clang/test/Driver/dxc_E.hlsl
M clang/test/Driver/fbasic-block-sections.c
M clang/test/Driver/flang/flang.f90
M clang/test/Driver/flang/flang_ucase.F90
M clang/test/Driver/flang/multiple-inputs-mixed.f90
M clang/test/Driver/flang/multiple-inputs.f90
A clang/test/Driver/fprofile-generate-cold-function-coverage.c
M clang/test/Driver/fveclib.c
M clang/test/Driver/hip-include-path.hip
M clang/test/Driver/hip-link-save-temps.hip
M clang/test/Driver/hip-partial-link.hip
M clang/test/Driver/hip-runtime-libs-msvc.hip
M clang/test/Driver/hip-save-temps.hip
M clang/test/Driver/hip-toolchain-rdc-separate.hip
M clang/test/Driver/hip-toolchain-rdc-static-lib.hip
M clang/test/Driver/hip-toolchain-rdc.hip
M clang/test/Driver/hip-unbundle-preproc.hipi
M clang/test/Driver/hipspv-toolchain-rdc.hip
M clang/test/Driver/hipstdpar.c
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/lld-repro.c
A clang/test/Driver/loongarch-mannotate-tablejump.c
M clang/test/Driver/loongarch-march.c
A clang/test/Driver/loongarch-mfrecipe.c
A clang/test/Driver/loongarch-mlam-bh.c
M clang/test/Driver/lto.c
M clang/test/Driver/notypecheck.s
M clang/test/Driver/nvlink-wrapper.c
M clang/test/Driver/print-multi-selection-flags.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/ps5-linker.c
M clang/test/Driver/relax.s
R clang/test/Driver/renderscript.rs
M clang/test/Driver/response-file-errs.c
M clang/test/Driver/riscv-profiles.c
M clang/test/Driver/riscv32-toolchain.c
M clang/test/Driver/riscv64-toolchain.c
M clang/test/Driver/stack-protector-guard.c
M clang/test/Driver/target-as.s
M clang/test/Driver/thinlto.c
M clang/test/Driver/thinlto.cu
M clang/test/Driver/unknown-std.c
M clang/test/Driver/wasm-features.c
M clang/test/Driver/x86-target-features.c
A clang/test/Driver/zos-pragma-pack.c
M clang/test/ExtractAPI/anonymous_record_no_typedef.c
M clang/test/ExtractAPI/typedef_anonymous_record.c
M clang/test/FixIt/fixit-c++11.cpp
M clang/test/FixIt/member-mismatch.cpp
M clang/test/Format/clang-format-ignore.cpp
A clang/test/Format/dry-run-warning.cpp
A clang/test/Format/error-unfound-files.cpp
M clang/test/Frontend/amdgcn-machine-analysis-remarks.cl
M clang/test/Frontend/fixed_point_comparisons.c
M clang/test/Frontend/fixed_point_conversions_const.c
M clang/test/Frontend/fixed_point_crash.c
M clang/test/Frontend/fixed_point_div_const.c
M clang/test/Frontend/fixed_point_errors.c
A clang/test/Frontend/highlight-text.c
M clang/test/Frontend/plugin-attribute.cpp
M clang/test/Headers/Inputs/include/setjmp.h
A clang/test/Headers/crash-instantiated-in-scope-cxx-modules.cpp
A clang/test/Headers/crash-instantiated-in-scope-cxx-modules2.cpp
A clang/test/Headers/crash-instantiated-in-scope-cxx-modules3.cpp
A clang/test/Headers/header-unit-common-cmp-cat.cpp
A clang/test/Headers/header_unit_preprocessed_output.cpp
A clang/test/Headers/import_header_unit_after_pragma.cpp
M clang/test/Headers/ms-intrin.cpp
M clang/test/Headers/opencl-c-header.cl
M clang/test/Headers/wasm.c
M clang/test/Index/pipe-size.cl
M clang/test/Lexer/gnu-flags.c
A clang/test/Misc/cc1as-output-asm-variant.c
M clang/test/Misc/constexpr-subobj-init-source-ranges.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
M clang/test/Misc/target-invalid-cpu-note/arm.c
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
M clang/test/Misc/warning-wall.c
A clang/test/Modules/GH109879-1.cpp
A clang/test/Modules/GH109879-2.cpp
M clang/test/Modules/cxx-templates.cpp
M clang/test/Modules/cxx20-include-translation.cpp
M clang/test/Modules/embed-files-compressed.cpp
M clang/test/Modules/friend-definition-2.cpp
A clang/test/Modules/gh110401.cppm
A clang/test/Modules/lambda-definitions.cppm
M clang/test/Modules/no-external-type-id.cppm
M clang/test/Modules/pr97313.cppm
A clang/test/Modules/static-initializer.cppm
A clang/test/Modules/string-literal-uniqueness.cpp
M clang/test/OpenMP/amdgcn-attributes.cpp
M clang/test/OpenMP/bug57757.cpp
M clang/test/OpenMP/declare_variant_device_isa_codegen_1.c
M clang/test/OpenMP/interchange_ast_print.cpp
M clang/test/OpenMP/interchange_codegen.cpp
M clang/test/OpenMP/interchange_messages.cpp
M clang/test/OpenMP/lit.local.cfg
M clang/test/OpenMP/target_parallel_for_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_private_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_private_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/target_teams_map_codegen.cpp
M clang/test/Options/enable_16bit_types_validation_spirv.hlsl
M clang/test/PCH/cxx2a-constraints-crash.cpp
M clang/test/Parser/colon-colon-parentheses.cpp
M clang/test/Parser/cxx-ambig-paren-expr-asan.cpp
M clang/test/Parser/cxx-class.cpp
M clang/test/Parser/cxx11-user-defined-literals.cpp
M clang/test/Parser/cxx2c-pack-indexing.cpp
M clang/test/ParserHLSL/hlsl_contained_type_attr.hlsl
M clang/test/ParserHLSL/hlsl_contained_type_attr_error.hlsl
M clang/test/ParserHLSL/hlsl_is_rov_attr.hlsl
M clang/test/ParserHLSL/hlsl_is_rov_attr_error.hlsl
M clang/test/ParserHLSL/hlsl_raw_buffer_attr.hlsl
M clang/test/ParserHLSL/hlsl_raw_buffer_attr_error.hlsl
M clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
M clang/test/ParserHLSL/hlsl_resource_class_attr_error.hlsl
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/arm-target-features.c
M clang/test/Preprocessor/bpf-predefined-macros.c
A clang/test/Preprocessor/embed_zos.c
M clang/test/Preprocessor/feature_tests.cpp
M clang/test/Preprocessor/init-loongarch.c
M clang/test/Preprocessor/predefined-arch-macros.c
M clang/test/Preprocessor/predefined-macros-no-warnings.c
M clang/test/Preprocessor/predefined-win-macros.c
M clang/test/Preprocessor/riscv-target-features.c
A clang/test/Preprocessor/time64.c
M clang/test/Preprocessor/wasm-target-features.c
M clang/test/Preprocessor/x86_target_features.c
M clang/test/Sema/aarch64-neon-target.c
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_imm.cpp
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c
M clang/test/Sema/aarch64-streaming-sme-or-nonstreaming-sve-builtins.c
M clang/test/Sema/aarch64-sve-types.c
M clang/test/Sema/aarch64-sve-vector-pow-ops.c
M clang/test/Sema/aarch64-sve-vector-trig-ops.c
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2.cpp
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_aes_bitperm_sha3_sm4.cpp
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_bfloat.cpp
M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_b16b16.cpp
A clang/test/Sema/aarch64-vcmla-undef.c
M clang/test/Sema/annotate-type.c
M clang/test/Sema/annotate.c
M clang/test/Sema/arithmetic-fence-builtin.c
A clang/test/Sema/arm-mfp8.c
A clang/test/Sema/arm-mfp8.cpp
M clang/test/Sema/asm.c
M clang/test/Sema/attr-availability.c
A clang/test/Sema/attr-nonblocking-constraints-ms.cpp
A clang/test/Sema/attr-nonblocking-constraints.c
A clang/test/Sema/attr-nonblocking-constraints.cpp
M clang/test/Sema/attr-nonblocking-sema.cpp
M clang/test/Sema/attr-nonblocking-syntax.cpp
M clang/test/Sema/attr-target-clones-aarch64.c
M clang/test/Sema/attr-target-version.c
A clang/test/Sema/avr-size-align.c
M clang/test/Sema/builtin-assume-aligned.c
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/Sema/builtins-reduction-math.c
M clang/test/Sema/builtins.c
A clang/test/Sema/caret-diags-register-variable.cpp
M clang/test/Sema/constant-builtins-2.c
A clang/test/Sema/constant-builtins-fmaximum-num.cpp
A clang/test/Sema/constant-builtins-fminimum-num.cpp
M clang/test/Sema/constexpr.c
M clang/test/Sema/diagnose_if.c
M clang/test/Sema/exprs.c
M clang/test/Sema/fp16vec-sema.c
R clang/test/Sema/renderscript.rs
M clang/test/Sema/riscv-asm.c
M clang/test/Sema/riscv-rvv-vector-trig-ops.c
M clang/test/Sema/riscv-sve-vector-pow-ops.c
M clang/test/Sema/scoped-atomic-ops.c
M clang/test/Sema/unbounded-array-bounds.c
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/SemaCUDA/fp16-arg-return.cu
A clang/test/SemaCXX/GH41441.cpp
A clang/test/SemaCXX/GH95854.cpp
R clang/test/SemaCXX/PR84020.cpp
M clang/test/SemaCXX/alloc-align-attr.cpp
A clang/test/SemaCXX/amdgpu-barrier.cpp
M clang/test/SemaCXX/attr-gsl-owner-pointer-std.cpp
M clang/test/SemaCXX/attr-lifetimebound.cpp
M clang/test/SemaCXX/attr-musttail.cpp
M clang/test/SemaCXX/attr-target-clones-riscv.cpp
M clang/test/SemaCXX/attr-target-mv.cpp
A clang/test/SemaCXX/attr-target-version-riscv.cpp
M clang/test/SemaCXX/attr-target-version.cpp
A clang/test/SemaCXX/block-packs.cpp
M clang/test/SemaCXX/builtin-assume-aligned-tmpl.cpp
M clang/test/SemaCXX/builtin-assume-aligned.cpp
M clang/test/SemaCXX/builtins-elementwise-math.cpp
M clang/test/SemaCXX/builtins.cpp
M clang/test/SemaCXX/c99-variable-length-array.cpp
M clang/test/SemaCXX/conditional-expr.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constant-expression-cxx14.cpp
M clang/test/SemaCXX/constexpr-builtin-bit-cast.cpp
M clang/test/SemaCXX/constexpr-vectors.cpp
M clang/test/SemaCXX/cxx11-user-defined-literals-unused.cpp
M clang/test/SemaCXX/cxx11-user-defined-literals.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/cxx98-compat.cpp
M clang/test/SemaCXX/deprecated.cpp
R clang/test/SemaCXX/diagnose_if-warning-group.cpp
M clang/test/SemaCXX/enable_if.cpp
M clang/test/SemaCXX/fold_lambda_with_variadics.cpp
M clang/test/SemaCXX/function-redecl.cpp
A clang/test/SemaCXX/gh113468.cpp
A clang/test/SemaCXX/lambda-attributes.cpp
M clang/test/SemaCXX/lambda-capture-type-deduction.cpp
M clang/test/SemaCXX/lambda-conversion-op-cc.cpp
M clang/test/SemaCXX/lambda-pack-expansion.cpp
M clang/test/SemaCXX/lambda-unevaluated.cpp
M clang/test/SemaCXX/literal-operators.cpp
M clang/test/SemaCXX/nested-name-spec.cpp
M clang/test/SemaCXX/no-warn-user-defined-literals-in-system-headers.cpp
A clang/test/SemaCXX/noescape-attr.cpp
M clang/test/SemaCXX/out-of-line-def-mismatch.cpp
A clang/test/SemaCXX/pragma-pack-packed-2.cpp
A clang/test/SemaCXX/ptrauth-sign-constant.cpp
M clang/test/SemaCXX/reserved-identifier.cpp
A clang/test/SemaCXX/type-trait-common-type.cpp
M clang/test/SemaCXX/typeid-ref.cpp
M clang/test/SemaCXX/typo-correction.cpp
M clang/test/SemaCXX/virtual-override.cpp
M clang/test/SemaCXX/warn-assignment-condition.cpp
A clang/test/SemaCXX/warn-memaccess.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-function-attr.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-in-container-span-construct.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-no-libc-functions-in-c.c
M clang/test/SemaCXX/warn-unsafe-buffer-usage-warning-data-invocation.cpp
M clang/test/SemaCXX/warn-xor-as-pow.cpp
A clang/test/SemaHIP/amdgpu-barrier.hip
A clang/test/SemaHLSL/ArrayAssignable_errors.hlsl
A clang/test/SemaHLSL/BuiltIns/WaveGetLaneIndex-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/WaveReadLaneAt-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/asint-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/countbits-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/cross-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/degrees-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/half-float-only-errors2.hlsl
R clang/test/SemaHLSL/BuiltIns/pow-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/radians-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/splitdouble-errors.hlsl
A clang/test/SemaHLSL/Language/UsualArithmeticConversions.hlsl
M clang/test/SemaHLSL/Types/Traits/IsIntangibleType.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_udt.hlsl
M clang/test/SemaObjC/aarch64-sve-types.m
A clang/test/SemaObjCXX/attr-nonblocking-constraints.mm
M clang/test/SemaObjCXX/noescape.mm
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
A clang/test/SemaOpenACC/loop-construct-collapse-ast.cpp
A clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
A clang/test/SemaOpenACC/loop-construct-gang-ast.cpp
A clang/test/SemaOpenACC/loop-construct-gang-clause.cpp
A clang/test/SemaOpenACC/loop-construct-tile-ast.cpp
A clang/test/SemaOpenACC/loop-construct-tile-clause.cpp
A clang/test/SemaOpenACC/loop-construct-vector-ast.cpp
A clang/test/SemaOpenACC/loop-construct-vector-clause.cpp
A clang/test/SemaOpenACC/loop-construct-worker-ast.cpp
A clang/test/SemaOpenACC/loop-construct-worker-clause.cpp
A clang/test/SemaOpenCL/amdgpu-barrier.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx9.cl
A clang/test/SemaOpenMP/amdgpu-barrier.cpp
M clang/test/SemaTemplate/attributes.cpp
M clang/test/SemaTemplate/concepts-lambda.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
M clang/test/SemaTemplate/concepts.cpp
M clang/test/SemaTemplate/instantiate-requires-expr.cpp
M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
A clang/test/SemaTemplate/recovery-crash-cxx20.cpp
M clang/test/SemaTemplate/recovery-crash.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
M clang/tools/CMakeLists.txt
M clang/tools/c-index-test/core_main.cpp
M clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-format/clang-format.el
M clang/tools/clang-format/git-clang-format.bat
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
M clang/tools/clang-nvlink-wrapper/NVLinkOpts.td
M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
M clang/tools/clang-refactor/ClangRefactor.cpp
M clang/tools/clang-refactor/TestSupport.cpp
M clang/tools/clang-repl/CMakeLists.txt
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/diagtool/ListWarnings.cpp
M clang/tools/diagtool/ShowEnabledWarnings.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CMakeLists.txt
M clang/tools/libclang/CXCursor.cpp
M clang/tools/libclang/CXIndexDataConsumer.cpp
M clang/tools/libclang/CXStoredDiagnostic.cpp
M clang/tools/scan-build-py/tests/unit/test_report.py
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/ByteCode/Descriptor.cpp
M clang/unittests/AST/MatchVerifier.h
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTest.h
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
A clang/unittests/Analysis/FlowSensitive/CachedConstAccessorsLatticeTest.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
M clang/unittests/Basic/DiagnosticTest.cpp
M clang/unittests/Basic/FileManagerTest.cpp
M clang/unittests/Basic/SourceManagerTest.cpp
M clang/unittests/Driver/MultilibTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestCSharp.cpp
M clang/unittests/Format/FormatTestComments.cpp
M clang/unittests/Format/FormatTestProto.cpp
M clang/unittests/Format/FormatTestVerilog.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/ASTUnitTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/CodeCompletionTest.cpp
M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
M clang/unittests/Interpreter/InterpreterTest.cpp
M clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M clang/unittests/Tooling/Syntax/BuildTreeTest.cpp
M clang/unittests/Tooling/Syntax/MutationsTest.cpp
M clang/unittests/Tooling/Syntax/SynthesisTest.cpp
M clang/unittests/Tooling/Syntax/TreeTest.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.cpp
M clang/utils/TableGen/ASTTableGen.h
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp
M clang/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp
M clang/utils/TableGen/ClangCommentHTMLTagsEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
M clang/utils/TableGen/ClangSACheckersEmitter.cpp
M clang/utils/TableGen/MveEmitter.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/analyzer/SATestBuild.py
M clang/www/analyzer/faq.html
M clang/www/analyzer/index.html
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
M clang/www/index.html
M cmake/Modules/CMakePolicy.cmake
M cmake/Modules/HandleCompilerRT.cmake
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/cmake/Modules/CompilerRTCompile.cmake
A compiler-rt/cmake/caches/hexagon-linux-builtins.cmake
A compiler-rt/cmake/caches/hexagon-linux-clangrt.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/include/fuzzer/FuzzedDataProvider.h
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/include/sanitizer/common_interface_defs.h
M compiler-rt/include/sanitizer/ubsan_interface.h
M compiler-rt/include/xray/xray_interface.h
M compiler-rt/lib/asan/asan_descriptions.cpp
M compiler-rt/lib/asan/asan_descriptions.h
M compiler-rt/lib/asan/asan_errors.cpp
M compiler-rt/lib/asan/asan_errors.h
M compiler-rt/lib/asan/asan_fuchsia.cpp
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_poisoning.cpp
M compiler-rt/lib/asan/asan_posix.cpp
M compiler-rt/lib/asan/asan_report.cpp
M compiler-rt/lib/asan/asan_report.h
M compiler-rt/lib/asan/asan_thread.cpp
M compiler-rt/lib/asan/asan_thread.h
M compiler-rt/lib/asan/asan_win_common_runtime_thunk.cpp
M compiler-rt/lib/asan/asan_win_static_runtime_thunk.cpp
M compiler-rt/lib/asan/scripts/asan_symbolize.py
M compiler-rt/lib/asan/tests/asan_str_test.cpp
M compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/apple.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/fuchsia.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
M compiler-rt/lib/builtins/cpu_model/riscv.c
M compiler-rt/lib/builtins/cpu_model/x86.c
M compiler-rt/lib/builtins/fp_lib.h
M compiler-rt/lib/dfsan/dfsan_custom.cpp
M compiler-rt/lib/fuzzer/FuzzerExtFunctionsWindows.cpp
M compiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp
M compiler-rt/lib/hwasan/CMakeLists.txt
M compiler-rt/lib/hwasan/hwasan_linux.cpp
M compiler-rt/lib/hwasan/hwasan_thread.cpp
M compiler-rt/lib/hwasan/scripts/hwasan_symbolize
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/lsan/lsan_common.cpp
M compiler-rt/lib/lsan/lsan_common.h
M compiler-rt/lib/lsan/lsan_flags.inc
M compiler-rt/lib/lsan/lsan_posix.cpp
M compiler-rt/lib/lsan/lsan_thread.cpp
M compiler-rt/lib/memprof/memprof_thread.cpp
M compiler-rt/lib/memprof/memprof_thread.h
M compiler-rt/lib/msan/msan_linux.cpp
M compiler-rt/lib/nsan/nsan.cpp
M compiler-rt/lib/nsan/nsan_flags.inc
M compiler-rt/lib/orc/common.h
M compiler-rt/lib/orc/dlfcn_wrapper.cpp
M compiler-rt/lib/orc/elfnix_platform.cpp
M compiler-rt/lib/orc/elfnix_platform.h
M compiler-rt/lib/orc/macho_platform.cpp
M compiler-rt/lib/orc/macho_platform.h
A compiler-rt/lib/orc/record_section_tracker.h
M compiler-rt/lib/profile/CMakeLists.txt
M compiler-rt/lib/profile/GCDAProfiling.c
M compiler-rt/lib/profile/InstrProfiling.h
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingInternal.h
M compiler-rt/lib/profile/InstrProfilingMerge.c
M compiler-rt/lib/profile/InstrProfilingPlatformAIX.c
M compiler-rt/lib/profile/InstrProfilingPlatformLinux.c
M compiler-rt/lib/profile/InstrProfilingPlatformOther.c
M compiler-rt/lib/profile/InstrProfilingPort.h
M compiler-rt/lib/profile/InstrProfilingUtil.c
M compiler-rt/lib/profile/InstrProfilingUtil.h
M compiler-rt/lib/rtsan/CMakeLists.txt
M compiler-rt/lib/rtsan/rtsan.cpp
M compiler-rt/lib/rtsan/rtsan.h
A compiler-rt/lib/rtsan/rtsan_assertions.h
A compiler-rt/lib/rtsan/rtsan_checks.inc
M compiler-rt/lib/rtsan/rtsan_context.cpp
M compiler-rt/lib/rtsan/rtsan_context.h
A compiler-rt/lib/rtsan/rtsan_diagnostics.cpp
A compiler-rt/lib/rtsan/rtsan_diagnostics.h
M compiler-rt/lib/rtsan/rtsan_flags.h
M compiler-rt/lib/rtsan/rtsan_flags.inc
R compiler-rt/lib/rtsan/rtsan_interceptors.cpp
A compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/rtsan_preinit.cpp
R compiler-rt/lib/rtsan/rtsan_stack.cpp
R compiler-rt/lib/rtsan/rtsan_stack.h
A compiler-rt/lib/rtsan/rtsan_stats.cpp
A compiler-rt/lib/rtsan/rtsan_stats.h
A compiler-rt/lib/rtsan/rtsan_suppressions.cpp
A compiler-rt/lib/rtsan/rtsan_suppressions.h
M compiler-rt/lib/rtsan/tests/CMakeLists.txt
A compiler-rt/lib/rtsan/tests/rtsan_test_assertions.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_context.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_functional.cpp
R compiler-rt/lib/rtsan/tests/rtsan_test_interceptors.cpp
A compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_allocator.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc
M compiler-rt/lib/sanitizer_common/sanitizer_common_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_syscalls.inc
M compiler-rt/lib/sanitizer_common/sanitizer_errno.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_errno_codes.h
M compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_interface_internal.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
M compiler-rt/lib/sanitizer_common/sanitizer_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_posix.h
M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_solaris.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
A compiler-rt/lib/sanitizer_common/sanitizer_thread_history.cpp
A compiler-rt/lib/sanitizer_common/sanitizer_thread_history.h
M compiler-rt/lib/sanitizer_common/sanitizer_thread_registry.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_thread_registry.h
M compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_chained_origin_depot_test.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_linux_test.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_posix_test.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_thread_registry_test.cpp
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/memtag.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/tests/memtag_test.cpp
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
M compiler-rt/lib/ubsan/ubsan_handlers.cpp
M compiler-rt/lib/ubsan/ubsan_handlers.h
M compiler-rt/lib/xray/CMakeLists.txt
M compiler-rt/lib/xray/xray_AArch64.cpp
M compiler-rt/lib/xray/xray_arm.cpp
A compiler-rt/lib/xray/xray_dso_init.cpp
M compiler-rt/lib/xray/xray_hexagon.cpp
M compiler-rt/lib/xray/xray_init.cpp
M compiler-rt/lib/xray/xray_interface.cpp
M compiler-rt/lib/xray/xray_interface_internal.h
M compiler-rt/lib/xray/xray_loongarch64.cpp
M compiler-rt/lib/xray/xray_mips.cpp
M compiler-rt/lib/xray/xray_mips64.cpp
M compiler-rt/lib/xray/xray_powerpc64.cpp
M compiler-rt/lib/xray/xray_trampoline_x86_64.S
M compiler-rt/lib/xray/xray_x86_64.cpp
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/asan/TestCases/Linux/preinstalled_signal.cpp
M compiler-rt/test/asan/TestCases/Linux/ptrace.cpp
M compiler-rt/test/asan/TestCases/Linux/stack-overflow-recovery-mode.cpp
M compiler-rt/test/asan/TestCases/Linux/stack-overflow-sigbus.cpp
M compiler-rt/test/asan/TestCases/Posix/coverage-fork.cpp
M compiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp
M compiler-rt/test/asan/TestCases/Windows/delay_dbghelp.cpp
A compiler-rt/test/asan/TestCases/copy_container_annotations.cpp
M compiler-rt/test/asan/TestCases/initialization-bug-no-global.cpp
M compiler-rt/test/asan/TestCases/strtol_strict.c
M compiler-rt/test/asan/Unit/lit.site.cfg.py.in
M compiler-rt/test/asan/lit.cfg.py
M compiler-rt/test/builtins/Unit/lit.cfg.py
M compiler-rt/test/builtins/Unit/multf3_test.c
M compiler-rt/test/ctx_profile/lit.cfg.py
M compiler-rt/test/fuzzer/CMakeLists.txt
M compiler-rt/test/fuzzer/strncmp.test
M compiler-rt/test/hwasan/TestCases/many-threads-uaf.c
M compiler-rt/test/hwasan/TestCases/mem-intrinsics.c
M compiler-rt/test/hwasan/TestCases/use-after-free.c
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
A compiler-rt/test/lsan/TestCases/flag_tries.c
A compiler-rt/test/lsan/TestCases/print_threads.c
M compiler-rt/test/lsan/lit.common.cfg.py
M compiler-rt/test/memprof/lit.cfg.py
A compiler-rt/test/nsan/fcmp.cpp
A compiler-rt/test/orc/TestCases/Darwin/Generic/Inputs/EmptyClassFoo.m
A compiler-rt/test/orc/TestCases/Darwin/Generic/llvm-jitlink-force-link-objc.m
A compiler-rt/test/orc/TestCases/Linux/Generic/Inputs/SetGlobalIntXInConstructor.cpp
A compiler-rt/test/orc/TestCases/Linux/Generic/llvm-jitlink-all-load.c
M compiler-rt/test/orc/lit.cfg.py
A compiler-rt/test/profile/AIX/gcov-undef-sym.test
M compiler-rt/test/profile/ContinuousSyncMode/online-merging-windows.c
M compiler-rt/test/profile/ContinuousSyncMode/runtime-counter-relocation.c
M compiler-rt/test/profile/ContinuousSyncMode/set-file-object.c
A compiler-rt/test/profile/Inputs/.gitattributes
M compiler-rt/test/profile/Posix/instrprof-dlopen-norpath.test
M compiler-rt/test/profile/Posix/instrprof-visibility.cpp
M compiler-rt/test/profile/coverage-inline.cpp
M compiler-rt/test/profile/coverage_comments.cpp
M compiler-rt/test/profile/coverage_emptylines.cpp
M compiler-rt/test/profile/instrprof-merging.cpp
M compiler-rt/test/profile/instrprof-set-file-object-merging.c
M compiler-rt/test/profile/instrprof-set-file-object.c
M compiler-rt/test/profile/instrprof-tmpdir.c
M compiler-rt/test/profile/instrprof-without-libc.c
M compiler-rt/test/profile/instrprof-write-file-atexit-explicitly.c
M compiler-rt/test/profile/instrprof-write-file-only.c
M compiler-rt/test/profile/lit.cfg.py
A compiler-rt/test/rtsan/blocking_call.cpp
A compiler-rt/test/rtsan/deduplicate_errors.cpp
A compiler-rt/test/rtsan/exit_stats.cpp
A compiler-rt/test/rtsan/exit_stats.cpp.supp
A compiler-rt/test/rtsan/halt_on_error.cpp
A compiler-rt/test/rtsan/stack_suppressions.cpp
A compiler-rt/test/rtsan/stack_suppressions.cpp.supp
A compiler-rt/test/sanitizer_common/TestCases/Darwin/freadlink.c
R compiler-rt/test/sanitizer_common/TestCases/FreeBSD/md5.cpp
R compiler-rt/test/sanitizer_common/TestCases/FreeBSD/sha2.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/prctl.cpp
R compiler-rt/test/sanitizer_common/TestCases/NetBSD/md5.cpp
R compiler-rt/test/sanitizer_common/TestCases/NetBSD/sha2.cpp
A compiler-rt/test/sanitizer_common/TestCases/Posix/variadic-open.cpp
A compiler-rt/test/sanitizer_common/TestCases/Windows/dump_registers_aarch64.cpp
A compiler-rt/test/sanitizer_common/TestCases/Windows/dump_registers_i386.cpp
A compiler-rt/test/sanitizer_common/TestCases/Windows/dump_registers_x86_64.cpp
M compiler-rt/test/sanitizer_common/android_commands/android_compile.py
M compiler-rt/test/sanitizer_common/ios_commands/iossim_compile.py
R compiler-rt/test/tsan/Darwin/variadic-open.cpp
A compiler-rt/test/ubsan/TestCases/Integer/suppressions-builtin.cpp
R compiler-rt/test/ubsan/TestCases/Misc/Linux/diag-stacktrace.cpp
R compiler-rt/test/ubsan/TestCases/Misc/Linux/lit.local.cfg.py
R compiler-rt/test/ubsan/TestCases/Misc/Linux/print_stack_trace.cpp
R compiler-rt/test/ubsan/TestCases/Misc/Linux/sigaction.cpp
R compiler-rt/test/ubsan/TestCases/Misc/Linux/static-link.cpp
R compiler-rt/test/ubsan/TestCases/Misc/Linux/ubsan_options.cpp
A compiler-rt/test/ubsan/TestCases/Misc/Posix/diag-stacktrace.cpp
A compiler-rt/test/ubsan/TestCases/Misc/Posix/lit.local.cfg.py
A compiler-rt/test/ubsan/TestCases/Misc/Posix/print_stack_trace.cpp
A compiler-rt/test/ubsan/TestCases/Misc/Posix/sigaction.cpp
A compiler-rt/test/ubsan/TestCases/Misc/Posix/static-link.cpp
A compiler-rt/test/ubsan/TestCases/Misc/Posix/ubsan_options.cpp
M compiler-rt/test/ubsan/TestCases/Misc/builtins.cpp
M compiler-rt/test/ubsan/lit.common.cfg.py
M compiler-rt/test/ubsan_minimal/lit.common.cfg.py
A compiler-rt/test/xray/TestCases/Posix/basic-mode-dso.cpp
A compiler-rt/test/xray/TestCases/Posix/clang-xray-shared.cpp
A compiler-rt/test/xray/TestCases/Posix/dlopen.cpp
A compiler-rt/test/xray/TestCases/Posix/dso-dep-chains.cpp
A compiler-rt/test/xray/TestCases/Posix/patch-premain-dso.cpp
A compiler-rt/test/xray/TestCases/Posix/patching-unpatching-dso.cpp
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/lldb/LLDB.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/visualstudio/VisualStudio.py
M cross-project-tests/debuginfo-tests/dexter/dex/tools/Main.py
M cross-project-tests/debuginfo-tests/dexter/dex/tools/help/Tool.py
A cross-project-tests/debuginfo-tests/dexter/dex/utils/Imports.py
M flang/cmake/modules/AddFlangOffloadRuntime.cmake
M flang/docs/Extensions.md
M flang/docs/FlangDriver.md
M flang/docs/GettingInvolved.md
M flang/docs/ImplementingASemanticCheck.md
M flang/docs/Intrinsics.md
M flang/docs/OptionComparison.md
M flang/docs/Overview.md
M flang/examples/FeatureList/FeatureList.cpp
M flang/examples/FlangOmpReport/FlangOmpReport.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.h
M flang/include/flang/Common/Fortran-features.h
A flang/include/flang/Common/LangOptions.def
A flang/include/flang/Common/LangOptions.h
A flang/include/flang/Common/erfc-scaled.h
M flang/include/flang/Common/format.h
M flang/include/flang/Evaluate/target.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Frontend/CompilerInvocation.h
M flang/include/flang/Frontend/FrontendPluginRegistry.h
R flang/include/flang/Frontend/LangOptions.def
R flang/include/flang/Frontend/LangOptions.h
M flang/include/flang/Frontend/PreprocessorOptions.h
M flang/include/flang/Frontend/TargetOptions.h
M flang/include/flang/Lower/Bridge.h
M flang/include/flang/Lower/CallInterface.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
M flang/include/flang/Optimizer/Builder/Complex.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/PPCIntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/include/flang/Optimizer/CodeGen/CodeGenOpenMP.h
M flang/include/flang/Optimizer/CodeGen/Target.h
M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
A flang/include/flang/Optimizer/Dialect/CUF/CUFToLLVMIRTranslation.h
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
M flang/include/flang/Optimizer/HLFIR/HLFIROpBase.td
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/OpenMP/Passes.td
A flang/include/flang/Optimizer/Passes/CommandLineOpts.h
A flang/include/flang/Optimizer/Passes/Pipelines.h
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/include/flang/Optimizer/Support/InternalNames.h
M flang/include/flang/Optimizer/Support/Utils.h
A flang/include/flang/Optimizer/Transforms/CUFCommon.h
A flang/include/flang/Optimizer/Transforms/CUFGPUToLLVMConversion.h
A flang/include/flang/Optimizer/Transforms/CUFOpConversion.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/message.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Parser/parsing.h
M flang/include/flang/Runtime/CUDA/common.h
A flang/include/flang/Runtime/CUDA/kernel.h
M flang/include/flang/Runtime/CUDA/memory.h
A flang/include/flang/Runtime/CUDA/registration.h
M flang/include/flang/Runtime/allocator-registry.h
M flang/include/flang/Runtime/extensions.h
M flang/include/flang/Runtime/magic-numbers.h
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Semantics/openmp-directive-sets.h
A flang/include/flang/Semantics/program-tree.h
M flang/include/flang/Semantics/scope.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Semantics/type.h
R flang/include/flang/Tools/CLOptions.inc
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/include/flang/Tools/TargetSetup.h
M flang/lib/Common/CMakeLists.txt
M flang/lib/Common/Fortran-features.cpp
A flang/lib/Common/LangOptions.cpp
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/common.cpp
M flang/lib/Evaluate/fold-character.cpp
M flang/lib/Evaluate/fold-complex.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/fold-logical.cpp
M flang/lib/Evaluate/fold-matmul.h
M flang/lib/Evaluate/fold-real.cpp
M flang/lib/Evaluate/fold-reduction.h
M flang/lib/Evaluate/host.cpp
M flang/lib/Evaluate/intrinsics-library.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Evaluate/type.cpp
M flang/lib/Evaluate/variable.cpp
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendAction.cpp
M flang/lib/Frontend/FrontendActions.cpp
R flang/lib/Frontend/LangOptions.cpp
M flang/lib/Frontend/TextDiagnosticPrinter.cpp
M flang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertConstant.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/IO.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/OpenMP.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Analysis/CMakeLists.txt
M flang/lib/Optimizer/Builder/Complex.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
M flang/lib/Optimizer/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/CodeGenOpenMP.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
A flang/lib/Optimizer/Dialect/CUF/CUFToLLVMIRTranslation.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/Dialect/Support/FIRContext.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
A flang/lib/Optimizer/Passes/CMakeLists.txt
A flang/lib/Optimizer/Passes/CommandLineOpts.cpp
A flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Support/InternalNames.cpp
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
A flang/lib/Optimizer/Transforms/CUFCommon.cpp
A flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
A flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
A flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
R flang/lib/Optimizer/Transforms/CufOpConversion.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
M flang/lib/Optimizer/Transforms/StackArrays.cpp
M flang/lib/Parser/message.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
M flang/lib/Parser/program-parsers.cpp
M flang/lib/Parser/stmt-parser.h
M flang/lib/Parser/type-parsers.h
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-allocate.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-call.h
M flang/lib/Semantics/check-case.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-data.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-directive-structure.h
M flang/lib/Semantics/check-do-forall.cpp
M flang/lib/Semantics/check-io.cpp
M flang/lib/Semantics/check-namelist.cpp
M flang/lib/Semantics/check-namelist.h
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/check-return.cpp
M flang/lib/Semantics/compute-offsets.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/mod-file.cpp
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Semantics/program-tree.cpp
R flang/lib/Semantics/program-tree.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-labels.cpp
M flang/lib/Semantics/resolve-names-utils.cpp
M flang/lib/Semantics/resolve-names-utils.h
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/rewrite-parse-tree.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/tools.cpp
M flang/runtime/CMakeLists.txt
M flang/runtime/CUDA/CMakeLists.txt
A flang/runtime/CUDA/kernel.cpp
M flang/runtime/CUDA/memory.cpp
A flang/runtime/CUDA/registration.cpp
M flang/runtime/Float128Math/CMakeLists.txt
M flang/runtime/Float128Math/math-entries.h
A flang/runtime/Float128Math/nearbyint.cpp
M flang/runtime/extensions.cpp
M flang/runtime/io-stmt.cpp
M flang/runtime/io-stmt.h
M flang/runtime/numeric-templates.h
M flang/test/Analysis/AliasAnalysis/alias-analysis-3.fir
A flang/test/Analysis/AliasAnalysis/alias-analysis-9.fir
A flang/test/Analysis/AliasAnalysis/alias-analysis-omp-target-1.fir
A flang/test/Analysis/AliasAnalysis/alias-analysis-omp-target-2.fir
M flang/test/Analysis/AliasAnalysis/ptr-component.fir
M flang/test/CMakeLists.txt
A flang/test/Driver/B-opt.f90
A flang/test/Driver/Inputs/B_opt_tree/dir1/i386-unknown-linux-ld
A flang/test/Driver/Inputs/B_opt_tree/dir1/ld
A flang/test/Driver/Inputs/B_opt_tree/dir2/ld
A flang/test/Driver/Inputs/B_opt_tree/dir3/prefix-ld
M flang/test/Driver/aarch64-outline-atomics.f90
A flang/test/Driver/atomic.f90
M flang/test/Driver/color-diagnostics-forwarding.f90
M flang/test/Driver/color-diagnostics-parse.f90
M flang/test/Driver/color-diagnostics-scan.f
M flang/test/Driver/color-diagnostics-sema.f90
M flang/test/Driver/color-diagnostics.f90
M flang/test/Driver/compiler-options.f90
M flang/test/Driver/convert.f90
M flang/test/Driver/default-backend-pipelines.f90
M flang/test/Driver/disable-ext-name-interop.f90
M flang/test/Driver/driver-version.f90
M flang/test/Driver/embed.f90
M flang/test/Driver/escaped-backslash.f90
M flang/test/Driver/fdefault.f90
M flang/test/Driver/flarge-sizes.f90
M flang/test/Driver/fopenmp.f90
M flang/test/Driver/frame-pointer-forwarding.f90
A flang/test/Driver/frecord-command-line.f90
M flang/test/Driver/frontend-forwarding.f90
M flang/test/Driver/hlfir-no-hlfir-error.f90
A flang/test/Driver/integer-overflow.f90
M flang/test/Driver/intrinsic-module-path.f90
M flang/test/Driver/large-data-threshold.f90
M flang/test/Driver/lto-flags.f90
A flang/test/Driver/mabi.f90
M flang/test/Driver/macro-def-undef.F90
M flang/test/Driver/missing-input.f90
M flang/test/Driver/multiple-input-files.f90
M flang/test/Driver/omp-driver-offload.f90
M flang/test/Driver/predefined-macros-compiler-version.F90
M flang/test/Driver/std2018-wrong.f90
M flang/test/Driver/std2018.f90
M flang/test/Driver/supported-suffices/f03-suffix.f03
M flang/test/Driver/supported-suffices/f08-suffix.f08
M flang/test/Driver/target-cpu-features.f90
M flang/test/Driver/use-module-error.f90
M flang/test/Driver/use-module.f90
M flang/test/Driver/version-loops.f90
M flang/test/Driver/wextra-ok.f90
A flang/test/Driver/xoffload-linker.f90
M flang/test/Evaluate/errors01.f90
A flang/test/Evaluate/fold-erfc-scaled.f90
M flang/test/Examples/omp-in-reduction-clause.f90
M flang/test/Examples/omp-order-clause.f90
A flang/test/Fir/CUDA/cuda-alloc-free.fir
M flang/test/Fir/CUDA/cuda-allocate.fir
A flang/test/Fir/CUDA/cuda-constructor-2.f90
A flang/test/Fir/CUDA/cuda-constructor.f90
M flang/test/Fir/CUDA/cuda-data-transfer.fir
A flang/test/Fir/CUDA/cuda-device-global.f90
A flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir
A flang/test/Fir/CUDA/cuda-implicit-device-global.f90
A flang/test/Fir/CUDA/cuda-launch.fir
A flang/test/Fir/CUDA/cuda-register-func.fir
M flang/test/Fir/OpenACC/legalize-data.fir
A flang/test/Fir/abstract-results-bindc.fir
M flang/test/Fir/array-copies-pointers.fir
M flang/test/Fir/box.fir
M flang/test/Fir/compare.fir
M flang/test/Fir/constant.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/convert-to-llvm.fir
M flang/test/Fir/convert.fir
M flang/test/Fir/cuf-invalid.fir
M flang/test/Fir/dispatch.f90
M flang/test/Fir/embox-char.fir
M flang/test/Fir/fir-ops.fir
M flang/test/Fir/fir-types.fir
M flang/test/Fir/invalid-types.fir
M flang/test/Fir/invalid.fir
M flang/test/Fir/optional.fir
M flang/test/Fir/polymorphic.fir
M flang/test/Fir/rebox.fir
M flang/test/Fir/struct-passing-x86-64-byval.fir
A flang/test/Fir/struct-return-x86-64.fir
M flang/test/Fir/target-complex16.f90
M flang/test/Fir/target-rewrite-arg-position.fir
M flang/test/Fir/target-rewrite-complex-10-x86.fir
M flang/test/Fir/target-rewrite-complex.fir
M flang/test/Fir/target-rewrite-complex16.fir
M flang/test/Fir/target-rewrite-selective.fir
M flang/test/Fir/target.fir
M flang/test/Fir/tbaa.fir
M flang/test/Fir/types-to-llvm.fir
M flang/test/Fir/undo-complex-pattern.fir
M flang/test/HLFIR/assign-codegen.fir
A flang/test/HLFIR/assign-side-effects.fir
M flang/test/HLFIR/assign.fir
M flang/test/HLFIR/associate.fir
M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
M flang/test/HLFIR/designate-codegen-complex-part.fir
M flang/test/HLFIR/designate.fir
M flang/test/HLFIR/hlfir-flags.f90
M flang/test/HLFIR/invalid.fir
M flang/test/HLFIR/opt-scalar-assign.fir
A flang/test/HLFIR/order_assignments/vector-subscripts-scheduling.fir
M flang/test/HLFIR/order_assignments/where-scheduling.f90
A flang/test/Integration/OpenMP/atomic-capture-complex.f90
A flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
A flang/test/Integration/OpenMP/private-global.f90
M flang/test/Integration/debug-allocatable-1.f90
M flang/test/Integration/debug-assumed-shape-array.f90
M flang/test/Integration/debug-assumed-size-array.f90
A flang/test/Integration/debug-cyclic-derived-type-2.f90
M flang/test/Integration/debug-cyclic-derived-type.f90
A flang/test/Integration/debug-extra-global-2.f90
A flang/test/Integration/debug-extra-global.f90
M flang/test/Integration/debug-fixed-array-type-2.f90
M flang/test/Integration/debug-local-var-2.f90
M flang/test/Integration/debug-ptr-type.f90
A flang/test/Integration/debug-variable-array-dim.f90
M flang/test/Intrinsics/math-codegen.fir
M flang/test/Lower/CUDA/cuda-device-proc.cuf
M flang/test/Lower/HLFIR/array-ctor-as-elemental-nested.f90
M flang/test/Lower/HLFIR/array-ctor-as-elemental.f90
M flang/test/Lower/HLFIR/array-ctor-as-inlined-temp.f90
M flang/test/Lower/HLFIR/assignment-intrinsics.f90
M flang/test/Lower/HLFIR/assumed-rank-calls.f90
M flang/test/Lower/HLFIR/assumed-rank-entry.f90
M flang/test/Lower/HLFIR/assumed-rank-inquiries-2.f90
M flang/test/Lower/HLFIR/assumed-rank-inquiries-3.f90
M flang/test/Lower/HLFIR/assumed-rank-inquiries.f90
M flang/test/Lower/HLFIR/assumed-rank-internal-proc.f90
M flang/test/Lower/HLFIR/binary-ops.f90
M flang/test/Lower/HLFIR/bindc-value-derived.f90
M flang/test/Lower/HLFIR/block_bindc_pocs.f90
M flang/test/Lower/HLFIR/calls-f77.f90
M flang/test/Lower/HLFIR/calls-percent-val-ref.f90
M flang/test/Lower/HLFIR/constant.f90
M flang/test/Lower/HLFIR/conversion-ops.f90
M flang/test/Lower/HLFIR/convert-variable-assumed-rank.f90
M flang/test/Lower/HLFIR/designators-component-ref.f90
M flang/test/Lower/HLFIR/designators.f90
M flang/test/Lower/HLFIR/elemental-array-ops.f90
M flang/test/Lower/HLFIR/elemental-user-procedure-ref.f90
M flang/test/Lower/HLFIR/entry_return.f90
M flang/test/Lower/HLFIR/forall.f90
M flang/test/Lower/HLFIR/implicit-call-mismatch.f90
M flang/test/Lower/HLFIR/implicit-type-conversion-allocatable.f90
M flang/test/Lower/HLFIR/initial-target-component.f90
M flang/test/Lower/HLFIR/intrinsic-dynamically-optional.f90
M flang/test/Lower/HLFIR/select-rank.f90
M flang/test/Lower/HLFIR/unary-ops.f90
M flang/test/Lower/HLFIR/user-defined-assignment.f90
M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
M flang/test/Lower/HLFIR/where-nonelemental.f90
M flang/test/Lower/Intrinsics/abs.f90
M flang/test/Lower/Intrinsics/acos.f90
M flang/test/Lower/Intrinsics/acos_complex16.f90
M flang/test/Lower/Intrinsics/acosh.f90
M flang/test/Lower/Intrinsics/acosh_complex16.f90
M flang/test/Lower/Intrinsics/asin.f90
M flang/test/Lower/Intrinsics/asin_complex16.f90
M flang/test/Lower/Intrinsics/asinh.f90
M flang/test/Lower/Intrinsics/asinh_complex16.f90
M flang/test/Lower/Intrinsics/atan.f90
M flang/test/Lower/Intrinsics/atan_complex16.f90
M flang/test/Lower/Intrinsics/atanh.f90
M flang/test/Lower/Intrinsics/atanh_complex16.f90
M flang/test/Lower/Intrinsics/cabs_real16.f90
M flang/test/Lower/Intrinsics/cmplx.f90
M flang/test/Lower/Intrinsics/command_argument_count.f90
M flang/test/Lower/Intrinsics/cos_complex16.f90
M flang/test/Lower/Intrinsics/cosh_complex16.f90
M flang/test/Lower/Intrinsics/dconjg.f90
M flang/test/Lower/Intrinsics/dimag.f90
M flang/test/Lower/Intrinsics/dot_product.f90
M flang/test/Lower/Intrinsics/dreal.f90
M flang/test/Lower/Intrinsics/exit.f90
M flang/test/Lower/Intrinsics/exp.f90
M flang/test/Lower/Intrinsics/exp_complex16.f90
Log Message:
-----------
Drop call check
Created using spr 1.3.4
Compare: https://github.com/llvm/llvm-project/compare/a8e1c5457a2f...94991b225344
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