[all-commits] [llvm/llvm-project] a1ee1a: [CodeGen] @llvm.experimental.stackmap make operand...
NAKAMURA Takumi via All-commits
all-commits at lists.llvm.org
Sat Dec 21 08:32:57 PST 2024
Branch: refs/heads/users/chapuni/cov/single/test
Home: https://github.com/llvm/llvm-project
Commit: a1ee1a9126678aabd3b02ef1367df8879d2536fa
https://github.com/llvm/llvm-project/commit/a1ee1a9126678aabd3b02ef1367df8879d2536fa
Author: Guillaume DI FATTA <124087040+Atafid at users.noreply.github.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/docs/StackMaps.rst
M llvm/include/llvm/IR/Intrinsics.td
A llvm/test/CodeGen/AArch64/stackmap-args.ll
A llvm/test/CodeGen/PowerPC/ppc64-stackmap-args.ll
A llvm/test/CodeGen/RISCV/rv64-stackmap-args.ll
A llvm/test/CodeGen/SystemZ/stackmap-args.ll
A llvm/test/CodeGen/X86/stackmap-args.ll
Log Message:
-----------
[CodeGen] @llvm.experimental.stackmap make operands immediate (#117932)
This pull request modifies the behavior of the
`@llvm.experimental.stackmap` intrinsic to require that its two first
operands (`id` and `numShadowBytes`) be **immediate values**. This
change ensures that variables cannot be passed as two first arguments to
this intrinsic.
Related Issue: https://github.com/llvm/llvm-project/issues/115733
### Testing
- Added new test cases to ensure errors are emitted for non-immediate
operands.
- Ran the full LLVM test suite to verify no regressions were introduced.
Commit: 71fd5288d28169cc4a6ae0bcf6c19a8130368936
https://github.com/llvm/llvm-project/commit/71fd5288d28169cc4a6ae0bcf6c19a8130368936
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M .ci/generate_test_report.py
Log Message:
-----------
[ci] Include a log download link when test report is truncated (#117985)
Now "Download" will be a link to the file so people don't have to know
to open the build tab and find the download button.
This is a URL from a real build:
https://buildkite.com/organizations/llvm-project/pipelines/github-pull-requests/builds/123979/jobs/01937132-0fc3-4c95-a884-2fc0048cb9a7/download.txt
And this is how we can build it:
https://buildkite.com/organizations/{BUILDKITE_ORGANIZATION_SLUG}/pipelines/{BUILDKITE_PIPELINE_SLUG}/builds/{BUILDKITE_BUILD_NUMBER}/jobs/{BUILDKITE_JOB_ID}/download.txt
Given these env vars that were set in that job:
BUILDKITE_ORGANIZATION_SLUG="llvm-project"
BUILDKITE_PIPELINE_SLUG="github-pull-requests"
BUILDKITE_BUILD_NUMBER="123979"
BUILDKITE_JOB_ID="01937132-0fc3-4c95-a884-2fc0048cb9a7"
In theory these will always be available but:
1. Rather safe than sorry with this script, I don't want to make a
passing
build a failure because this script failed.
2. It would get very annoying if you had to set all these to test
the script locally.
Commit: 8d714db7f9617252401f85537d672c5b92c20557
https://github.com/llvm/llvm-project/commit/8d714db7f9617252401f85537d672c5b92c20557
Author: Christian Kandeler <christian.kandeler at qt.io>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
Log Message:
-----------
[clangd] Consider expression statements in ExtractVariable tweak (#112525)
For instance:
int func();
int main()
{
func(); // => auto placeholder = func();
}
Commit: 14dcf8214f9c66172d17c1cfaec6aec0030748e0
https://github.com/llvm/llvm-project/commit/14dcf8214f9c66172d17c1cfaec6aec0030748e0
Author: Peter Waller <peter.waller at arm.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Passes/ReorderFunctions.cpp
A bolt/test/AArch64/pad-before-funcs.s
Log Message:
-----------
[BOLT] Add --pad-funcs-before=func:n (#117924)
This complements --pad-funcs, and by using both simultaneously, enables
moving a specific function through the address space without modifying
any code
other than the targeted function (and references to it) by doing
(before+after=constant).
See also: proposed functionality to enable inserting random padding in
https://discourse.llvm.org/t/rfc-lld-feature-for-controlling-for-code-size-dependent-measurement-bias
and https://github.com/llvm/llvm-project/pull/117653
Commit: 4dde52d76b5342fd7e0b51094580818f3934ae2f
https://github.com/llvm/llvm-project/commit/4dde52d76b5342fd7e0b51094580818f3934ae2f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Check for overlapping memcpy regions (#119535)
Commit: 088e74cf73549b556cb718f5322ae40a2c84a1f8
https://github.com/llvm/llvm-project/commit/088e74cf73549b556cb718f5322ae40a2c84a1f8
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/test/tools/llvm-readobj/ELF/note-core.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[llvm][llvm-readobj] Add NT_ARM_GCS Linux core note type (#117545)
The ARM Guarded Control Stack extension (GCS) is similar to existing
shadow stack extensions for other architectures.
The core note will include which features of GCS are enabled, which have
been locked in their current state, and the stack pointer of the shadow
stack.
Note that 0x40f is NT_ARM_POE, FPMR is supported by LLDB and GCS will be
soon, POE is not at this time. So NT_ARM_POE will be added when that
work starts.
See
https://github.com/torvalds/linux/blob/master/include/uapi/linux/elf.h.
Commit: 6c7e5827eda26990e872eb7c3f0d7866ee3c3171
https://github.com/llvm/llvm-project/commit/6c7e5827eda26990e872eb7c3f0d7866ee3c3171
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Log Message:
-----------
[SelectionDAG] Don't call ComputeValueVTs for "demote register" (NFC) (#119268)
`ComputeValueVTs` only breaks down aggregate types. For pointer types it
is equivalent to calling `TargetLoweringBase::getPointerTy`.
Commit: 8eb12f6775d288eece9a2bf090d2675c025bf457
https://github.com/llvm/llvm-project/commit/8eb12f6775d288eece9a2bf090d2675c025bf457
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_sopp.s
M llvm/test/MC/AMDGPU/gfx12_err.s
M llvm/test/MC/AMDGPU/sopk.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sopp.txt
Log Message:
-----------
[AMDGPU] Support s_endpgm_ordered_ps_done on GFX11 (#119230)
Support assembly/disassembly of this instruction for compatibility with
SP3, even though it has no use in GFX11. It is fully removed in GFX12.
Commit: 3057ac1c9a76b9957a6bcdd0595788ac342dba6b
https://github.com/llvm/llvm-project/commit/3057ac1c9a76b9957a6bcdd0595788ac342dba6b
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Log Message:
-----------
[SelectionDAG] Fix "unused variable" warnings after #119268 (NFC) (#119550)
Commit: c69f8296f313d4b0766b322fea121c576bd4ec01
https://github.com/llvm/llvm-project/commit/c69f8296f313d4b0766b322fea121c576bd4ec01
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vec-strict-cmp-128.ll
Log Message:
-----------
[X86][StrictFP] Add widening support for STRICT_FMIN/STRICT_FMAX (#119391)
Fixes: #119422
Commit: 0100c631f85480ecdf1b35f2aedbfc0200a81174
https://github.com/llvm/llvm-project/commit/0100c631f85480ecdf1b35f2aedbfc0200a81174
Author: Nuno Lopes <nuno.lopes at tecnico.ulisboa.pt>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/docs/Reference.rst
A llvm/docs/UndefinedBehavior.rst
Log Message:
-----------
[docs] Add guide about Undefined Behavior (#119220)
Thanks Antonio Frighetto, John Regehr, and Nikita Popov for reviewing this!
Commit: 04379c98638ac3901257b5fa319f9ece828af767
https://github.com/llvm/llvm-project/commit/04379c98638ac3901257b5fa319f9ece828af767
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M clang/include/clang/Basic/FileEntry.h
M clang/lib/Basic/SourceManager.cpp
M llvm/include/llvm/Support/AutoConvert.h
M llvm/lib/Support/AutoConvert.cpp
M llvm/lib/Support/MemoryBuffer.cpp
Log Message:
-----------
[SystemZ][z/OS] Update autoconversion functions to improve support for UTF-8 (#98652)
This fixes the following error when reading source and header files on
z/OS: error: source file is not valid UTF-8
Commit: 5e007afa9d4f175decc328ee89533a5fe89be99b
https://github.com/llvm/llvm-project/commit/5e007afa9d4f175decc328ee89533a5fe89be99b
Author: Pravin Jagtap <Pravin.Jagtap at amd.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/CodeGen/AMDGPU/hazards-gfx950.mir
Log Message:
-----------
[AMDGPU] Handle hazard in v_scalef32_sr_fp4_* conversions (#118589)
Presently, compiler selectivelly adds nop when opsel != 0 i.e. only when
partially writing to high bytes.
Experiments in SWDEV-499733 and SWDEV-501347 suggest that we need nop
for above cases irrespective of opsel values.
Note: We might need to add few others into the same table.
Commit: b1d8c60dd479d9c5d58bcfe33db57b68f834938d
https://github.com/llvm/llvm-project/commit/b1d8c60dd479d9c5d58bcfe33db57b68f834938d
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_cvtn.c
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_fp8.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/fp8-sve-cvtn.ll
Log Message:
-----------
[AArch64] Implement FP8 SVE Intrinsics for narrowing conversions (#118124)
This patch adds the following instrinsics:
* Half-precision and BFloat16 convert, narrow, and interleave to 8-bit
floating-point.
// Variant is also available for: _bf16_x2
svmfloat8_t svcvtn_mf8[_f16_x2]_fpm(svfloat16x2_t zn, fpm_t fpm);
* Single-precision convert, narrow, and interleave to 8-bit
floating-point (top and bottom).
svmfloat8_t svcvtnt_mf8[_f32_x2]_fpm(svmfloat8_t zd, svfloat32x2_t zn,
fpm_t fpm);
svmfloat8_t svcvtnb_mf8[_f32_x2]_fpm(svfloat32x2_t zn, fpm_t fpm);
Commit: 854ea0cf18e71608b2354a50872251c99628a6c2
https://github.com/llvm/llvm-project/commit/854ea0cf18e71608b2354a50872251c99628a6c2
Author: bernhardu <bernhardu at mailbox.org>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/interception/tests/interception_win_test.cpp
Log Message:
-----------
[win/asan] GetInstructionSize: Make `83 EC XX` a generic entry. (#119537)
This consolidates the two different lines for x86 and x86_64 into a
single line for both architectures.
And adds a test line.
CC: @zmodem
Commit: 03019c687f00cdd9d05fc1ace329a438c3ff6364
https://github.com/llvm/llvm-project/commit/03019c687f00cdd9d05fc1ace329a438c3ff6364
Author: Paul Osmialowski <pawel.osmialowski at arm.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/test/Driver/fveclib.c
M flang/test/Driver/fveclib.f90
Log Message:
-----------
[clang][driver] When -fveclib=ArmPL flag is in use, always link against libamath (#116432)
Using `-fveclib=ArmPL` without `-lamath` likely effects in the link-time
errors.
Commit: bc1f3eb59333d32797db234c0edf4dc270469b0e
https://github.com/llvm/llvm-project/commit/bc1f3eb59333d32797db234c0edf4dc270469b0e
Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/ARM/dagcombine-ld-op-st.ll
Log Message:
-----------
[DAGCombiner] Pre-commit test case for ReduceLoadOpStoreWidth. NFC
Adding test cases related to narrowing of load-op-store sequences.
ReduceLoadOpStoreWidth isn't careful enough, so it may end up
creating load/store operations that access memory outside the region
touched by the original load/store. Using ARM as a target for the
test cases to show what happens for both little-endian and big-endian.
This patch also adds a way to override the TLI.isNarrowingProfitable
check in DAGCombiner::ReduceLoadOpStoreWidth by using the option
-combiner-reduce-load-op-store-width-force-narrowing-profitable.
Idea is that it should be simpler to for example add lit tests
verifying that the code is correct for big-endian (which otherwise
is difficult since there are no in-tree big-endian targets that
is overriding TLI.isNarrowingProfitable).
This is a pre-commit for
https://github.com/llvm/llvm-project/pull/119203
Commit: 22780f808a6dba83bad9390f762095f263324df9
https://github.com/llvm/llvm-project/commit/22780f808a6dba83bad9390f762095f263324df9
Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/ARM/dagcombine-ld-op-st.ll
M llvm/test/CodeGen/X86/store_op_load_fold.ll
Log Message:
-----------
[DAGCombiner] Fix to avoid writing outside original store in ReduceLoadOpStoreWidth (#119203)
DAGCombiner::ReduceLoadOpStoreWidth could replace memory accesses
with more narrow loads/store, although sometimes the new load/store
would touch memory outside the original object. That seemed wrong
and this patch is simply avoiding doing the DAG combine in such
situations.
Also simplifying the expression used to align ShAmt down to a multiple
of NewBW. Subtracting (ShAmt % NewBW) should do the same thing as the
old more complicated expression.
Intention is to follow up with a patch that make more attempts, trying
to align the memory accesses at other offsets, allowing to trigger
the transform in more situations. The current strategy for deciding
size (NewBW) and offset (ShAmt) for the narrowed operations are a bit
ad-hoc, and not really considering big endian memory order in same
way as little endian.
Commit: b4b819ce98f1d77d29ec492f0230018fd633a117
https://github.com/llvm/llvm-project/commit/b4b819ce98f1d77d29ec492f0230018fd633a117
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
A mlir/test/Target/LLVMIR/nvvm/tma_store_reduce.mlir
M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
Log Message:
-----------
[MLIR][NVVM] Add Op for TMA Store with reduction (#118853)
PR #116854 adds intrinsics for TMA Store with reduction.
This patch adds an NVVM Dialect Op for the same.
* Lit tests are added to verify the lowering to LLVM intrinsics and
invalid cases.
* The common verifier method is updated to handle im2col modes without
offsets.
This helps Ops like TMA Store, TMA StoreReduce etc.
* The nvvmir.mlir test file is already large. So, this patch adds the
tests for this Op
in a new file under a separate "nvvm/" directory.
[mlir/test/Target/LLVMIR/"nvvm"/tma_store_reduce.mlir]
PTX Spec reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#data-movement-and-conversion-instructions-cp-reduce-async-bulk-tensor
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: d416cae180a5c7e7325c0b55818056e328633a61
https://github.com/llvm/llvm-project/commit/d416cae180a5c7e7325c0b55818056e328633a61
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][bytecode][NFC] Use Pointer::pointToSameBlock (#119552)
block() requires the pointer to be a block pointer.
Commit: e0c6088bcb5746795f04ab0bf53cec1cfea2480e
https://github.com/llvm/llvm-project/commit/e0c6088bcb5746795f04ab0bf53cec1cfea2480e
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir
Log Message:
-----------
[mlir][nfc] Update vectorize-tensor-extract.mlir (3/N) (#119121)
Tests in "vectorize-tensor-extract.mlir" are inconsistent and would
benefit from refactoring to:
* Clearly categorize tests into "contiguous load," "gather load," and
"scalar load + broadcast" cases, reflecting the structure of
tensor.extract vectorization.
* Unify variable naming (both MLIR and FileCheck).
* Ensure all tests exercise unmasked vectorization (masked vectorization
is covered in "vectorize-tensor-extract-masked.mlir").
* Improve and standardize formatting.
These changes will make it easier to identify the test cases being
exercised and simplify future maintenance or refactoring.
This is patch 3/N in the series. Below is a summary of the changes in
this patch.
----------------------------------------------------------------------
Summary of patch 3/N
----------------------------------------------------------------------
* Cluster all tests for "scalar load + broadcast" together
* Unify MLIR and FileCheck variable names, e.g. `%input`, `%output` ->
`%src`, `%init`.
Note, I haven't changed test function names to make it easier to track
changes (this PR is mostly about moving code). I will send a seperate PR
to rename the tests.
----------------------------------------------------------------------
Previous patches
----------------------------------------------------------------------
* https://github.com/llvm/llvm-project/pull/118977
* https://github.com/llvm/llvm-project/pull/119080
Commit: ad0fbb033d26edafab51e67232c189a52afc4c52
https://github.com/llvm/llvm-project/commit/ad0fbb033d26edafab51e67232c189a52afc4c52
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
Log Message:
-----------
[RISCV][VLOPT] Add vl-opt-op-info tests for unit strided and strided stores (#119465)
I don't include getOperandInfo for the loads, since they don't take a
vector use operand, and we don't include the loads in isSupportedInstr
so we will never call getOperandInfo on the vector destination of these
instructions.
Don't add support for VSM since we don't have any mask producing
instructions in isSupportedInstr at the moment.
Commit: 323bedd0d60a9f4c04015687326eba1e96f34b04
https://github.com/llvm/llvm-project/commit/323bedd0d60a9f4c04015687326eba1e96f34b04
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M libcxx/include/experimental/iterator
M libcxx/include/experimental/memory
M libcxx/include/experimental/propagate_const
M libcxx/include/experimental/simd
M libcxx/include/experimental/type_traits
M libcxx/include/experimental/utility
M libcxx/include/ext/hash_map
M libcxx/include/ext/hash_set
Log Message:
-----------
[libc++][C++03] Add #if 0 to the experimental/ and ext/ headers as well (#119541)
This has already been done for the most headers in
https://github.com/llvm/llvm-project/pull/119234, but I
forgot to also do it for the experimental/ and ext/ headers.
This is part of https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc.
Commit: 40986feda8b1437ed475b144d5b9a208b008782a
https://github.com/llvm/llvm-project/commit/40986feda8b1437ed475b144d5b9a208b008782a
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/IR/DiagnosticInfo.h
M llvm/include/llvm/IR/LLVMContext.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/RegAllocBase.cpp
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/XRayInstrumentation.cpp
M llvm/lib/IR/DiagnosticInfo.cpp
M llvm/lib/IR/LLVMContext.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/ARM/ARMMCInstLower.cpp
M llvm/lib/Target/X86/X86FloatingPoint.cpp
M llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber-unhandled.mir
Log Message:
-----------
Revert "DiagnosticInfo: Clean up usage of DiagnosticInfoInlineAsm" (#119575)
Reverts llvm/llvm-project#119485
Breaks builders, details in llvm/llvm-project#119485
Commit: cb4f4a8a4dd18bf00604b49faadd7b0ee4394d3d
https://github.com/llvm/llvm-project/commit/cb4f4a8a4dd18bf00604b49faadd7b0ee4394d3d
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/aarch64/sme-abi-assert.c
R compiler-rt/lib/builtins/aarch64/sme-abi-init.c
M compiler-rt/lib/builtins/aarch64/sme-abi.S
M compiler-rt/lib/builtins/cpu_model/aarch64.c
A compiler-rt/lib/builtins/cpu_model/aarch64/fmv/baremetal.inc
Log Message:
-----------
[compiler-rt][AArch64] Rewrite SME routines to all use __aarch64_cpu_features. (#119414)
When #92921 added the `__arm_get_current_vg` functionality, it used the
FMV feature bits mechanism rather than the mechanism that was previously
added for SME which called `getauxval` on Linux platforms or
`__aarch64_sme_accessible` required for baremetal libraries. It is
better to always use `__aarch64_cpu_features`.
For baremetal we still need to rely on `__arm_sme_accessible` to
initialise the struct.
Commit: 10ad2135ab33302a55fc2e8a42e6001a44aae0bc
https://github.com/llvm/llvm-project/commit/10ad2135ab33302a55fc2e8a42e6001a44aae0bc
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Move Chad Rosier to inactive maintainers
Chad has not been involved with LLVM for more than five years, so
move him to the inactive maintainers.
Unfortunately, there doesn't seem to be a clear person to take up
FastISel maintainership.
Commit: 3787fbf0402b4e03e316c13231f8873769701250
https://github.com/llvm/llvm-project/commit/3787fbf0402b4e03e316c13231f8873769701250
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/global-merge-minsize-smalldata-nonzero.ll
M llvm/test/CodeGen/RISCV/global-merge-minsize-smalldata-zero.ll
M llvm/test/CodeGen/RISCV/global-merge-minsize.ll
M llvm/test/CodeGen/RISCV/global-merge-offset.ll
M llvm/test/CodeGen/RISCV/global-merge.ll
Log Message:
-----------
[RISCV] Enable merging of external globals by default (#117880)
This follows up #115495 by enabling merging of external globals by
default, which had been left as a next step in order to make the
previous change more incremental and so we can more easily narrow down
on any identified regressions.
Enabling merging of external globals matches what Arm does (for non
mach-o targets), though AArch64 doesn't as there were [some
concerns](https://reviews.llvm.org/D61947) it might cause regressions in
some cases.
See https://github.com/llvm/llvm-project/pull/117880 for benchmark figures and discussion.
Commit: 673c324ae3653cf62d67c5acbee1126e9eb6843e
https://github.com/llvm/llvm-project/commit/673c324ae3653cf62d67c5acbee1126e9eb6843e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll
M llvm/test/Transforms/VectorCombine/X86/extract-binop.ll
Log Message:
-----------
[VectorCombine] foldInsExtVectorToShuffle - canonicalize new shuffle(undef,x) -> shuffle(x,undef).
foldInsExtVectorToShuffle is likely to be inserting into an undef value, so make sure we've canonicalized this to the RHS in the folded shuffle to help further VectorCombine folds.
Minor tweak to help #34072
Commit: 00e1cc4c9d002c78cf890b630343b052ebca0399
https://github.com/llvm/llvm-project/commit/00e1cc4c9d002c78cf890b630343b052ebca0399
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
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/check-omp-structure.h
A flang/test/Lower/OpenMP/Todo/atomic-compare-fail.f90
M flang/test/Parser/OpenMP/atomic-unparse.f90
M flang/test/Semantics/OpenMP/atomic-compare.f90
M flang/test/Semantics/OpenMP/atomic01.f90
M flang/test/Semantics/OpenMP/atomic05.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[flang][OpenMP]Add support for fail clause (#118683)
Support the atomic compare option of a fail(memory-order) clauses.
Additional tests introduced to check that parsing and semantics checks
for the new clause is handled.
Lowering for atomic compare is still unsupported and wil end in a TOOD
(aka "Not yet implemented"). A test for this case with the fail clause
is also present.
Commit: 624cc7048f604ed1087f63fdbe4cbf40f1d35b69
https://github.com/llvm/llvm-project/commit/624cc7048f604ed1087f63fdbe4cbf40f1d35b69
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
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/DeclTemplate.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprConcepts.h
M clang/include/clang/AST/ExprObjC.h
M clang/include/clang/AST/Redeclarable.h
M clang/include/clang/AST/TemplateBase.h
Log Message:
-----------
[AST] Migrate away from PointerUnion::{is,get} (NFC) (#119523)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: 8b63bfbf6dd2ad0efd221407755300942a7ca35f
https://github.com/llvm/llvm-project/commit/8b63bfbf6dd2ad0efd221407755300942a7ca35f
Author: qt-tatiana <tatiana.borisova at qt.io>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
A clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-integer-sign-comparison.rst
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison.cpp
Log Message:
-----------
[clang-tidy] Create a check for signed and unsigned integers comparison (#113144)
- modernize-use-integer-sign-comparison replaces comparisons between
signed and unsigned integers with their safe C++20 ``std::cmp_*``
alternative, if available.
Commit: 08f904011f4b17e46b7616737a5dec01e3563c80
https://github.com/llvm/llvm-project/commit/08f904011f4b17e46b7616737a5dec01e3563c80
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/concat-boolmasks.ll
Log Message:
-----------
[VectorCombine] Fold "(or (zext (bitcast X)), (shl (zext (bitcast Y)), C))" -> "(bitcast (concat X, Y))" MOVMSK bool mask style patterns (#119559)
Mask/Bool vectors are often bitcast to/from scalar integers, in particular when concatenating mask results, often this is due to the difficulties of working with vector of bools on C/C++. On x86 this typically involves the MOVMSK/KMOV instructions.
To concatenate bool masks, these are typically cast to scalars, which are then zero-extended, shifted and OR'd together.
This patch attempts to match these scalar concatenation patterns and convert them to vector shuffles instead. This in turn often assists with further vector combines, depending on the cost model.
Fixes #111431
Commit: 03661fbe45e70bde2984a5fc0feab6396407a33b
https://github.com/llvm/llvm-project/commit/03661fbe45e70bde2984a5fc0feab6396407a33b
Author: Nuno Lopes <nuno.lopes at tecnico.ulisboa.pt>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/docs/UndefinedBehavior.rst
Log Message:
-----------
[docs][UB] add section on poison propagation through select
Examples from Nikita Popov, thank you!
Commit: 53544fc15f08687c14becced4ecc22c2356265cd
https://github.com/llvm/llvm-project/commit/53544fc15f08687c14becced4ecc22c2356265cd
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M lld/ELF/InputFiles.cpp
M lld/test/ELF/lto/internalize-exportdyn.ll
Log Message:
-----------
[ELF] Respect ltoCanOmit for symbols in non-prevailing COMDAT
A linkonce_odr definition can be omitted in LTO compilation if
`canBeOmittedFromSymbolTable()` is true in all bitcode files.
Currently, we don't respect the `canBeOmittedFromSymbolTable()` bit from
symbols in a non-prevailing COMDAT, which could lead to incorrect
omission of a definition when merging a prevailing linkonce_odr and a
non-prevailing weak_odr, e.g. an implicit template instantiation and an
explicit template instantiation.
To fix #111341, allow the non-prevailing COMDAT code path to clear the
`ltoCanOmit` bit, so that `VisibleToRegularObj` could be false in
LTO.cpp. We could resolve either an Undefined or a Defined. For
simplicity, just use a Defined like the prevailing case (similar to how
we resolve symbols in ObjectFile COMDAT reviews.llvm.org/D120626).
Pull Request: https://github.com/llvm/llvm-project/pull/119332
Commit: 0663a73104424a1e9e7416bddb4fe3bec7129a2b
https://github.com/llvm/llvm-project/commit/0663a73104424a1e9e7416bddb4fe3bec7129a2b
Author: Haopeng Liu <153236845+haopliu at users.noreply.github.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Log Message:
-----------
Revert "[DSE] Enable initializes improvement" (#119590)
Reverts llvm/llvm-project#119116
Commit: 1946d32f1fdfb2c4d5e866a5c1c5c32b8cdad5b8
https://github.com/llvm/llvm-project/commit/1946d32f1fdfb2c4d5e866a5c1c5c32b8cdad5b8
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
M clang/test/Driver/fsanitize.c
Log Message:
-----------
[Clang] Improve error for `-fsanitize=function/kcfi -mexecute-only` incompatibility (#118816)
The current error message when using the `-fsanitize=function
-mexecute-only` flags together points to the target triple as the reason
that `-fsanitize=function` is not allowed to be used, even when the
function sanitizer is otherwise supported on the target when not using
`-mexecute-only`.
The error message is improved to give `-mexecute-only` as the reason for
disallowing `-fsanitize=function` if it was passed to the driver.
Fixes https://github.com/llvm/llvm-project/issues/117974
Commit: 92bf1aa399a00c6902e80090074fff66fc5416a9
https://github.com/llvm/llvm-project/commit/92bf1aa399a00c6902e80090074fff66fc5416a9
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn
Log Message:
-----------
[gn build] Port 8b63bfbf6dd2
Commit: 9b94869942bb71daeb119e7701d806ae0003cc0d
https://github.com/llvm/llvm-project/commit/9b94869942bb71daeb119e7701d806ae0003cc0d
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Use front instead of begin in a unit test (NFC) (#119501)
"front" allows us to drop a dereference.
Commit: 9aa5848d5cb03cd024b1ebb2f8a5225917f63881
https://github.com/llvm/llvm-project/commit/9aa5848d5cb03cd024b1ebb2f8a5225917f63881
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Drop curly braces on small for loops (NFC) (#119516)
Commit: 66edefaee5e87baabe2367cf1dd82ef40cee8c86
https://github.com/llvm/llvm-project/commit/66edefaee5e87baabe2367cf1dd82ef40cee8c86
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/MemProf.h
A llvm/include/llvm/ProfileData/MemProfYAML.h
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Move YAML support to MemProfYAML.h (NFC) (#119515)
The YAML support is increasing in size, so this patch moves it to a
separate file.
Commit: 7b2d592a1971fccb8d3cf386d1bc9185b3b1198f
https://github.com/llvm/llvm-project/commit/7b2d592a1971fccb8d3cf386d1bc9185b3b1198f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M libcxx/test/libcxx/feature_test_macro/version_header.sh.py
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Fix test FTM header guard
That template is actually not used to generate the version header yet,
but we can at least fix the include guards which are clearly incorrect.
Commit: b0b546d44777eb1fa25995384876bd14a006a929
https://github.com/llvm/llvm-project/commit/b0b546d44777eb1fa25995384876bd14a006a929
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M libcxxabi/CMakeLists.txt
M libunwind/CMakeLists.txt
Log Message:
-----------
[libc++abi] Provide an explicit error when trying to build for MSVC (#119370)
Fixes #119322
Commit: 3c464d23682b0f9e6f70965e8f8f3861c9ba5417
https://github.com/llvm/llvm-project/commit/3c464d23682b0f9e6f70965e8f8f3861c9ba5417
Author: Eliud de León <eliud.deleon.10 at gmail.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
A mlir/include/mlir-c/Dialect/EmitC.h
M mlir/lib/CAPI/Dialect/CMakeLists.txt
A mlir/lib/CAPI/Dialect/EmitC.cpp
M mlir/python/CMakeLists.txt
A mlir/python/mlir/dialects/EmitC.td
A mlir/python/mlir/dialects/emitc.py
A mlir/test/python/dialects/emitc_dialect.py
Log Message:
-----------
[mlir][emitc] Add support for C-API/python binding to EmitC dialect (#119476)
Added EmitC dialect bindings.
Commit: 62fcd451b6004cea3f1bb7783300cac76237dd81
https://github.com/llvm/llvm-project/commit/62fcd451b6004cea3f1bb7783300cac76237dd81
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/ExtraPassManager.h
M llvm/lib/Passes/PassRegistry.def
Log Message:
-----------
[Passes] Manage extra passes using inner pass managers (NFC). (#119348)
As suggested post-commit for
https://github.com/llvm/llvm-project/pull/118323, adjust the extra pass
managers to no inherit from Function/LoopPassManager, but manage the
extra passes via member pass managers.
PR: https://github.com/llvm/llvm-project/pull/119348
Commit: 89b7aea5733da47c57ea0514fa9795574d84199d
https://github.com/llvm/llvm-project/commit/89b7aea5733da47c57ea0514fa9795574d84199d
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/concat-boolmasks.ll
Log Message:
-----------
Revert "[VectorCombine] Fold "(or (zext (bitcast X)), (shl (zext (bitcast Y)), C))" -> "(bitcast (concat X, Y))" MOVMSK bool mask style patterns" (#119594)
Reverts llvm/llvm-project#119559
Introduce use after free, see llvm/llvm-project#119559
Commit: 412ab602f13adb637e6c80e9d5f32631c00ca2bd
https://github.com/llvm/llvm-project/commit/412ab602f13adb637e6c80e9d5f32631c00ca2bd
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
Log Message:
-----------
[RISCV][VLOPT] Add vector narrowing integer right shift instructions to isSupportedInstr (#119602)
Commit: de56df9eb5248006ac64744e962ee053e72d028c
https://github.com/llvm/llvm-project/commit/de56df9eb5248006ac64744e962ee053e72d028c
Author: Abhay Kanhere <abhay at kanhere.net>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/docs/Security.rst
Log Message:
-----------
[Nomination] Add additional Apple representative to the Security Group (#118571)
I'd like to nominate myself as an additional Apple representative
(vendor contact) on the llvm security group.
I met many of you at the llvm-dev meeting roundtable(s) in Santa Clara.
I closely work with @ahmedbougacha @jroelofs at Apple.
- Abhay
Commit: e7c626cdd154b3c7b36ba0243cf75ff1cec76952
https://github.com/llvm/llvm-project/commit/e7c626cdd154b3c7b36ba0243cf75ff1cec76952
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
Log Message:
-----------
[RISCV][VLOPT] Fix test case as a result of changes in #119602
Commit: 6ce6b1d3850dab3d389a8cfa1455fcbc9a5cb27c
https://github.com/llvm/llvm-project/commit/6ce6b1d3850dab3d389a8cfa1455fcbc9a5cb27c
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
Log Message:
-----------
[RISCV][VLOPT] Use noreg where possible in vl-opt-op-info.mir
Commit: ccfcc9117b70828390019979219fa26ce77c3900
https://github.com/llvm/llvm-project/commit/ccfcc9117b70828390019979219fa26ce77c3900
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
Log Message:
-----------
[RISCV] Add coverage for zipeven/zipodd shuffles
Commit: db9856b516a36c259fb17af422cd80d6ebc67406
https://github.com/llvm/llvm-project/commit/db9856b516a36c259fb17af422cd80d6ebc67406
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[flang][OpenMP][NFC] Turn symTable into a reference (#119435)
Convert `DataSharingProcessor::symTable` from pointer to reference.
This avoids accidental null pointer dereferences and makes it
possible to use `symTable` when delayed privatization is disabled.
Commit: 42d598b591713c2034c3c7138299babb4565ee2c
https://github.com/llvm/llvm-project/commit/42d598b591713c2034c3c7138299babb4565ee2c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
Log Message:
-----------
[RISCV] Rename a lambda to have plural nouns to reflect that it contains a loop. NFC
storeRegToStackSlot contains a loop that stores multiple registers
to multiple slots.
Commit: 80f31fa48e4f3cef36d8f464f93b8ac6b2834450
https://github.com/llvm/llvm-project/commit/80f31fa48e4f3cef36d8f464f93b8ac6b2834450
Author: David Green <david.green at arm.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/dag-combine-setcc.ll
M llvm/test/CodeGen/AArch64/illegal-floating-point-vector-compares.ll
M llvm/test/CodeGen/AArch64/reduce-and.ll
M llvm/test/CodeGen/AArch64/reduce-or.ll
M llvm/test/CodeGen/AArch64/vecreduce-and-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-bool.ll
M llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
M llvm/test/CodeGen/AArch64/vector-extract-last-active.ll
Log Message:
-----------
Revert "[AArch64] Improve code generation of bool vector reduce operations (#115713)"
This reverts commit 97ff96173abc0e914d5c8716ccc6356342aca043 as it conflicts
with fast-math and possible denormal flushing.
Commit: 87d2aecc05c378ad2170c15d7dc03aeb9c08641c
https://github.com/llvm/llvm-project/commit/87d2aecc05c378ad2170c15d7dc03aeb9c08641c
Author: Martin Storsjö <martin at martin.st>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Fix a typo in my username in Maintainers.md. NFC.
The typo stems from the rewrite of this file in
bf488ed6e1fbe4c494a1dc0dd199a3d03405784e.
Commit: eac1e13addb147712aa1772df932111feb5c4de1
https://github.com/llvm/llvm-project/commit/eac1e13addb147712aa1772df932111feb5c4de1
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
[bzl][mlir][emitc] Add build targets for EmitC C-API/Python bindings (#119610)
Added by 3c464d23682b0f9e6f70965e8f8f3861c9ba5417
Commit: a54fce89fc8aff36c50e3a0ea2f92e1ab7093cf8
https://github.com/llvm/llvm-project/commit/a54fce89fc8aff36c50e3a0ea2f92e1ab7093cf8
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M libcxxabi/src/private_typeinfo.cpp
Log Message:
-----------
[libc++abi] Don't do pointer arithmetic on nullptr (#119520)
`nullptr + offset` is possible after `!is_virtual` branch.
Detected with check-cxxabi on configured with:
```
cmake -DLLVM_APPEND_VC_REV=OFF -GNinja \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_CCACHE_BUILD=ON \
-DLLVM_USE_LINKER=lld \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
-DLIBCXXABI_USE_LLVM_UNWINDER=OFF \
-DCMAKE_INSTALL_PREFIX=/home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_install_ubsan \
'-DLLVM_ENABLE_RUNTIMES=libcxx;libcxxabi;libunwind' \
-DLIBCXX_TEST_PARAMS=long_tests=False \
-DLIBCXX_INCLUDE_BENCHMARKS=OFF \
-DLLVM_USE_SANITIZER=Undefined \
'-DCMAKE_C_FLAGS=-fsanitize=undefined -fno-sanitize-recover=all -fno-sanitize=vptr' \
'-DCMAKE_CXX_FLAGS=-fsanitize=undefined -fno-sanitize-recover=all -fno-sanitize=vptr' \
/home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/../runtimes
********************
Failed Tests (2):
llvm-libc++abi-shared.cfg.in :: catch_null_pointer_to_object_pr64953.pass.cpp
llvm-libc++abi-shared.cfg.in :: catch_ptr_02.pass.cpp
```
Commit: 19bc282320ba4d2e961e287f110b9110297ae3ee
https://github.com/llvm/llvm-project/commit/19bc282320ba4d2e961e287f110b9110297ae3ee
Author: Nuno Lopes <nuno.lopes at tecnico.ulisboa.pt>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/utils/git/code-format-helper.py
Log Message:
-----------
Add PR check to suggest alternatives to using undef (#118506)
As discussed in
https://discourse.llvm.org/t/please-dont-use-undef-in-tests-part-2/83388,
this patch adds a comment to PRs that introduce new uses of undef.
It uses the the `git diff -S' command to find new uses, avoiding warning
about old uses. It further trims down with a regex to get only added (+)
lines.
Commit: 5fae408d3a4c073ee43aec9906fa44ffe4026301
https://github.com/llvm/llvm-project/commit/5fae408d3a4c073ee43aec9906fa44ffe4026301
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/docs/Vectorizers.rst
A llvm/docs/vplan-early-exit.dot
A llvm/docs/vplan-early-exit.png
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
A llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/LoopVectorize/unsupported_early_exit.ll
Log Message:
-----------
[VPlan] Dispatch to multiple exit blocks via middle blocks. (#112138)
A more lightweight variant of
https://github.com/llvm/llvm-project/pull/109193,
which dispatches to multiple exit blocks via the middle blocks.
The patch also introduces a bit of required scaffolding to enable
early-exit vectorization, including an option. At the moment, early-exit
vectorization doesn't come with legality checks, and is only used if the
option is provided and the loop has metadata forcing vectorization. This
is only intended to be used for testing during bring-up, with @david-arm
enabling auto early-exit vectorization plugging in the changes from
https://github.com/llvm/llvm-project/pull/88385.
PR: https://github.com/llvm/llvm-project/pull/112138
Commit: 6f3f08abdc9faac1fe07018bf72d532443f2ec05
https://github.com/llvm/llvm-project/commit/6f3f08abdc9faac1fe07018bf72d532443f2ec05
Author: Owen Anderson <resistor at mac.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/unittests/CodeGen/MachineInstrTest.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
CodeGen: Eliminate dynamic relocations in the register superclass tables. (#119487)
This reapplies #119122 with a fix for UBSAN errors in the X86 backend
related
to incrementing a nullptr.
Commit: 4993a30365309c5a0406fb63647be96e93fa3516
https://github.com/llvm/llvm-project/commit/4993a30365309c5a0406fb63647be96e93fa3516
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
Log Message:
-----------
[LV] Add missing REQUIRES: asserts to test using -debug.
Fixup for test added in 5fae408d3a4c07.
Commit: 6b2232606d01a029f640b61b4f985d9dea79d4b6
https://github.com/llvm/llvm-project/commit/6b2232606d01a029f640b61b4f985d9dea79d4b6
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SDNodeProperties.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrMVE.td
M llvm/lib/Target/ARM/ARMInstrThumb.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/lib/Target/AVR/AVRInstrInfo.td
M llvm/lib/Target/M68k/M68kInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/X86/X86InstrFragments.td
M llvm/utils/TableGen/Basic/SDNodeProperties.h
M llvm/utils/TableGen/Common/CodeGenTarget.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.h
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
[TableGen] Replace WantRoot/WantParent SDNode properties with flags (#119599)
These properties are only valid on ComplexPatterns. Having them as flags
is more convenient because one can now use "let = ... in" syntax to set
these flags on several patterns at a time. This is also less error-prone
as it makes it impossible to specify these properties on records derived
from SDPatternOperator.
Pull Request: https://github.com/llvm/llvm-project/pull/119599
Commit: d5b7b970347fd4aa5591bfee38be4d8e7a53b134
https://github.com/llvm/llvm-project/commit/d5b7b970347fd4aa5591bfee38be4d8e7a53b134
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/arm/headers.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/headers.txt
A libc/hdrgen/yaml/complex.yaml
Log Message:
-----------
[libc][complex] Add complex.yaml in hdrgen. (#119609)
Commit: 7dbd6cd2946ec3a9b4ad2dfd7ead177baac15bd7
https://github.com/llvm/llvm-project/commit/7dbd6cd2946ec3a9b4ad2dfd7ead177baac15bd7
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-no-agpr.ll
M llvm/test/CodeGen/AMDGPU/annotate-existing-abi-attributes.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-max-num-workgroups-propagate.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
M llvm/test/CodeGen/AMDGPU/attributor-loop-issue-58639.ll
M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
M llvm/test/CodeGen/AMDGPU/implicitarg-offset-attributes.ll
M llvm/test/CodeGen/AMDGPU/indirect-call-set-from-other-function.ll
M llvm/test/CodeGen/AMDGPU/inline-attr.ll
M llvm/test/CodeGen/AMDGPU/propagate-flat-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/propagate-waves-per-eu.ll
M llvm/test/CodeGen/AMDGPU/recursive_global_initializer.ll
M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll
Log Message:
-----------
[AMDGPU][Attributor] Make `AAAMDFlatWorkGroupSize` honor existing attribute (#114357)
If a function has `amdgpu-flat-work-group-size`, honor it in `initialize` by
taking its value directly; otherwise, it uses the default range as a starting
point. We will no longer manipulate the known range, which can cause issues
because the known range is a "throttle" to the assumed range such that the
assumed range can't get widened properly in `updateImpl` if the known range is
not set properly for whatever reasons. Another benefit of not touching the known
range is, if we indicate pessimistic state, it also invalidates the AA such that
`manifest` will not be called. Since we honor the attribute, we don't want and
will not add any half-baked attribute added to a function.
Commit: f4037277bb0220cb1dece91d21d4fdc2995eae7a
https://github.com/llvm/llvm-project/commit/f4037277bb0220cb1dece91d21d4fdc2995eae7a
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-max-num-workgroups-propagate.ll
M llvm/test/CodeGen/AMDGPU/attributor-loop-issue-58639.ll
M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/propagate-waves-per-eu.ll
M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
Log Message:
-----------
[AMDGPU][Attributor] Make `AAAMDWavesPerEU` honor existing attribute (#114438)
Commit: 4b8bf6aac890a1ab35ab3d807b49ab02181e49d9
https://github.com/llvm/llvm-project/commit/4b8bf6aac890a1ab35ab3d807b49ab02181e49d9
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M libcxx/include/flat_map
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
Log Message:
-----------
[libc++] Properly guard flat_map includes based on C++ version (#119227)
That's what we (try to) do consistently for all other umbrella headers.
As a drive-by, remove the <__assert> header which is not mandated
anymore.
Commit: fbe3919e5477b64e30cf435618ab643700d0952a
https://github.com/llvm/llvm-project/commit/fbe3919e5477b64e30cf435618ab643700d0952a
Author: Michal Paszkowski <michal at paszkowski.org>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/test/CodeGen/SPIRV/constant/local-arbitrary-width-integers-constants-type-promotion.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp-simple-hierarchy.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_const.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fun-ptr-addrcast.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_cooperative_matrix/cooperative_matrix.ll
M llvm/test/CodeGen/SPIRV/instructions/vector-shuffle.ll
M llvm/test/CodeGen/SPIRV/spec_const_decoration.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpBitReverse-subbyte.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpBitReverse_i2.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpGroupAsyncCopy.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpVectorExtractDynamic.ll
M llvm/test/CodeGen/SPIRV/trunc-nonstd-bitwidth.ll
Log Message:
-----------
[SPIR-V] Mark XFAIL tests which fail with LLVM_ENABLE_EXPENSIVE_CHECKS (#119497)
The test cases marked with XFAIL by this commit are not yet supported by
the SPIR-V backend with LLVM_ENABLE_EXPENSIVE_CHECKS enabled.
Commit: 6f013dbced67948119fe9ca71336f0284975ba4f
https://github.com/llvm/llvm-project/commit/6f013dbced67948119fe9ca71336f0284975ba4f
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M clang/test/CodeGen/AArch64/cpu-supports.c
M clang/test/CodeGen/AArch64/fmv-dependencies.c
M clang/test/CodeGen/AArch64/mixed-target-attributes.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
M clang/test/CodeGenCXX/attr-target-version.cpp
M clang/test/CodeGenCXX/fmv-namespace.cpp
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/TargetParser/AArch64TargetParser.cpp
M llvm/test/CodeGen/AArch64/sve-streaming-mode-cvt-fp-int-fp.ll
M llvm/test/MC/AArch64/SME/streaming-mode-neon-negative.s
M llvm/test/MC/AArch64/SME/streaming-sve-feature.s
M llvm/test/MC/AArch64/armv8a-fpmul.s
Log Message:
-----------
[AArch64][FMV] Add missing feature dependencies and detect at runtime. (#119231)
i8mm -> simd
fp16fml -> simd
frintts -> fp
bf16 -> simd
sme -> fp16
Approved in ACLE as https://github.com/ARM-software/acle/pull/368
Commit: 2470cfab63ac14df02dc6df686fcae7b1a4eb84f
https://github.com/llvm/llvm-project/commit/2470cfab63ac14df02dc6df686fcae7b1a4eb84f
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M lldb/source/DataFormatters/FormatterBytecode.cpp
M lldb/unittests/DataFormatter/FormatterBytecodeTest.cpp
Log Message:
-----------
[lldb] Disallow left shifts of negative values in the interpreter (#119620)
This trips UBSAN and probably isn't partiuclarly useful either.
Commit: ee090cb83b523e4c8c888ded8ca1a70334ba65fa
https://github.com/llvm/llvm-project/commit/ee090cb83b523e4c8c888ded8ca1a70334ba65fa
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M clang/lib/Parse/ParseOpenACC.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
Log Message:
-----------
[OpenACC] Treat 'delete' as a valid clause during parsing in C++ mode
This didn't end up being properly tested, but 'delete' as a keyword
causes us to not properly recognize it as a clause kind. This patch
correctly adds the work to make sure it is recognized correctly.
Commit: 4b825c7417f72ee88ee3e4316d0c01ed463f1241
https://github.com/llvm/llvm-project/commit/4b825c7417f72ee88ee3e4316d0c01ed463f1241
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/DebugNames.h
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugNames.cpp
A bolt/test/X86/dwarf5-debug-names-abstract-origin-linkage-name-only.s
A bolt/test/X86/dwarf5-debug-names-abstract-origin-specification.s
Log Message:
-----------
[BOLT][DWARF] Add support for transitive DW_AT_name/DW_AT_linkage_name resolution for DW_AT_name/DW_AT_linkage_name. (#119493)
This fix handles a case where a DIE that does not have
DW_AT_name/DW_AT_linkage_name, but has a reference to another DIE using
DW_AT_abstract_origin/DW_AT_specification. It also fixes a bug where
there are cross CU references for those attributes. Previously it would
use a DWARF Unit of a DIE which was being processed The
warf5-debug-names-cross-cu.s test just happened to work because how it
was constructed where string section was shared by both DWARF Units.
To resolve DW_AT_name/DW_AT_linkage_name this patch iterates over
references until it either reaches the final DIE or finds both of those
names.
Commit: ba373a222fe6f65c45a05e9e1114c92580953b79
https://github.com/llvm/llvm-project/commit/ba373a222fe6f65c45a05e9e1114c92580953b79
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/optional-value-conversion-construct-from-std.cpp
Log Message:
-----------
[clang-tidy]detecting conversion directly by `make_unique` and `make_shared` in bugprone-optional-value-conversion (#119371)
Inspired by #110964
Commit: 5eef9ba7842522f360d7891c642a39b92a6de33a
https://github.com/llvm/llvm-project/commit/5eef9ba7842522f360d7891c642a39b92a6de33a
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
A flang/test/HLFIR/simplify-hlfir-intrinsics-cshift.fir
Log Message:
-----------
[flang] Inline hlfir.cshift as hlfir.elemental. (#119480)
Commit: 36c7d147fcd01492cf9491cb0cddd3702b8fd31c
https://github.com/llvm/llvm-project/commit/36c7d147fcd01492cf9491cb0cddd3702b8fd31c
Author: Caslyn Tonelli <6718161+Caslyn at users.noreply.github.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M libc/test/src/strings/CMakeLists.txt
M libc/test/src/strings/index_test.cpp
M libc/test/src/strings/rindex_test.cpp
Log Message:
-----------
[libc][test] Adjust header paths in tests (#119623)
Since `index_test.cpp` and `rindex_test.cpp` now reside in /strings,
adjust some header paths accordingly.
Link: #118899
Commit: 151901c762b724ef6ffe6f3db163475071e7b215
https://github.com/llvm/llvm-project/commit/151901c762b724ef6ffe6f3db163475071e7b215
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M flang/include/flang/Common/Fortran-consts.h
Log Message:
-----------
[flang][rt][device] Use enum-set.h as Fortran.h (#119611)
Commit: dd647e3e608ed0b2bac7c588d5859b80ef4a5976
https://github.com/llvm/llvm-project/commit/dd647e3e608ed0b2bac7c588d5859b80ef4a5976
Author: Chandler Carruth <chandlerc at gmail.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M clang-tools-extra/clangd/CompileCommands.cpp
M clang/lib/Driver/DriverOptions.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M lld/COFF/DriverUtils.cpp
M lld/ELF/DriverUtils.cpp
M lld/MachO/DriverUtils.cpp
M lld/MinGW/Driver.cpp
M lld/wasm/Driver.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/tools/driver/Driver.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/tools/lldb-server/lldb-gdbserver.cpp
M llvm/include/llvm/Option/OptTable.h
M llvm/include/llvm/Option/Option.h
M llvm/lib/ExecutionEngine/JITLink/COFFDirectiveParser.cpp
M llvm/lib/Option/OptTable.cpp
M llvm/lib/Option/Option.cpp
M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
M llvm/tools/dsymutil/dsymutil.cpp
M llvm/tools/llvm-cgdata/llvm-cgdata.cpp
M llvm/tools/llvm-cvtres/llvm-cvtres.cpp
M llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
M llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
M llvm/tools/llvm-dwarfutil/llvm-dwarfutil.cpp
M llvm/tools/llvm-dwp/llvm-dwp.cpp
M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
M llvm/tools/llvm-ifs/llvm-ifs.cpp
M llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
M llvm/tools/llvm-lipo/llvm-lipo.cpp
M llvm/tools/llvm-ml/llvm-ml.cpp
M llvm/tools/llvm-mt/llvm-mt.cpp
M llvm/tools/llvm-nm/llvm-nm.cpp
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-rc/llvm-rc.cpp
M llvm/tools/llvm-readobj/llvm-readobj.cpp
M llvm/tools/llvm-readtapi/llvm-readtapi.cpp
M llvm/tools/llvm-size/llvm-size.cpp
M llvm/tools/llvm-strings/llvm-strings.cpp
M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
M llvm/tools/llvm-tli-checker/llvm-tli-checker.cpp
M llvm/tools/sancov/sancov.cpp
M llvm/unittests/Option/OptionMarshallingTest.cpp
M llvm/unittests/Option/OptionParsingTest.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
Log Message:
-----------
Rework the `Option` library to reduce dynamic relocations (#119198)
Apologies for the large change, I looked for ways to break this up and
all of the ones I saw added real complexity. This change focuses on the
option's prefixed names and the array of prefixes. These are present in
every option and the dominant source of dynamic relocations for PIE or
PIC users of LLVM and Clang tooling. In some cases, 100s or 1000s of
them for the Clang driver which has a huge number of options.
This PR addresses this by building a string table and a prefixes table
that can be referenced with indices rather than pointers that require
dynamic relocations. This removes almost 7k dynmaic relocations from the
`clang` binary, roughly 8% of the remaining dynmaic relocations outside
of vtables. For busy-boxing use cases where many different option tables
are linked into the same binary, the savings add up a bit more.
The string table is a straightforward mechanism, but the prefixes
required some subtlety. They are encoded in a Pascal-string fashion with
a size followed by a sequence of offsets. This works relatively well for
the small realistic prefixes arrays in use.
Lots of code has to change in order to land this though: both all the
option library code has to be updated to use the string table and
prefixes table, and all the users of the options library have to be
updated to correctly instantiate the objects.
Some follow-up patches in the works to provide an abstraction for this
style of code, and to start using the same technique for some of the
other strings here now that the infrastructure is in place.
Commit: ea632e1b34e1878b977f8adc406a89e91aa98b7e
https://github.com/llvm/llvm-project/commit/ea632e1b34e1878b977f8adc406a89e91aa98b7e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/IR/DiagnosticInfo.h
M llvm/include/llvm/IR/LLVMContext.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/RegAllocBase.cpp
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/XRayInstrumentation.cpp
M llvm/lib/IR/DiagnosticInfo.cpp
M llvm/lib/IR/LLVMContext.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/ARM/ARMMCInstLower.cpp
M llvm/lib/Target/X86/X86FloatingPoint.cpp
M llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber-unhandled.mir
Log Message:
-----------
Reapply "DiagnosticInfo: Clean up usage of DiagnosticInfoInlineAsm" (#119575) (#119634)
This reverts commit 40986feda8b1437ed475b144d5b9a208b008782a.
Reapply with fix to prevent temporary Twine from going out of scope.
Commit: be4a18387c61130de1cd2147ceaebdfe278ea370
https://github.com/llvm/llvm-project/commit/be4a18387c61130de1cd2147ceaebdfe278ea370
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.h
M llvm/lib/Target/Xtensa/XtensaMachineFunctionInfo.h
A llvm/test/CodeGen/Xtensa/vararg.ll
Log Message:
-----------
[Xtensa] Implement vararg support. (#117126)
Commit: 956d0dd624758599ec7411997ef65f6ad16823f1
https://github.com/llvm/llvm-project/commit/956d0dd624758599ec7411997ef65f6ad16823f1
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/test/Fir/CUDA/cuda-implicit-device-global.f90
Log Message:
-----------
[flang][cuda] Support builtin global in device global pass (#119626)
Commit: 44c05a627ffb4bdd63b477d2d74b2b6db2f87c74
https://github.com/llvm/llvm-project/commit/44c05a627ffb4bdd63b477d2d74b2b6db2f87c74
Author: knickish <knickish at gmail.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Target/M68k/M68kInstrControl.td
M llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
M llvm/test/MC/M68k/Control/bsr.s
A llvm/test/MC/M68k/Control/bsr32.s
A llvm/test/MC/M68k/Relaxations/PIC/branch.s
A llvm/test/MC/M68k/Relaxations/PIC/branch32.s
A llvm/test/MC/M68k/Relaxations/PIC/bsr.s
A llvm/test/MC/M68k/Relaxations/branch32.s
A llvm/test/MC/M68k/Relocations/PIC/data-abs.s
A llvm/test/MC/M68k/Relocations/PIC/data-gotoff.s
A llvm/test/MC/M68k/Relocations/PIC/data-gotpcrel.s
A llvm/test/MC/M68k/Relocations/PIC/data-pc-rel.s
A llvm/test/MC/M68k/Relocations/PIC/text-plt.s
M llvm/test/MC/M68k/Relocations/text-plt.s
Log Message:
-----------
[M68k] add 32 bit branch instrs and relaxations (#117371)
The `Bcc` and `BRA` 32-bit variants were all either not present or not
used, and the `BSR32` instruction was incorrectly being used on <
`M68020` cpu types. This PR adds missing 32 bit branch instructions
(with the `AtLeastM68020` predicate) and updates `M68kAsmBackend` to
allow relaxation to these instructions when an `M68020` or greater is
targeted
Commit: a6742094324d7166b451c749acf81d27a504c47b
https://github.com/llvm/llvm-project/commit/a6742094324d7166b451c749acf81d27a504c47b
Author: Elvis Wang <elvis.wang at sifive.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-extractelement.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-insertelement.ll
Log Message:
-----------
[RISCV][TTI] Model the cost of insert/extractelt when the vector split into multiple register group and idx exceed single group. (#118401)
This patch implements the cost when the size of the vector need to split
into multiple groups and the index exceed single vector group.
For extract element, we need to store split vectors to stack and load
the target element.
For insert element, we need to store split vectors to stack and store
the target element and load vectors back.
After this patch, the cost of insert/extract element will close to the
generated assembly.
Commit: f33e2369051e13a54a05dd361d89c1ba77f4f593
https://github.com/llvm/llvm-project/commit/f33e2369051e13a54a05dd361d89c1ba77f4f593
Author: Qiongsi Wu <274595+qiongsiwu at users.noreply.github.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M clang/include/clang/AST/Attr.h
M clang/include/module.modulemap
M clang/utils/TableGen/ClangAttrEmitter.cpp
M llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h
M llvm/include/llvm/IR/NVVMIntrinsicFlags.h
M llvm/include/llvm/SandboxIR/Type.h
M llvm/include/llvm/Support/Memory.h
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/include/module.modulemap
M llvm/lib/SandboxIR/Type.cpp
Log Message:
-----------
[clang][Modules] Fixing Build Breaks When -DLLVM_ENABLE_MODULES=ON (#119473)
A few recent changes are causing build breaks when
`-DLLVM_ENABLE_MODULES=ON` (such as
834dfd23155351c9885eddf7b9664f7697326946 and
7dfdca1961aadc75ca397818bfb9bd32f1879248).
This PR makes the required updates so that clang/llvm builds when
`-DLLVM_ENABLE_MODULES=ON`.
rdar://140803058
Commit: 9f1e9f682d0a85ea013ccbce6a3ec4ac1be83356
https://github.com/llvm/llvm-project/commit/9f1e9f682d0a85ea013ccbce6a3ec4ac1be83356
Author: jijjijj <realjijjijj at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
A clang/test/Modules/initializer-list-recognition-through-export-and-linkage-issue-118218.cpp
Log Message:
-----------
[C++20][modules] Fix std::initializer_list recognition if it's exported out of a module (#118537)
If the std::initializer_list is exported out of module, its
`DeclContext` is not a namespace as `Sema::isStdInitializerList`
expects, but an `Decl::Kind::Export` and only its parent is a namespace.
So this commit makes `Sema::isStdInitializerList` account for that.
I'm really new to clang so I'm not 100% sure that was the issue, it
seems so and it fixes compilation. Also I probably need to add tests but
I'd like someone to approve the idea first.
Fixes https://github.com/llvm/llvm-project/issues/118218
Commit: 9040dd469d61f59235ba5d2ef2c05e661159f877
https://github.com/llvm/llvm-project/commit/9040dd469d61f59235ba5d2ef2c05e661159f877
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProfYAML.h
M llvm/test/tools/llvm-profdata/memprof-yaml.test
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Improve the way we express Frames in YAML (#119629)
This patch does two things:
- During deserialization, we accept a function name for Frame as an
alternative to the usual GUID expressed as a hexadecimal number.
- During serialization, we print a GUID of Frame as a 16-digit
hexadecimal number prefixed with 0x in the usual way. (Without this
patch, we print a decimal number, which is not customary.)
The patch uses a machinery called "normalization" in YAML I/O, which
lets us serialize and deserialize into an alternative data structure.
For our use case, we have an alternative Frame data structure, which
is identical to "struct Frame" except that Function is of type
GUIDHex64 instead of GlobalValue::GUID. This alternative type
supports the two bullet points above without modifying "struct Frame"
at all.
Commit: ae5836f6b6a8544e6226f5c1ba6b1beacfe01aef
https://github.com/llvm/llvm-project/commit/ae5836f6b6a8544e6226f5c1ba6b1beacfe01aef
Author: wanglei <wanglei at loongson.cn>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M lldb/source/Plugins/Process/Utility/CMakeLists.txt
A lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.cpp
A lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.h
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.cpp
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.h
Log Message:
-----------
[LLDB][Process/Utility] Introduce NativeRegisterContextDBReg class
Since the setup of debug registers for AArch64 and LoongArch is similar,
we extracted the shared logic from Class:
`NativeRegisterContextDBReg_arm64`
into a new Class:
`NativeRegisterContextDBReg`.
This will simplify the subsequent implementation of hardware breakpoints
and watchpoints on LoongArch.
Reviewed By: DavidSpickett
Pull Request: https://github.com/llvm/llvm-project/pull/118043
Commit: 80e7f5015659d2942d436b3f2c5ffe3a5e39dcf5
https://github.com/llvm/llvm-project/commit/80e7f5015659d2942d436b3f2c5ffe3a5e39dcf5
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn
Log Message:
-----------
[gn build] Port ae5836f6b6a8
Commit: 8420602bc21098a737708f35caf96e696f948503
https://github.com/llvm/llvm-project/commit/8420602bc21098a737708f35caf96e696f948503
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Drop testing:: in a unit test (NFC) (#119636)
Note that we already have:
using ::testing::IsEmpty;
Commit: a67bd94fdafce716b42e0cb5409ee451b20f1749
https://github.com/llvm/llvm-project/commit/a67bd94fdafce716b42e0cb5409ee451b20f1749
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/fpclass-from-dom-cond.ll
Log Message:
-----------
[ValueTracking] Add missing operand checks in `computeKnownFPClassFromCond` (#119579)
After https://github.com/llvm/llvm-project/pull/118257, we may call
`computeKnownFPClassFromCond` with unrelated conditions. Then
miscompilations may occur due to a lack of operand checks.
This bug was introduced by
https://github.com/llvm/llvm-project/commit/d2404ea6ced5fce9442260bde08a02d607fdd50d
and https://github.com/llvm/llvm-project/pull/80740. However, the
miscompilation couldn't have happened before
https://github.com/llvm/llvm-project/pull/118257, because we only added
related conditions to `DomConditionCache/AssumptionCache`.
Fix the miscompilation reported in
https://github.com/llvm/llvm-project/pull/118257#issuecomment-2536182166.
Commit: 22f0ebb19cd216a1748263c4dbabcd832206f3ea
https://github.com/llvm/llvm-project/commit/22f0ebb19cd216a1748263c4dbabcd832206f3ea
Author: Owen Anderson <resistor at mac.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/stdio-custom-dl.ll
M llvm/test/Transforms/InstCombine/strcpy-nonzero-as.ll
M llvm/test/Transforms/MergeICmps/X86/distinct-index-width-crash.ll
Log Message:
-----------
TargetLibraryInfo: Use pointer index size to determine getSizeTSize(). (#118747)
When using non-integral pointer types, such as on CHERI targets, size_t
is equivalent
to the index size, which is allowed to be smaller than the size of the
pointer.
Commit: fd2f8d485df7742320317b14d49b9d808f70625c
https://github.com/llvm/llvm-project/commit/fd2f8d485df7742320317b14d49b9d808f70625c
Author: Vyacheslav Klochkov <vyacheslav.n.klochkov at intel.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
A llvm/test/Transforms/LoadStoreVectorizer/X86/massive_indirection.ll
Log Message:
-----------
[LoadStoreVectorizer] Postprocess and merge equivalence classes (#114501)
This patch introduces a new method:
void Vectorizer::mergeEquivalenceClasses(EquivalenceClassMap &EQClasses)
const
The method is called at the end of
Vectorizer::collectEquivalenceClasses() and is needed to merge
equivalence classes that differ only by their underlying objects (UO1
and UO2), where UO1 is 1-level-indirection underlying base for UO2. This
situation arises due to the limited lookup depth used during the search
of underlying bases with llvm::getUnderlyingObject(ptr).
Using any fixed lookup depth can result into creation of multiple
equivalence classes that only differ by 1-level indirection bases.
The new approach merges equivalence classes if they have adjacent bases
(1-level indirection). If a series of equivalence classes form ladder
formed of 1-step/level indirections, they are all merged into a single
equivalence class. This provides more opportunities for the load-store
vectorizer to generate better vectors.
---------
Signed-off-by: Klochkov, Vyacheslav N <vyacheslav.n.klochkov at intel.com>
Commit: da71203e6fc6b8e08c9979204506d385e9cb07b8
https://github.com/llvm/llvm-project/commit/da71203e6fc6b8e08c9979204506d385e9cb07b8
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/VLIWMachineScheduler.cpp
M llvm/test/CodeGen/AArch64/dump-schedule-trace.mir
M llvm/test/CodeGen/AArch64/force-enable-intervals.mir
M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-01.mir
M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-02.mir
M llvm/test/CodeGen/AArch64/misched-sort-resource-in-trace.mir
M llvm/test/CodeGen/ARM/single-issue-r52.mir
M llvm/test/CodeGen/RISCV/sifive7-enable-intervals.mir
M llvm/test/CodeGen/X86/handle-move.ll
M llvm/test/CodeGen/X86/misched-aa-colored.ll
M llvm/test/CodeGen/X86/misched-matrix.ll
M llvm/test/CodeGen/X86/misched-new.ll
Log Message:
-----------
[MISched] Unify the way to specify scheduling direction (#119518)
For pre-ra scheduling, we use two options `-misched-topdown` and
`-misched-bottomup` to force the direction.
While for post-ra scheduling, we use `-misched-postra-direction`
with enumerated values (`topdown`, `bottomup` and `bidirectional`).
This is not unified and adds some mental burdens. Here we replace
these two options `-misched-topdown` and `-misched-bottomup` with
`-misched-prera-direction` with the same enumerated values.
To avoid the condition of `getNumOccurrences() > 0`, we add a new
enum value `Unspecified` and make it the default initial value.
These options are hidden, so we needn't keep the compatibility.
Commit: 0e80f9a1b51e0e068adeae1278d59cd7baacd5d8
https://github.com/llvm/llvm-project/commit/0e80f9a1b51e0e068adeae1278d59cd7baacd5d8
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
A llvm/include/llvm/CodeGen/DroppedVariableStats.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/CodeGen/CMakeLists.txt
A llvm/lib/CodeGen/DroppedVariableStats.cpp
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/unittests/IR/CMakeLists.txt
A llvm/unittests/IR/DroppedVariableStatsIRTest.cpp
R llvm/unittests/IR/DroppedVariableStatsTest.cpp
Log Message:
-----------
Reland 2de78815604e9027efd93cac27c517bf732587d2 (#119650)
[NFC] Move DroppedVariableStats to its own file and redesign it to be
extensible. (#115563)
Move DroppedVariableStats code to its own file and change the class to
have an extensible design so that we can use it to add dropped
statistics to MIR passes and the instruction selector.
Removed the default virtual destructor from the base class and added an
empty one instead.
Commit: 990b6f08ad8089790dec52c6a9f8eec164d7caca
https://github.com/llvm/llvm-project/commit/990b6f08ad8089790dec52c6a9f8eec164d7caca
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/IR/BUILD.gn
Log Message:
-----------
[gn build] Port 0e80f9a1b51e
Commit: 10ed7d94b52c21317a1e02ef1e2c3ff2b2d08301
https://github.com/llvm/llvm-project/commit/10ed7d94b52c21317a1e02ef1e2c3ff2b2d08301
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/DroppedVariableStatsIRTest.cpp
M llvm/unittests/IR/CMakeLists.txt
R llvm/unittests/IR/DroppedVariableStatsIRTest.cpp
Log Message:
-----------
Move DroppedVariableStatsIRTest.cpp to CodeGen folder
Commit: ed5d897938d4344304a37a7d634b9cc4ed174e8b
https://github.com/llvm/llvm-project/commit/ed5d897938d4344304a37a7d634b9cc4ed174e8b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/IR/BUILD.gn
Log Message:
-----------
[gn build] Port 10ed7d94b52c
Commit: 04313b86a52541b2a618d14f7fa1f23ea7adfa47
https://github.com/llvm/llvm-project/commit/04313b86a52541b2a618d14f7fa1f23ea7adfa47
Author: Michal Paszkowski <michal at paszkowski.org>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
R llvm/test/Transforms/LoadStoreVectorizer/X86/massive_indirection.ll
Log Message:
-----------
Revert "[LoadStoreVectorizer] Postprocess and merge equivalence classes" (#119657)
Reverts llvm/llvm-project#114501, due to the following failure:
https://lab.llvm.org/buildbot/#/builders/55/builds/4171
Commit: 64fadf17cf9a2ad26b16a778fc4e2141ae6a8d64
https://github.com/llvm/llvm-project/commit/64fadf17cf9a2ad26b16a778fc4e2141ae6a8d64
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Use IndexedMemProfData in unit tests (NFC) (#119648)
This patch uses IndexedMemProfData in unit tests even when we only
need CallStacks. This way, we get to use addCallStack. Also, the
look is more consistent with other unit tests, where we typically do:
IndexMemProfData MemProfData;
MemProfData.addFrame(...);
MemProfData.addCallStack(...);
// Run some tests
Commit: 48ed91871dccf12dbe27e96b457ccee373c68a1e
https://github.com/llvm/llvm-project/commit/48ed91871dccf12dbe27e96b457ccee373c68a1e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Use OperandType from MCInstrDesc in RISCVInstrInfo::createMIROperandComment. NFCI (#119637)
We can use the OperandType to directly get the type of operand. This
avoids the need to hardcode specific opcodes or match the operand index
against sew operand number or policy operand number.
Commit: 02dd73a5d585af9a950baa38855305fdb17c76af
https://github.com/llvm/llvm-project/commit/02dd73a5d585af9a950baa38855305fdb17c76af
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M clang/include/clang/Lex/PreprocessingRecord.h
M clang/include/clang/Lex/Preprocessor.h
M clang/lib/Analysis/PathDiagnostic.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Index/FileIndexRecord.cpp
M clang/lib/Index/IndexDecl.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CIndexCXX.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
Log Message:
-----------
[clang] Migrate away from PointerUnion::{is,get} (NFC) (#119654)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: 2698fc699bfd6d62c5f9c2febfdbd2f3505bfdaf
https://github.com/llvm/llvm-project/commit/2698fc699bfd6d62c5f9c2febfdbd2f3505bfdaf
Author: Luke Lau <luke at igalia.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Refactor helper in isDesirableToCommuteWithShift. NFC (#119526)
Instead of duplicating the loop twice, add arguments to the lambda.
I plan on reusing this in #119527
Commit: b26fe5b7e9833b7813459c6a0dc4577b350754f1
https://github.com/llvm/llvm-project/commit/b26fe5b7e9833b7813459c6a0dc4577b350754f1
Author: Luke Lau <luke at igalia.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Use variadic isa<> in a few more places. NFC (#119538)
Commit: 088db868f3370ffe01c9750f75732679efecd1fe
https://github.com/llvm/llvm-project/commit/088db868f3370ffe01c9750f75732679efecd1fe
Author: Luke Lau <luke at igalia.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
Log Message:
-----------
[RISCV] Merge shuffle sources if lanes are disjoint (#119401)
In x264, there's a few kernels with shuffles like this:
%41 = add nsw <16 x i32> %39, %40
%42 = sub nsw <16 x i32> %39, %40
%43 = shufflevector <16 x i32> %41, <16 x i32> %42, <16 x i32> <i32 11,
i32 15, i32 7, i32 3, i32 26, i32 30, i32 22, i32 18, i32 9, i32 13, i32
5, i32 1, i32 24, i32 28, i32 20, i32 16>
Because this is a complex two-source shuffle, this will get lowered as
two vrgather.vvs that are blended together.
vadd.vv v20, v16, v12
vsub.vv v12, v16, v12
vrgatherei16.vv v24, v20, v10
vrgatherei16.vv v24, v12, v16, v0.t
However the indices coming from each source are disjoint, so we can
blend the two together and perform a single source shuffle instead:
%41 = add nsw <16 x i32> %39, %40
%42 = sub nsw <16 x i32> %39, %40
%43 = select <0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1> %41, %42
%44 = shufflevector <16 x i32> %43, <16 x i32> poison, <16 x i32> <i32
11, i32 15, i32 7, i32 3, i32 10, i32 14, i32 6, i32 2, i32 9, i32 13,
i32 5, i32 1, i32 8, i32 12, i32 4, i32 0>
The select will likely get merged into the preceding instruction, and
then we only have to do one vrgather.vv:
vadd.vv v20, v16, v12
vsub.vv v20, v16, v12, v0.t
vrgatherei16.vv v24, v20, v10
This patch bails if either of the sources are a broadcast/splat/identity
shuffle, since that will usually already have some sort of cheaper
lowering.
This improves performance on 525.x264_r by 4.12% with -O3 -flto
-march=rva22u64_v on the spacemit-x60.
Commit: 0614c601b44ca2f214a9868a8b672ea695d5d56a
https://github.com/llvm/llvm-project/commit/0614c601b44ca2f214a9868a8b672ea695d5d56a
Author: quic_hchandel <165007698+hchandel at users.noreply.github.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
A llvm/test/MC/RISCV/xqcics-invalid.s
A llvm/test/MC/RISCV/xqcics-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Qualcomm uC Xqcics(Conditional Select) extension (#119504)
The Qualcomm uC Xqcics extension adds 8 conditional select instructions.
The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/latest
This patch adds assembler only support.
---------
Co-authored-by: Harsh Chandel <hchandel at qti.qualcomm.com>
Commit: 22d26ae3040095c7bfe4e2f1678b9738bf81fd4a
https://github.com/llvm/llvm-project/commit/22d26ae3040095c7bfe4e2f1678b9738bf81fd4a
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
A llvm/test/CodeGen/RISCV/and-shl.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
Log Message:
-----------
[RISCV] Optimize (slli (srli (slli X, C1), C1), C2) -> (srli (slli X, C1), C1-C2) (#119567)
Masking out most significant bits can be done with shl followed by srl
with same shift amount. If this is followed by a shl, we could instead
srl by a smaller amount of bits.
This transform is already implemented in tablegen for masking out
32 most significant bits.
Emits better code for e.g.
float *index(float *p, int i)
{
return p + (i & (1 << 30) - 1);
}
Commit: 077cc3deeebedbd088c6183a191b4dd67861b350
https://github.com/llvm/llvm-project/commit/077cc3deeebedbd088c6183a191b4dd67861b350
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
R llvm/include/llvm/CodeGen/DroppedVariableStats.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/CodeGen/CMakeLists.txt
R llvm/lib/CodeGen/DroppedVariableStats.cpp
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
R llvm/unittests/CodeGen/DroppedVariableStatsIRTest.cpp
M llvm/unittests/IR/CMakeLists.txt
A llvm/unittests/IR/DroppedVariableStatsTest.cpp
Log Message:
-----------
Revert "Move DroppedVariableStatsIRTest.cpp to CodeGen folder"
This reverts commit 10ed7d94b52c21317a1e02ef1e2c3ff2b2d08301.
Revert "Reland 2de78815604e9027efd93cac27c517bf732587d2 (#119650)"
This reverts commit 0e80f9a1b51e0e068adeae1278d59cd7baacd5d8.
This is because the clang-ppc64le-linux-multistage bot breaks with error
undefined reference to `vtable for llvm::DroppedVariableStatsIR'
Commit: 925471ed903dad871042d7ed0bab89ab6566a564
https://github.com/llvm/llvm-project/commit/925471ed903dad871042d7ed0bab89ab6566a564
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Support/Windows/Path.inc
Log Message:
-----------
[llvm][Support][Windows] Avoid crash calling remove_directories() (#118677)
We faced an unexpected crash in SHELL32_CallFileCopyHooks() on the buildbot
[lldb-remote-linux-win](https://lab.llvm.org/staging/#/builders/197/builds/1066).
The host is Windows Server 2022 w/o any 3rd party shell extensions. See #118032 for more details.
Based on [this article](https://devblogs.microsoft.com/oldnewthing/20120330-00/?p=7963).
Commit: bff6fee6303909651cd3018b6403f9a709421fa6
https://github.com/llvm/llvm-project/commit/bff6fee6303909651cd3018b6403f9a709421fa6
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/IR/BUILD.gn
Log Message:
-----------
[gn build] Port 077cc3deeebe
Commit: ef28e963e3cf5bca8cb37b053f5840f8541987b3
https://github.com/llvm/llvm-project/commit/ef28e963e3cf5bca8cb37b053f5840f8541987b3
Author: Chandler Carruth <chandlerc at gmail.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
A llvm/include/llvm/ADT/StringTable.h
M llvm/unittests/ADT/CMakeLists.txt
A llvm/unittests/ADT/StringTableTest.cpp
Log Message:
-----------
Add a super simple wrapper for a merged string table. (#119488)
Suggestions welcome on what to better name this -- `StringTable` as I
currently have it seems too general, but wasn't sure what other name
would be better.
It currently has a *very* minimal API. I'm happy to expand it if folks
have ideas for what API would be useful, but this actually seemed like
it might be all we really need.
Commit: 9992b1624303262407ff82413563f39ba40544a0
https://github.com/llvm/llvm-project/commit/9992b1624303262407ff82413563f39ba40544a0
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/ADT/BUILD.gn
Log Message:
-----------
[gn build] Port ef28e963e3cf
Commit: 9c50182bf4942f88cc9876eb29e70802448cddc8
https://github.com/llvm/llvm-project/commit/9c50182bf4942f88cc9876eb29e70802448cddc8
Author: Malavika Samak <malavika.samak at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-field-attr.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-parm-unsupported.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Suppress warning for multi-dimensional constant arrays (#118249)
Do not warn about unsafe buffer access, when multi-dimensional constant
arrays are accessed and their indices are within the bounds of the
buffer. Warning in such cases would be a false positive. Such a
suppression already exists for 1-d
arrays and it is now extended to multi-dimensional arrays.
(rdar://137926311)
(rdar://140320139)
Co-authored-by: MalavikaSamak <malavika2 at apple.com>
Commit: 8713914d76cb9d6b54278dd75fecb68bb93f6ea5
https://github.com/llvm/llvm-project/commit/8713914d76cb9d6b54278dd75fecb68bb93f6ea5
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/BitcastBuffer.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.h
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Handle __builtin_memcmp (#119544)
Commit: cfad8f14f846860b5c2e413c41c9b2b56466662e
https://github.com/llvm/llvm-project/commit/cfad8f14f846860b5c2e413c41c9b2b56466662e
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][bytecode] Fix a build failure on aarch64
This broke e.g.
https://lab.llvm.org/buildbot/#/builders/190/builds/11216
Commit: 737d78a9785ea3e928de2b36a4e3e7decd8c9491
https://github.com/llvm/llvm-project/commit/737d78a9785ea3e928de2b36a4e3e7decd8c9491
Author: Carlo Cabrera <github at carlo.cab>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/test/Driver/sysroot.c
Log Message:
-----------
[Darwin][Driver][clang] Prioritise command line args over `DEFAULT_SYSROOT` (#115993)
If a toolchain is configured with `DEFAULT_SYSROOT`, then this could
result in an unintended value for `-syslibroot` being passed to the
linker if the user manually sets `-isysroot` or `SDKROOT`.
Let's fix this by prioritising command line flags when determining
`-syslibroot` before checking `getSysRoot`.
Downstream bug report:
https://github.com/Homebrew/homebrew-core/issues/197277
Co-authored-by: Bo Anderson <mail at boanderson.me>
Co-authored-by: Bo Anderson <mail at boanderson.me>
Commit: 0876c11ceeb093904decc4d89bef213d483a5656
https://github.com/llvm/llvm-project/commit/0876c11ceeb093904decc4d89bef213d483a5656
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/tools/llc/new-pm/regalloc-amdgpu.mir
Log Message:
-----------
[AMDGPU] Parse wwm filter flag for regalloc fast (#119347)
Commit: b3cba9be41bfa89bc0ec212706c6028a901e127a
https://github.com/llvm/llvm-project/commit/b3cba9be41bfa89bc0ec212706c6028a901e127a
Author: Mel Chen <mel.chen at sifive.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
A llvm/test/Transforms/LoopVectorize/iv-select-cmp-blend.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-no-wrap.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-trunc.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/select-min-index.ll
Log Message:
-----------
[LoopVectorize] Vectorize select-cmp reduction pattern for increasing integer induction variable (#67812)
Consider the following loop:
```
int rdx = init;
for (int i = 0; i < n; ++i)
rdx = (a[i] > b[i]) ? i : rdx;
```
We can vectorize this loop if `i` is an increasing induction variable.
The final reduced value will be the maximum of `i` that the condition
`a[i] > b[i]` is satisfied, or the start value `init`.
This patch added new RecurKind enums - IFindLastIV and FFindLastIV.
---------
Co-authored-by: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
Commit: 2a825cd2f93b5f83029c36d6c8229f65b6ef2ec7
https://github.com/llvm/llvm-project/commit/2a825cd2f93b5f83029c36d6c8229f65b6ef2ec7
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/include/clang/AST/APValue.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclContextInternals.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/ExprConcepts.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/AST/Redeclarable.h
M clang/include/clang/AST/Type.h
Log Message:
-----------
[AST] Migrate away from PointerUnion::{is,get} (NFC) (#119673)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: e84566ff2b8e9bb67ccc6764d7003871535e550e
https://github.com/llvm/llvm-project/commit/e84566ff2b8e9bb67ccc6764d7003871535e550e
Author: Carlo Cabrera <github at carlo.cab>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M libc/CMakeLists.txt
Log Message:
-----------
[libc] Fail fast when building standalone (#119426)
Building with the source directory rooted in the libc subdirectory isn't
tested in CI and can lead to subtle build problems (cf. #118871).
Let's fail fast with a helpful error message instead to help users
configure libc correctly.
Co-authored-by: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Commit: 08c9bb21482db443a8d5f84e9821abfbce4e9452
https://github.com/llvm/llvm-project/commit/08c9bb21482db443a8d5f84e9821abfbce4e9452
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
Log Message:
-----------
[RISCV] Change func to funct in RISCVInstrInfoXqci.td. NFC (#119669)
Commit: 32403f79f4fcdb74b1576eed19cde7b104191808
https://github.com/llvm/llvm-project/commit/32403f79f4fcdb74b1576eed19cde7b104191808
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M flang/unittests/Runtime/AccessTest.cpp
Log Message:
-----------
[flang][unittests] fix test broken when run as root (#119604)
It is convenient to run tests as root inside of a docker container.
The test (and the library function it is testing) are already
unsupported on Windows so it is safe to use UNIX-isms here.
Commit: ff13f61ec9bc8ae170ef8ab4eb66b00408f302f6
https://github.com/llvm/llvm-project/commit/ff13f61ec9bc8ae170ef8ab4eb66b00408f302f6
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Update TableGen maintainer (#119569)
Update the maintainer for TableGen to jurahul, who has been driving
most of the recent development in this area.
Commit: e3352904309a539eddcf3ddd9fb11ca2aef29d65
https://github.com/llvm/llvm-project/commit/e3352904309a539eddcf3ddd9fb11ca2aef29d65
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Update MC maintainer (#119571)
We currently list Jim Grosbach as the maintainer for the MC layer --
however, he hasn't been involved in LLVM for about ten years.
I'd like to propose MaskRay as the replacement. I think he has done
most of the substantial MC work in recent times.
Commit: 5013c81b781eb95af8e429956d63c8f9c16a4647
https://github.com/llvm/llvm-project/commit/5013c81b781eb95af8e429956d63c8f9c16a4647
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/Evaluator.h
M llvm/lib/Transforms/Utils/Evaluator.cpp
M llvm/test/Transforms/GlobalOpt/evaluate-call-errors.ll
M llvm/test/Transforms/GlobalOpt/evaluate-constfold-call.ll
A llvm/test/Transforms/GlobalOpt/evaluate-ret-void-mismatch.ll
Log Message:
-----------
[GlobalOpt][Evaluator] Don't evaluate calls with signature mismatch (#119548)
The global ctor evaluator tries to evalute function calls where the call
function type and function type do not match, by performing bitcasts.
This currently causes a crash when calling a void function with non-void
return type.
I've opted to remove this functionality entirely rather than fixing this
specific case. With opaque pointers, there shouldn't be a legitimate use
case for this anymore, as we don't need to look through pointer type
casts. Doing other bitcasts is very iffy because it ignores ABI
considerations. We should at least leave adjusting the signatures to
make them line up to InstCombine (which also does some iffy things, but
is at least somewhat more constrained).
Fixes https://github.com/llvm/llvm-project/issues/118725.
Commit: 98470c0b2e0eef52e6900bf2d524a390edac9d58
https://github.com/llvm/llvm-project/commit/98470c0b2e0eef52e6900bf2d524a390edac9d58
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Handle __builtin_bcmp (#119678)
... the same as `__builtin_memcmp`. Also fix a bug we still had when we
couldn't find a difference in the two inputs after `Size` bytes.
Commit: 5ca26d769deedc931ce19b4a68a68c799f8d7564
https://github.com/llvm/llvm-project/commit/5ca26d769deedc931ce19b4a68a68c799f8d7564
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/test/CodeGen/AArch64/sme2-intrinsics-int-dots.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-vdot.ll
Log Message:
-----------
[AArch64][SME2] Improve register allocation of multi-vector SME intrinsics (#116399)
The FORM_TRANSPOSED_REG_TUPLE pseudos have been created to
improve register allocation for intrinsics which use strided and
contiguous multi-vector registers, avoiding unnecessary copies.
If the operands of the pseudo are copies where the source register is in
the StridedOrContiguous class, the pseudo is used by
getRegAllocationHints
to suggest a contigious multi-vector register which matches the
subregister
sequence used by the operands.
If the operands do not match this pattern, the pseudos are expanded
to a REG_SEQUENCE.
Patch contains changes by Matthew Devereau.
Commit: ceb7214be0287f536b292a41f8a7dc2e1467d72d
https://github.com/llvm/llvm-project/commit/ceb7214be0287f536b292a41f8a7dc2e1467d72d
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
A bolt/docs/BinaryAnalysis.md
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/test/CMakeLists.txt
A bolt/test/binary-analysis/AArch64/Inputs/dummy.txt
A bolt/test/binary-analysis/AArch64/cmdline-args.test
A bolt/test/binary-analysis/AArch64/lit.local.cfg
M bolt/test/lit.cfg.py
M bolt/tools/CMakeLists.txt
A bolt/tools/binary-analysis/CMakeLists.txt
A bolt/tools/binary-analysis/binary-analysis.cpp
Log Message:
-----------
[BOLT] Introduce binary analysis tool based on BOLT (#115330)
This initial commit does not add any specific binary analyses yet, it
merely contains the boilerplate to introduce a new BOLT-based tool.
This basically combines the 4 first patches from the prototype pac-ret
and stack-clash binary analyzer discussed in RFC
https://discourse.llvm.org/t/rfc-bolt-based-binary-analysis-tool-to-verify-correctness-of-security-hardening/78148
and published at
https://github.com/llvm/llvm-project/compare/main...kbeyls:llvm-project:bolt-gadget-scanner-prototype
The introduction of such a BOLT-based binary analysis tool was proposed
and discussed in at least the following places:
- The RFC pointed to above
- EuroLLVM 2024 round table
https://discourse.llvm.org/t/summary-of-bolt-as-a-binary-analysis-tool-round-table-at-eurollvm/78441
The round table showed quite a few people interested in being able to
build a custom binary analysis quickly with a tool like this.
- Also at the US LLVM dev meeting a few weeks ago, I heard interest from
a few people, asking when the tool would be available upstream.
- The presentation "Adding Pointer Authentication ABI support for your
ELF platform"
(https://llvm.swoogo.com/2024devmtg/session/2512720/adding-pointer-authentication-abi-support-for-your-elf-platform)
explicitly mentioned interest to extend the prototype tool to verify
correct implementation of pauthabi.
Commit: 2fae58e9c7becc376454005da69acb3fa993350e
https://github.com/llvm/llvm-project/commit/2fae58e9c7becc376454005da69acb3fa993350e
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M lldb/unittests/Host/PipeTest.cpp
Log Message:
-----------
[lldb][test] Disable WriteWithTimeout test on Windows
This is still flaky on our Windows on Arm bot:
******************** TEST 'lldb-unit :: Host/./HostTests.exe/8/10' FAILED ********************
Script(shard):
--
GTEST_OUTPUT=json:C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\tools\lldb\unittests\Host\.\HostTests.exe-lldb-unit-3616-8-10.json GTEST_SHUFFLE=0 GTEST_TOTAL_SHARDS=10 GTEST_SHARD_INDEX=8 C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\tools\lldb\unittests\Host\.\HostTests.exe
--
Script:
--
C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\tools\lldb\unittests\Host\.\HostTests.exe --gtest_filter=PipeTest.WriteWithTimeout
--
C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\unittests\Host\PipeTest.cpp(110): error: Expected: (dur) >= (std::chrono::seconds(2)), actual: 8-byte object <1C-A6 34-77 00-00 00-00> vs 8-byte object <02-00 00-00 00-00 00-00>
C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\unittests\Host\PipeTest.cpp:110
Expected: (dur) >= (std::chrono::seconds(2)), actual: 8-byte object <1C-A6 34-77 00-00 00-00> vs 8-byte object <02-00 00-00 00-00 00-00>
Commit: 7f4312015291a32d811a0f37e24b4d9736c524f7
https://github.com/llvm/llvm-project/commit/7f4312015291a32d811a0f37e24b4d9736c524f7
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/unittests/Serialization/LoadSpecLazilyTest.cpp
Log Message:
-----------
[Serialization] Free memory in LoadSpecLazilyTest
Default Clang invocations set DisableFree = true, which causes ASAN to
complain. Override it in tests that are not supposed to leak.
Commit: 5e247d726d7a54cf0acc997bc17b50e7494e6fa3
https://github.com/llvm/llvm-project/commit/5e247d726d7a54cf0acc997bc17b50e7494e6fa3
Author: David Green <david.green at arm.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/PtrUseVisitor.h
M llvm/include/llvm/Transforms/Utils/SSAUpdater.h
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Utils/SSAUpdater.cpp
M llvm/test/Transforms/SROA/non-capturing-call-readonly.ll
M llvm/test/Transforms/SROA/readonlynocapture.ll
Log Message:
-----------
[SROA] Optimize reloaded values in allocas that escape into readonly nocapture calls. (#116645)
Given an alloca that potentially has many uses in big complex code and
escapes into a call that is readonly+nocapture, we cannot easily split
up the alloca. There are several optimizations that will attempt to take
a value that is stored and a reload, and replace the load with the
original stored value. Instcombine has some simple heuristics, GVN can
sometimes do it, as can CSE in limited situations. They all suffer from
the same issue with complex code - they start from a load/store and need
to prove no-alias for all code between, which in complex cases might be
a lot to look through. Especially if the ptr is an alloca with many uses
that is over the normal escape capture limits.
The pass that does do well with allocas is SROA, as it has a complete
view of all of the uses. This patch adds a case to SROA where it can
detect allocas that are passed into calls that are no-capture readonly.
It can then optimize the reloaded values inside the alloca slice with
the stored value knowing that it is valid no matter the location of the
loads/stores from the no-escaping nature of the alloca.
Commit: a611d67601528cb18ae26794a1482cff59ca5254
https://github.com/llvm/llvm-project/commit/a611d67601528cb18ae26794a1482cff59ca5254
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
Log Message:
-----------
[RISCV][TTI] Add llvm.fmuladd and llvm.vp.fmuladd into canSplatOperand (#119508)
The first or second operand of fmuladd is a splat operand , it can help
fmuladd fold vv instructions to vf instructions.
Commit: 5b077506de26b1dfce1926895548b86f2106bed9
https://github.com/llvm/llvm-project/commit/5b077506de26b1dfce1926895548b86f2106bed9
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
Log Message:
-----------
[Transforms] Silence a warning in SROA.cpp (NFC)
/llvm-project/llvm/lib/Transforms/Scalar/SROA.cpp:5526:48:
error: '&&' within '||' [-Werror,-Wlogical-op-parentheses]
if (!SI->isSimple() || PartitionType && UserTy != PartitionType)
~~ ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
/llvm-project/llvm/lib/Transforms/Scalar/SROA.cpp:5526:48:
note: place parentheses around the '&&' expression to silence this warning
if (!SI->isSimple() || PartitionType && UserTy != PartitionType)
^
( )
1 error generated.
Commit: b604d23febe9ac25d274fd933044aa7846d4397e
https://github.com/llvm/llvm-project/commit/b604d23febe9ac25d274fd933044aa7846d4397e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] Pull out isa<VectorType> check.
Noticed while investigating a crash in #119559 - we don't account for I being replaced and its Type being reallocated. So hoist the checks to the start of the loop.
Commit: 625ec7ec8983e040c440928bc1b35143a6362eab
https://github.com/llvm/llvm-project/commit/625ec7ec8983e040c440928bc1b35143a6362eab
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
R llvm/test/Transforms/PhaseOrdering/X86/concat-boolmasks.ll
A llvm/test/Transforms/VectorCombine/X86/concat-boolmasks.ll
Log Message:
-----------
[VectorCombine] Move concat-boolmasks.ll tests to be VectorCombine only
Suggested on #119559
Commit: a480d5172215ce8e49b492e5c0295de1f397954d
https://github.com/llvm/llvm-project/commit/a480d5172215ce8e49b492e5c0295de1f397954d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Use existing vector trip count VPValue for resume phi (NFC)
Instead of going through getOrAddLiveIn to get a VPValue for the vector
trip count retrieve it directly from VPlan via getVectorTripCount.
Small simplification following 0e70289f373.
Commit: 1d65c35ce16f1bc340649ac8319b34c833e23a1f
https://github.com/llvm/llvm-project/commit/1d65c35ce16f1bc340649ac8319b34c833e23a1f
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/DeclSpec.cpp
M clang/test/AST/ByteCode/complex.cpp
M clang/test/CodeGenCXX/ext-int.cpp
M clang/test/SemaCXX/ext-int.cpp
Log Message:
-----------
[clang] Reject `_Complex _BitInt` (#119402)
The C standard doesn't require support for these types and Codegen for
these types is incorrect ATM.
See https://github.com/llvm/llvm-project/issues/119352
Commit: 9472c5fcc78a1f7ff48d797f91b55246f7c80b1a
https://github.com/llvm/llvm-project/commit/9472c5fcc78a1f7ff48d797f91b55246f7c80b1a
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/level_check.mlir
Log Message:
-----------
[TOSA] Make validation pass isValidElementType check more strict (#119671)
The validation pass is used to check alignment of the IR against the
TOSA specification. This commit updates the `isValidElement` check to
more strictly align with the specifications supported element types.
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Commit: 2be41e7aee1c72177019a219ccd8e0cfccdbb52b
https://github.com/llvm/llvm-project/commit/2be41e7aee1c72177019a219ccd8e0cfccdbb52b
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Transforms/IPO/AlwaysInliner.cpp
A llvm/test/Transforms/Inline/always-inline-bfi.ll
Log Message:
-----------
[AlwaysInline] Fix analysis invalidation (#119566)
This is a followup to #117750. Currently, AlwaysInline only invalidates
analyses at the end, by returning that no analyses are preserved.
However, this means that analyses fetched during inlining may be
outdated. The aforementioned PR exposed this issue.
Instead, bring the logic closer to what the normal inliner does, by
directly invalidating the caller in FAM. This should make sure that we
don't receive any outdated analyses even if they are fetched during
inlining.
Also drop the BFI updating entirely -- there's no point in doing it if
we're going to invalidate everything anyway.
Commit: 0cbdad4bd2396b740742d9ae94cba7d7b8a32cb5
https://github.com/llvm/llvm-project/commit/0cbdad4bd2396b740742d9ae94cba7d7b8a32cb5
Author: Bo Anderson <mail at boanderson.me>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/config-file3.c
Log Message:
-----------
[clang][Driver] Support simplified triple versions for config files (#111387)
Currently, the config file system loads the full target triple, e.g.
`arm64-apple-darwin23.6.0.cfg`.
This is however not very useful as this is a moving target. In the case
of macOS, that target moves every ~2 months.
We can improve this by adding fallbacks that simplify the version
component of the triple. This pull request adds support for loading
`arm64-apple-darwin23.cfg` and `arm64-apple-darwin.cfg`. See the
included test for a demonstration on how it works.
Commit: 81825687b4b45e0a6839fd05cad7bedf18205315
https://github.com/llvm/llvm-project/commit/81825687b4b45e0a6839fd05cad7bedf18205315
Author: Jefferson Le Quellec <jefferson.lequellec at codeplay.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M mlir/include/mlir/Conversion/Passes.td
M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
M mlir/test/Conversion/GPUToLLVMSPV/gpu-to-llvm-spv.mlir
Log Message:
-----------
[MLIR][GPUToLLVMSPV] Update ConvertGpuOpsToLLVMSPVOps's option (#118818)
## Description
This PR updates the `ConvertGpuOpsToLLVMSPVOps`'s option by replacing
the `index-bitwidth` with a boolean option `use-64bit-index` (similar to
the `ConvertGPUToSPIRV` option).
The reason for this modification is because the
`ConvertGpuOpsToLLVMSPVOps`:
> Generate LLVM operations to be ingested by a SPIR-V backend for gpu
operations
In the context of SPIR-V specifications only two physical addressing
models are allowed: `Physical32` and `Physical64`.
This change guarantees output sanity by preventing invalid or
unsupported index bitwidths from being specified.
Commit: f85579fb510faa0a57500b8fd3642f0269c4a4a1
https://github.com/llvm/llvm-project/commit/f85579fb510faa0a57500b8fd3642f0269c4a4a1
Author: bernhardu <bernhardu at mailbox.org>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/interception/tests/interception_win_test.cpp
Log Message:
-----------
[win/asan] GetInstructionSize: Fix `83 E4 XX` to return 3. (#119644)
This consolidates the two different lines for x86 and x86_64 into a
single line for both architectures.
And adds a test line.
CC: @zmodem
Commit: 6a9279ca407132eec848eb5c55c2222ce605df81
https://github.com/llvm/llvm-project/commit/6a9279ca407132eec848eb5c55c2222ce605df81
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
R libcxx/test/benchmarks/ContainerBenchmarks.h
R libcxx/test/benchmarks/algorithms.partition_point.bench.cpp
A libcxx/test/benchmarks/algorithms/algorithms.partition_point.bench.cpp
A libcxx/test/benchmarks/algorithms/lexicographical_compare_three_way.bench.cpp
A libcxx/test/benchmarks/containers/ContainerBenchmarks.h
A libcxx/test/benchmarks/containers/deque.bench.cpp
A libcxx/test/benchmarks/containers/deque_iterator.bench.cpp
A libcxx/test/benchmarks/containers/map.bench.cpp
A libcxx/test/benchmarks/containers/ordered_set.bench.cpp
A libcxx/test/benchmarks/containers/string.bench.cpp
A libcxx/test/benchmarks/containers/unordered_set_operations.bench.cpp
A libcxx/test/benchmarks/containers/vector_operations.bench.cpp
R libcxx/test/benchmarks/deque.bench.cpp
R libcxx/test/benchmarks/deque_iterator.bench.cpp
R libcxx/test/benchmarks/format.bench.cpp
A libcxx/test/benchmarks/format/format.bench.cpp
A libcxx/test/benchmarks/format/format_to.bench.cpp
A libcxx/test/benchmarks/format/format_to_n.bench.cpp
A libcxx/test/benchmarks/format/formatted_size.bench.cpp
A libcxx/test/benchmarks/format/formatter_float.bench.cpp
A libcxx/test/benchmarks/format/formatter_int.bench.cpp
A libcxx/test/benchmarks/format/std_format_spec_string_unicode.bench.cpp
A libcxx/test/benchmarks/format/std_format_spec_string_unicode_escape.bench.cpp
R libcxx/test/benchmarks/format_to.bench.cpp
R libcxx/test/benchmarks/format_to_n.bench.cpp
R libcxx/test/benchmarks/formatted_size.bench.cpp
R libcxx/test/benchmarks/formatter_float.bench.cpp
R libcxx/test/benchmarks/formatter_int.bench.cpp
R libcxx/test/benchmarks/lexicographical_compare_three_way.bench.cpp
R libcxx/test/benchmarks/map.bench.cpp
R libcxx/test/benchmarks/ordered_set.bench.cpp
R libcxx/test/benchmarks/std_format_spec_string_unicode.bench.cpp
R libcxx/test/benchmarks/std_format_spec_string_unicode_escape.bench.cpp
R libcxx/test/benchmarks/string.bench.cpp
R libcxx/test/benchmarks/unordered_set_operations.bench.cpp
R libcxx/test/benchmarks/vector_operations.bench.cpp
Log Message:
-----------
[libc++] Slight reorganization of the benchmarks (#119625)
Move various container benchmarks to the same subdirectory, and regroup
some format-related benchmarks.
Commit: f9734b9df15bc1eea84ef00973c2e5560e70c27d
https://github.com/llvm/llvm-project/commit/f9734b9df15bc1eea84ef00973c2e5560e70c27d
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/omptarget-byref-bycopy-generation-device.mlir
M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-device.mlir
A mlir/test/Target/LLVMIR/openmp-target-multiple-private.mlir
A mlir/test/Target/LLVMIR/openmp-target-private-allocatable.mlir
M mlir/test/Target/LLVMIR/openmp-target-private.mlir
M mlir/test/Target/LLVMIR/openmp-target-use-device-nested.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[mlir][OpenMP] - MLIR to LLVMIR translation support for delayed privatization of allocatables in `omp.target` ops (#116576)
This PR adds support to translate the `private` clause from MLIR to
LLVMIR when used on allocatables in the context of an `omp.target` op.
This replaces https://github.com/llvm/llvm-project/pull/113208.
Parent PR: https://github.com/llvm/llvm-project/pull/116770. Only the
latest commit is relevant to the PR.
Commit: 86779da52be6c6900a57fbba243f6894b19bb9b1
https://github.com/llvm/llvm-project/commit/86779da52be6c6900a57fbba243f6894b19bb9b1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/concat-boolmasks.ll
Log Message:
-----------
[VectorCombine] Fold "(or (zext (bitcast X)), (shl (zext (bitcast Y)), C))" -> "(bitcast (concat X, Y))" MOVMSK bool mask style patterns (#119695)
Mask/Bool vectors are often bitcast to/from scalar integers, in particular when concatenating mask results, often this is due to the difficulties of working with vector of bools on C/C++. On x86 this typically involves the MOVMSK/KMOV instructions.
To concatenate bool masks, these are typically cast to scalars, which are then zero-extended, shifted and OR'd together.
This patch attempts to match these scalar concatenation patterns and convert them to vector shuffles instead. This in turn often assists with further vector combines, depending on the cost model.
Reapplied patch from #119559 - fixed use after free issue.
Fixes #111431
Commit: f4ee5a673f6e593e85306cdf65493b53e62f936e
https://github.com/llvm/llvm-project/commit/f4ee5a673f6e593e85306cdf65493b53e62f936e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M offload/DeviceRTL/include/Synchronization.h
M offload/DeviceRTL/src/Synchronization.cpp
Log Message:
-----------
[OpenMP] Replace AMDGPU fences with generic scoped fences (#119619)
Summary:
This is simpler and more common. I would've replaced the CUDA uses and
made this the same but currently it doesn't codegen these fences fully
and just emits a full system wide barrier as a fallback.
Commit: 34d244a94195dbeb626573c9b2e388dc574f9300
https://github.com/llvm/llvm-project/commit/34d244a94195dbeb626573c9b2e388dc574f9300
Author: Yi Kong <yikong at google.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
Log Message:
-----------
Fix rtsan build with musl (#119674)
fd_set is defined by `sys/select.h`. On musl, this header is not
transitively included by the other headers.
Failure message:
```
compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp:761:37: error: unknown type name 'fd_set'; did you mean 'fd_t'?
761 | INTERCEPTOR(int, pselect, int nfds, fd_set *readfds, fd_set *writefds,
| ^~~~~~
| fd_t
```
Commit: 10ef20f6a629797d81252de143117e2a0bc6556d
https://github.com/llvm/llvm-project/commit/10ef20f6a629797d81252de143117e2a0bc6556d
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M mlir/CMakeLists.txt
M mlir/cmake/modules/AddMLIR.cmake
M mlir/tools/mlir-cpu-runner/CMakeLists.txt
M mlir/tools/mlir-lsp-server/CMakeLists.txt
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-parser-fuzzer/bytecode/CMakeLists.txt
M mlir/tools/mlir-parser-fuzzer/text/CMakeLists.txt
M mlir/tools/mlir-query/CMakeLists.txt
M mlir/tools/mlir-reduce/CMakeLists.txt
M mlir/tools/mlir-rewrite/CMakeLists.txt
M mlir/tools/mlir-translate/CMakeLists.txt
Log Message:
-----------
[mlir] Add support for MLIR_LINK_MLIR_DYLIB (#119408)
While MLIR currently supports building a libMLIR.so, it does not support
actually linking against it for its own tools. When building with LTO,
this means we have to relink the world for every tool, and the resulting
binaries are large.
This adds basic support for MLIR_LINK_MLIR_DYLIB, modelled after how
CLANG_LINK_CLANG_DYLIB is implemented: Libraries that are part of
libMLIR.so should be added via mlir_target_link_libraries instead of
target_link_libraries. This will replace them with libMLIR.so if
MLIR_LINK_MLIR_DYLIB is enabled.
This adds basic support, I think there are two more things that can be
done here:
* C API unit tests should link against libMLIR-C.so. Currently these
still link statically.
* Linking the test libs (not part of libMLIR.so) still pulls in
dependencies statically that should come from libMLIR.so.
Commit: e909c0ccd40e6d6aa2d10e0b60e8b992f3cde35b
https://github.com/llvm/llvm-project/commit/e909c0ccd40e6d6aa2d10e0b60e8b992f3cde35b
Author: Igor Kirillov <igor.kirillov at arm.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/test/CodeGen/AArch64/selectopt-cast.ll
Log Message:
-----------
[SelectOpt] Add support for AShr/LShr operands (#118495)
For conditional increments with sign check conditions like X < 0 or X >= 0,
the compiler may generate code like this:
%cmp = icmp sgt i64 %1, -1
%shift = ashr i64 %1, 63
%j.next = add nsw i64 %j, %shift
%sel = select i1 %cmp ...
, where %cmp is not in computation but in some other implicit or regular
expressions. This patch allows SelectOptimize pass to recognise these
cases.
Commit: 46ec271e039dfea0b8bb543290d27ca18b2e807b
https://github.com/llvm/llvm-project/commit/46ec271e039dfea0b8bb543290d27ca18b2e807b
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[mlir] Fix -Wunused-variable in OpenMPToLLVMIRTranslation.cpp (NFC)
/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:3921:12:
error: unused variable 'varType' [-Werror,-Wunused-variable]
Type varType = mapInfoOp.getVarType();
^
1 error generated.
Commit: e582865aa46b6b46d8c7e8a9244443247f5f173b
https://github.com/llvm/llvm-project/commit/e582865aa46b6b46d8c7e8a9244443247f5f173b
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M mlir/tools/mlir-opt/CMakeLists.txt
Log Message:
-----------
[mlir] Link MLIRMlirOptMain against test_libs
In 10ef20f6a629797d81252de143117e2a0bc6556d I dropped $test_libs
from $LIBS to handle them separately for the mlir-opt tool.
However, they should still include them in LINK_LIBS for the
MLIRMlirOptMain library.
Commit: bdaa82a7bb14b1016dbee554ef919323a197754d
https://github.com/llvm/llvm-project/commit/bdaa82a7bb14b1016dbee554ef919323a197754d
Author: Pravin Jagtap <Pravin.Jagtap at amd.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/test/CodeGen/AMDGPU/av-spill-expansion-with-machine-cp.mir
Log Message:
-----------
[AMDGPU] Mark AGPR tuple implicit in the first instr of AGPR spills. (#115285)
When AGPRs are spilled to stack through VGPRs, the pei only marks the
AGPR tuple as implicit-def. To preserve the liveness, it should also
mark the tuple implicit.
Fixes: SWDEV-462189
Commit: bae383ba6b53b0d8257c83f99ceecdd751d0a378
https://github.com/llvm/llvm-project/commit/bae383ba6b53b0d8257c83f99ceecdd751d0a378
Author: Aaron Puchert <aaron.puchert at sap.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/Solaris.cpp
Log Message:
-----------
[Driver] Cache SanitizerArgs (NFC) (#119442)
The name getSanitizerArgs seems to mislead callers that this is a cheap
function, but it extracts the SanitizerArgs each time it is called.
So we try to reuse it a bit more.
Commit: bb1961ed7779e782f4c28ee38854decf6f53c82f
https://github.com/llvm/llvm-project/commit/bb1961ed7779e782f4c28ee38854decf6f53c82f
Author: Pravin Jagtap <Pravin.Jagtap at amd.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
Log Message:
-----------
[AMDGPU] Stop using True16 profile for v_bitop3_b16 of gfx950. (#119706)
Commit: 67eb05b2928ea707761bb040e6eb824f4ca9ef3a
https://github.com/llvm/llvm-project/commit/67eb05b2928ea707761bb040e6eb824f4ca9ef3a
Author: Stefan Pintilie <stefanp at ca.ibm.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
Log Message:
-----------
[PowerPC] Add special handling for arguments that are smaller than pointer size. (#119003)
When arguments are passed in memory instead of registers we currently
load the entire pointer size even though the argument may be smaller.
For exmaple if the pointer size if i32 then we use a load word even if
the argument is only an i8. This patch zeros / extends the bits that are
not required to ensure that we are getting the correct value even if the
load is larger.
Commit: bc28be0a428020ea803c94adb4df48ee4972e9f1
https://github.com/llvm/llvm-project/commit/bc28be0a428020ea803c94adb4df48ee4972e9f1
Author: Peng Huang <shawn.p.huang at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/OHOS.cpp
Log Message:
-----------
[Driver][OHOS] Fix lld link issue for OHOS (#118192)
For ohos targets, libclang_rt.builtins.a, clang_rt.crtbegin.o and
clang_rt.crtend.o are installed in
clang/20/lib/${arch}-unknown-linux-ohos. However OHOS toolchain search
them in clang/20/lib/${arch}-linux-ohos folder. It causes link error.
Fix the problem by seaching both folders.
Commit: 6f8a363a483489687597e29b8bda0975e821f188
https://github.com/llvm/llvm-project/commit/6f8a363a483489687597e29b8bda0975e821f188
Author: AidinT <at.aidin at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl07.rst
M llvm/examples/Kaleidoscope/Chapter7/toy.cpp
Log Message:
-----------
[Kaleidoscope] Add mem2reg pass to function pass manager (#119707)
Kaleidoscope has switched to new pass manager before (#72324), but both
code and tutorial document have some missing parts.
This pull request fixes the following problems:
1. Adds `PromotePass` to the function pass manager. This pass was
removed during the switch from legacy pass manager to the new pass
manager.
2. Syncs the tutorial with the code.
Commit: 010d0115fc8e3834fc6f747f0841f3b1e467c4da
https://github.com/llvm/llvm-project/commit/010d0115fc8e3834fc6f747f0841f3b1e467c4da
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/include/clang-c/Index.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
A clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/ParserOpenACC/parse-constructs.c
M clang/test/SemaOpenACC/combined-construct-collapse-clause.cpp
M clang/test/SemaOpenACC/combined-construct-default-clause.c
M clang/test/SemaOpenACC/combined-construct-if-clause.c
M clang/test/SemaOpenACC/compute-construct-default-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-if-clause.c
A clang/test/SemaOpenACC/data-construct-ast.cpp
A clang/test/SemaOpenACC/data-construct.cpp
M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
Log Message:
-----------
[OpenACC] Create AST nodes for 'data' constructs
These constructs are all very similar and closely related, so this patch
creates the AST nodes for them, serialization, printing/etc.
Additionally the restrictions are all added as tests/todos in the tests,
as those will have to be implemented once we get those clauses implemented.
Commit: f229ea2ffe9bb8380a4285bd379736aaadaf55ac
https://github.com/llvm/llvm-project/commit/f229ea2ffe9bb8380a4285bd379736aaadaf55ac
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
Log Message:
-----------
[clang] Enable the -Wdangling-capture diagnostic by default. (#119685)
We have tested this diagnostics internally, and we don't find see any
issues.
Commit: a8e66d7f17bc648865cebf6b1e58c7a9071c6a84
https://github.com/llvm/llvm-project/commit/a8e66d7f17bc648865cebf6b1e58c7a9071c6a84
Author: iseki <admin at iseki.space>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/include/clang-c/CXString.h
Log Message:
-----------
[docs] Add a more detailed description in CXString.h. (#119090)
Emmm... Maybe I'm splitting hairs. But I really think the paragraph
should be more detailed. The orginal document makes me confused. Do I
take the ownership of the string data?
Here I don't refer the `clang_disposeString` function, because here's a
`clang_disposeStringSet`.
Co-authored-by: Saleem Abdulrasool <compnerd at compnerd.org>
Commit: 2f8238f849c4836b333082f387d91408234ea73b
https://github.com/llvm/llvm-project/commit/2f8238f849c4836b333082f387d91408234ea73b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
Log Message:
-----------
[llvm] Migrate away from PointerUnion::{is,get} (NFC) (#119679)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: fda80a4fcad8bab67fc1f522d68012e572866066
https://github.com/llvm/llvm-project/commit/fda80a4fcad8bab67fc1f522d68012e572866066
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Use addCallStack in a unit test (NFC) (#119651)
Here IndexedMemProfRecord just needs to reference a CallStackID, so we
can use addCallStack for a real hash-based CallStackId instead of a
fake value like 0x222.
Commit: 6c8f41d3367476d35ac730abf9f980291737193b
https://github.com/llvm/llvm-project/commit/6c8f41d3367476d35ac730abf9f980291737193b
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-select-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/icmp-uniforms.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/LoopVectorize/vplan-dot-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-outer-loop.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/LoopVectorize/vplan-unused-interleave-group.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Hook IR blocks into VPlan during skeleton creation (NFC) (#114292)
As a first step to move towards modeling the full skeleton in VPlan,
start by wrapping IR blocks created during legacy skeleton creation in
VPIRBasicBlocks and hook them into the VPlan. This means the skeleton
CFG is represented in VPlan, just before execute. This allows moving
parts of skeleton creation into recipes in the VPBBs gradually.
Note that this allows retiring some manual DT updates, as this will be
handled automatically during VPlan execution.
PR: https://github.com/llvm/llvm-project/pull/114292
Commit: e5371eded9c22ec4854634c9c58df793562f782d
https://github.com/llvm/llvm-project/commit/e5371eded9c22ec4854634c9c58df793562f782d
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
Log Message:
-----------
[compiler-rt] Don't build SME routines if __arm_cpu_features is not initialised. (#119703)
According to the conversation
[here](https://github.com/llvm/llvm-project/pull/119414#issuecomment-2536495859),
some platforms don't enable `__arm_cpu_features` with a global
constructor, but rather do so lazily when called from the FMV resolver.
PR #119414 removed the CMake guard to check to see if the targetted
platform is baremetal or supports sys/auxv. Without this check, the
routines rely on `__arm_cpu_features` being initialised when they may
not be, depending on the platform.
This PR simply avoids building the SME routines for those platforms for
now.
Commit: 4aacafd49b74dc168e0d99018b4c8289ce9c923e
https://github.com/llvm/llvm-project/commit/4aacafd49b74dc168e0d99018b4c8289ce9c923e
Author: Clement Courbet <courbet at google.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/unittests/AST/ASTContextParentMapTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][ASTVisitor] Visit `HoldingVar` from `BindingDecl`. (#117858)
Tuple-like types introduce `VarDecl`s in the AST for their "holding
vars", but AST visitors do not visit those. As a result the `VarDecl`
for the holding var is orphaned when trying to retreive its parents.
Fix a `FlowSensitive` test that assumes that only a `BindingDecl` is
introduced with the given name (the matcher now can also reach the
`VarDecl` for the holding var).
Commit: 9c319d5bb40785c969d2af76535ca62448dfafa7
https://github.com/llvm/llvm-project/commit/9c319d5bb40785c969d2af76535ca62448dfafa7
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lse2_lse128.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8_1a.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lse2_lse128.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8_1a.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic-128.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-udiv.ll
M llvm/test/CodeGen/AArch64/GlobalISel/insert-vector-elt-pr63826.ll
M llvm/test/CodeGen/AArch64/aarch64-addv.ll
M llvm/test/CodeGen/AArch64/aarch64-be-bv.ll
M llvm/test/CodeGen/AArch64/aarch64-bf16-dotprod-intrinsics.ll
M llvm/test/CodeGen/AArch64/aarch64-bif-gen.ll
M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
M llvm/test/CodeGen/AArch64/aarch64-combine-add-sub-mul.ll
M llvm/test/CodeGen/AArch64/aarch64-combine-add-zext.ll
M llvm/test/CodeGen/AArch64/aarch64-dup-ext-scalable.ll
M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
M llvm/test/CodeGen/AArch64/aarch64-dup-extract-scalable.ll
M llvm/test/CodeGen/AArch64/aarch64-fold-lslfast.ll
M llvm/test/CodeGen/AArch64/aarch64-interleaved-access-w-undef.ll
M llvm/test/CodeGen/AArch64/aarch64-load-ext.ll
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
M llvm/test/CodeGen/AArch64/aarch64-minmaxv.ll
M llvm/test/CodeGen/AArch64/aarch64-mops-mte.ll
M llvm/test/CodeGen/AArch64/aarch64-mops.ll
M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
M llvm/test/CodeGen/AArch64/aarch64-mulv.ll
M llvm/test/CodeGen/AArch64/aarch64-neon-vector-insert-uaddlv.ll
M llvm/test/CodeGen/AArch64/aarch64-scalarize-vec-load-ext.ll
M llvm/test/CodeGen/AArch64/aarch64-sysreg128.ll
M llvm/test/CodeGen/AArch64/aarch64-wide-shuffle.ll
M llvm/test/CodeGen/AArch64/abs.ll
M llvm/test/CodeGen/AArch64/active_lane_mask.ll
M llvm/test/CodeGen/AArch64/adc.ll
M llvm/test/CodeGen/AArch64/add-extract.ll
M llvm/test/CodeGen/AArch64/add.ll
M llvm/test/CodeGen/AArch64/addimm-mulimm.ll
M llvm/test/CodeGen/AArch64/addp-shuffle.ll
M llvm/test/CodeGen/AArch64/addsub_ext.ll
M llvm/test/CodeGen/AArch64/and-mask-removal.ll
M llvm/test/CodeGen/AArch64/andorxor.ll
M llvm/test/CodeGen/AArch64/arm64-abi-varargs.ll
M llvm/test/CodeGen/AArch64/arm64-addp.ll
M llvm/test/CodeGen/AArch64/arm64-addr-type-promotion.ll
M llvm/test/CodeGen/AArch64/arm64-atomic-128.ll
M llvm/test/CodeGen/AArch64/arm64-bitfield-extract.ll
M llvm/test/CodeGen/AArch64/arm64-build-vector.ll
M llvm/test/CodeGen/AArch64/arm64-collect-loh.ll
M llvm/test/CodeGen/AArch64/arm64-dup.ll
M llvm/test/CodeGen/AArch64/arm64-ext.ll
M llvm/test/CodeGen/AArch64/arm64-extract-insert-varidx.ll
M llvm/test/CodeGen/AArch64/arm64-extract_subvector.ll
M llvm/test/CodeGen/AArch64/arm64-fcopysign.ll
M llvm/test/CodeGen/AArch64/arm64-fixed-point-scalar-cvt-dagcombine.ll
M llvm/test/CodeGen/AArch64/arm64-fmax.ll
M llvm/test/CodeGen/AArch64/arm64-fp128.ll
M llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
M llvm/test/CodeGen/AArch64/arm64-instruction-mix-remarks.ll
M llvm/test/CodeGen/AArch64/arm64-ld1.ll
M llvm/test/CodeGen/AArch64/arm64-ldxr-stxr.ll
M llvm/test/CodeGen/AArch64/arm64-mul.ll
M llvm/test/CodeGen/AArch64/arm64-neon-2velem-high.ll
M llvm/test/CodeGen/AArch64/arm64-neon-2velem.ll
M llvm/test/CodeGen/AArch64/arm64-neon-3vdiff.ll
M llvm/test/CodeGen/AArch64/arm64-neon-add-pairwise.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copyPhysReg-tuple.ll
M llvm/test/CodeGen/AArch64/arm64-neon-mul-div.ll
M llvm/test/CodeGen/AArch64/arm64-neon-scalar-by-elem-mul.ll
M llvm/test/CodeGen/AArch64/arm64-neon-select_cc.ll
M llvm/test/CodeGen/AArch64/arm64-neon-simd-ldst-one.ll
M llvm/test/CodeGen/AArch64/arm64-neon-simd-shift.ll
M llvm/test/CodeGen/AArch64/arm64-neon-simd-vget.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v1i1-setcc.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v8.1a.ll
M llvm/test/CodeGen/AArch64/arm64-nvcast.ll
M llvm/test/CodeGen/AArch64/arm64-popcnt.ll
M llvm/test/CodeGen/AArch64/arm64-rev.ll
M llvm/test/CodeGen/AArch64/arm64-shifted-sext.ll
M llvm/test/CodeGen/AArch64/arm64-shrink-wrapping.ll
M llvm/test/CodeGen/AArch64/arm64-stp.ll
M llvm/test/CodeGen/AArch64/arm64-subvector-extend.ll
M llvm/test/CodeGen/AArch64/arm64-tbl.ll
M llvm/test/CodeGen/AArch64/arm64-vadd.ll
M llvm/test/CodeGen/AArch64/arm64-vaddv.ll
M llvm/test/CodeGen/AArch64/arm64-vcvt_f.ll
M llvm/test/CodeGen/AArch64/arm64-vector-insertion.ll
M llvm/test/CodeGen/AArch64/arm64-vmul.ll
M llvm/test/CodeGen/AArch64/arm64-zip.ll
M llvm/test/CodeGen/AArch64/arm64_32-addrs.ll
M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
M llvm/test/CodeGen/AArch64/atomic-ops-lse.ll
M llvm/test/CodeGen/AArch64/atomic-ops-msvc.ll
M llvm/test/CodeGen/AArch64/atomic-ops.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fadd.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fmax.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fmin.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fsub.ll
M llvm/test/CodeGen/AArch64/atomicrmw-xchg-fp.ll
M llvm/test/CodeGen/AArch64/bf16-instructions.ll
M llvm/test/CodeGen/AArch64/bf16-select.ll
M llvm/test/CodeGen/AArch64/bf16-shuffle.ll
M llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/bf16-vector-shuffle.ll
M llvm/test/CodeGen/AArch64/bitcast-promote-widen.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/bitfield-insert.ll
M llvm/test/CodeGen/AArch64/bswap.ll
M llvm/test/CodeGen/AArch64/build-one-lane.ll
M llvm/test/CodeGen/AArch64/build-vector-extract.ll
M llvm/test/CodeGen/AArch64/build-vector-two-dup.ll
M llvm/test/CodeGen/AArch64/check-sign-bit-before-extension.ll
M llvm/test/CodeGen/AArch64/cmp-to-cmn.ll
M llvm/test/CodeGen/AArch64/cmpxchg-idioms.ll
M llvm/test/CodeGen/AArch64/combine-andintoload.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-multiuses.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-uniform-cases.ll
M llvm/test/CodeGen/AArch64/concat-vector.ll
M llvm/test/CodeGen/AArch64/concatbinop.ll
M llvm/test/CodeGen/AArch64/cvt-fp-int-fp.ll
M llvm/test/CodeGen/AArch64/dag-numsignbits.ll
M llvm/test/CodeGen/AArch64/dup.ll
M llvm/test/CodeGen/AArch64/duplane-index-patfrags.ll
M llvm/test/CodeGen/AArch64/ext-narrow-index.ll
M llvm/test/CodeGen/AArch64/extbinopload.ll
M llvm/test/CodeGen/AArch64/extract-bits.ll
M llvm/test/CodeGen/AArch64/extract-insert.ll
M llvm/test/CodeGen/AArch64/extract-lowbits.ll
M llvm/test/CodeGen/AArch64/extract-sext-zext.ll
M llvm/test/CodeGen/AArch64/extract-subvec-combine.ll
M llvm/test/CodeGen/AArch64/extract-vector-cmp.ll
M llvm/test/CodeGen/AArch64/extract-vector-elt.ll
M llvm/test/CodeGen/AArch64/f16-instructions.ll
M llvm/test/CodeGen/AArch64/fabs-fp128.ll
M llvm/test/CodeGen/AArch64/fabs.ll
M llvm/test/CodeGen/AArch64/faddp-half.ll
M llvm/test/CodeGen/AArch64/faddp.ll
M llvm/test/CodeGen/AArch64/faddsub.ll
M llvm/test/CodeGen/AArch64/fast-isel-addressing-modes.ll
M llvm/test/CodeGen/AArch64/fast-isel-gep.ll
M llvm/test/CodeGen/AArch64/fast-isel-shift.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/fcopysign-noneon.ll
M llvm/test/CodeGen/AArch64/fcopysign.ll
M llvm/test/CodeGen/AArch64/fcvt.ll
M llvm/test/CodeGen/AArch64/fcvt_combine.ll
M llvm/test/CodeGen/AArch64/fdiv-combine.ll
M llvm/test/CodeGen/AArch64/fdiv.ll
M llvm/test/CodeGen/AArch64/fexplog.ll
M llvm/test/CodeGen/AArch64/fixed-point-conv-vec-pat.ll
M llvm/test/CodeGen/AArch64/fixed-vector-deinterleave.ll
M llvm/test/CodeGen/AArch64/fixed-vector-interleave.ll
M llvm/test/CodeGen/AArch64/fmaximum-legalization.ll
M llvm/test/CodeGen/AArch64/fminimummaximum.ll
M llvm/test/CodeGen/AArch64/fminmax.ll
M llvm/test/CodeGen/AArch64/fmla.ll
M llvm/test/CodeGen/AArch64/fmul.ll
M llvm/test/CodeGen/AArch64/fneg.ll
M llvm/test/CodeGen/AArch64/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/AArch64/fp-conversion-to-tbl.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics-vector.ll
M llvm/test/CodeGen/AArch64/fp-maximumnum-minimumnum.ll
M llvm/test/CodeGen/AArch64/fp16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/fp16-vector-shuffle.ll
M llvm/test/CodeGen/AArch64/fp16_intrinsic_lane.ll
M llvm/test/CodeGen/AArch64/fp8-sve-cvtn.ll
M llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
M llvm/test/CodeGen/AArch64/fpext.ll
M llvm/test/CodeGen/AArch64/fpmode.ll
M llvm/test/CodeGen/AArch64/fpow.ll
M llvm/test/CodeGen/AArch64/fpowi.ll
M llvm/test/CodeGen/AArch64/fptoi.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptrunc.ll
M llvm/test/CodeGen/AArch64/freeze.ll
M llvm/test/CodeGen/AArch64/frem-power2.ll
M llvm/test/CodeGen/AArch64/frem.ll
M llvm/test/CodeGen/AArch64/fsincos.ll
M llvm/test/CodeGen/AArch64/fsqrt.ll
M llvm/test/CodeGen/AArch64/funnel-shift.ll
M llvm/test/CodeGen/AArch64/get-active-lane-mask-extract.ll
M llvm/test/CodeGen/AArch64/get_vector_length.ll
M llvm/test/CodeGen/AArch64/half.ll
M llvm/test/CodeGen/AArch64/hoist-and-by-const-from-lshr-in-eqcmp-zero.ll
M llvm/test/CodeGen/AArch64/hoist-and-by-const-from-shl-in-eqcmp-zero.ll
M llvm/test/CodeGen/AArch64/icmp.ll
M llvm/test/CodeGen/AArch64/implicit-def-remat-requires-impdef-check.mir
M llvm/test/CodeGen/AArch64/implicit-def-subreg-to-reg-regression.ll
M llvm/test/CodeGen/AArch64/implicit-def-with-impdef-greedy-assert.mir
M llvm/test/CodeGen/AArch64/insert-extend.ll
M llvm/test/CodeGen/AArch64/insert-subvector.ll
M llvm/test/CodeGen/AArch64/insertextract.ll
M llvm/test/CodeGen/AArch64/insertshuffleload.ll
M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll
M llvm/test/CodeGen/AArch64/intrinsic-vector-match-sve2.ll
M llvm/test/CodeGen/AArch64/itofp-bf16.ll
M llvm/test/CodeGen/AArch64/itofp.ll
M llvm/test/CodeGen/AArch64/ldexp.ll
M llvm/test/CodeGen/AArch64/llrint-conv-fp16.ll
M llvm/test/CodeGen/AArch64/llrint-conv.ll
M llvm/test/CodeGen/AArch64/llround-conv-fp16.ll
M llvm/test/CodeGen/AArch64/llvm.exp10.ll
M llvm/test/CodeGen/AArch64/llvm.frexp.ll
M llvm/test/CodeGen/AArch64/llvm.sincos.ll
M llvm/test/CodeGen/AArch64/load.ll
M llvm/test/CodeGen/AArch64/logic-shift.ll
M llvm/test/CodeGen/AArch64/lrint-conv-fp16.ll
M llvm/test/CodeGen/AArch64/lrint-conv.ll
M llvm/test/CodeGen/AArch64/lround-conv-fp16.ll
M llvm/test/CodeGen/AArch64/lslfast.ll
M llvm/test/CodeGen/AArch64/machine-combiner-copy.ll
M llvm/test/CodeGen/AArch64/machine-licm-sub-loop.ll
M llvm/test/CodeGen/AArch64/memset-inline.ll
M llvm/test/CodeGen/AArch64/memset-vs-memset-inline.ll
M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-01.mir
M llvm/test/CodeGen/AArch64/mla_mls_merge.ll
M llvm/test/CodeGen/AArch64/mul.ll
M llvm/test/CodeGen/AArch64/neon-bitcast.ll
M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
M llvm/test/CodeGen/AArch64/neon-dot-product.ll
M llvm/test/CodeGen/AArch64/neon-extadd-extract.ll
M llvm/test/CodeGen/AArch64/neon-extract.ll
M llvm/test/CodeGen/AArch64/neon-extracttruncate.ll
M llvm/test/CodeGen/AArch64/neon-insert-sve-elt.ll
M llvm/test/CodeGen/AArch64/neon-insextbitcast.ll
M llvm/test/CodeGen/AArch64/neon-luti.ll
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/neon-perm.ll
M llvm/test/CodeGen/AArch64/neon-reverseshuffle.ll
M llvm/test/CodeGen/AArch64/neon-rshrn.ll
M llvm/test/CodeGen/AArch64/neon-scalar-by-elem-fma.ll
M llvm/test/CodeGen/AArch64/neon-scalarize-histogram.ll
M llvm/test/CodeGen/AArch64/neon-shuffle-vector-tbl.ll
M llvm/test/CodeGen/AArch64/neon-truncstore.ll
M llvm/test/CodeGen/AArch64/neon-vcmla.ll
M llvm/test/CodeGen/AArch64/neon-wide-splat.ll
M llvm/test/CodeGen/AArch64/neon-widen-shuffle.ll
M llvm/test/CodeGen/AArch64/nontemporal-load.ll
M llvm/test/CodeGen/AArch64/nontemporal.ll
M llvm/test/CodeGen/AArch64/phi.ll
M llvm/test/CodeGen/AArch64/popcount.ll
M llvm/test/CodeGen/AArch64/pow.ll
M llvm/test/CodeGen/AArch64/pr-cf624b2.ll
M llvm/test/CodeGen/AArch64/pr58350.ll
M llvm/test/CodeGen/AArch64/pr58431.ll
M llvm/test/CodeGen/AArch64/pr61111.ll
M llvm/test/CodeGen/AArch64/preserve_nonecc_varargs_win64.ll
M llvm/test/CodeGen/AArch64/ptradd.ll
M llvm/test/CodeGen/AArch64/qmovn.ll
M llvm/test/CodeGen/AArch64/rcpc3.ll
M llvm/test/CodeGen/AArch64/reduce-and.ll
M llvm/test/CodeGen/AArch64/reduce-or.ll
M llvm/test/CodeGen/AArch64/reduce-shuffle.ll
M llvm/test/CodeGen/AArch64/reduce-xor.ll
M llvm/test/CodeGen/AArch64/regalloc-last-chance-recolor-with-split.mir
M llvm/test/CodeGen/AArch64/rem.ll
M llvm/test/CodeGen/AArch64/round-fptosi-sat-scalar.ll
M llvm/test/CodeGen/AArch64/select-constant-xor.ll
M llvm/test/CodeGen/AArch64/seqpairspill.mir
M llvm/test/CodeGen/AArch64/setcc_knownbits.ll
M llvm/test/CodeGen/AArch64/sext.ll
M llvm/test/CodeGen/AArch64/shift-amount-mod.ll
M llvm/test/CodeGen/AArch64/shift-by-signext.ll
M llvm/test/CodeGen/AArch64/shift-mod.ll
M llvm/test/CodeGen/AArch64/shift.ll
M llvm/test/CodeGen/AArch64/shift_minsize.ll
M llvm/test/CodeGen/AArch64/shuffle-tbl34.ll
M llvm/test/CodeGen/AArch64/shuffles.ll
M llvm/test/CodeGen/AArch64/shufflevector.ll
M llvm/test/CodeGen/AArch64/sink-and-fold.ll
M llvm/test/CodeGen/AArch64/sme-aarch64-svcount.ll
M llvm/test/CodeGen/AArch64/sme-avoid-coalescing-locally-streaming.ll
M llvm/test/CodeGen/AArch64/sme-intrinsics-loads.ll
M llvm/test/CodeGen/AArch64/sme-intrinsics-stores.ll
M llvm/test/CodeGen/AArch64/sme-pstate-sm-changing-call-disable-coalescing.ll
M llvm/test/CodeGen/AArch64/sme-streaming-body.ll
M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
M llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-cvt.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-add-sub-za16.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-add.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-cvtn.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-faminmax.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-fmlas.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-fp-dots.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-fscale.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-insert-mova.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-luti4.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-max.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-min.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-mlall.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-mlals.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-rshl.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-select-sme-tileslice.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-sqdmulh.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-sub.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-vdot.ll
M llvm/test/CodeGen/AArch64/smul_fix_sat.ll
M llvm/test/CodeGen/AArch64/spill-fold.mir
M llvm/test/CodeGen/AArch64/split-vector-insert.ll
M llvm/test/CodeGen/AArch64/srem-vector-lkk.ll
M llvm/test/CodeGen/AArch64/store.ll
M llvm/test/CodeGen/AArch64/sub.ll
M llvm/test/CodeGen/AArch64/sve-cntp-combine-i32.ll
M llvm/test/CodeGen/AArch64/sve-doublereduct.ll
M llvm/test/CodeGen/AArch64/sve-extract-element.ll
M llvm/test/CodeGen/AArch64/sve-extract-fixed-from-scalable-vector.ll
M llvm/test/CodeGen/AArch64/sve-extract-fixed-vector.ll
M llvm/test/CodeGen/AArch64/sve-extract-scalable-vector.ll
M llvm/test/CodeGen/AArch64/sve-fadda-select.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-bit-counting.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-concat.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-subvector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-extend-trunc.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-reduce.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-select.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-to-int.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp128.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-insert-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-arith.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-div.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-extends.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-minmax.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-mulh.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-rem.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-select.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-log-reduce.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-128bit-loads.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-loads.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-no-vscale-range.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-reshuffle.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-rev.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-sdiv-pow2.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-splat-vector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-subvector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-trunc.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-vector-shuffle-tbl.ll
M llvm/test/CodeGen/AArch64/sve-fixed-vector-llrint.ll
M llvm/test/CodeGen/AArch64/sve-fixed-vector-lrint.ll
M llvm/test/CodeGen/AArch64/sve-fp-reduce-fadda.ll
M llvm/test/CodeGen/AArch64/sve-fp-reduce.ll
M llvm/test/CodeGen/AArch64/sve-i1-add-reduce.ll
M llvm/test/CodeGen/AArch64/sve-implicit-zero-filling.ll
M llvm/test/CodeGen/AArch64/sve-index-const-step-vector.ll
M llvm/test/CodeGen/AArch64/sve-insert-element.ll
M llvm/test/CodeGen/AArch64/sve-insert-vector.ll
M llvm/test/CodeGen/AArch64/sve-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-counting-elems-i32.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-dup-x.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-fp-reduce.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-perm-select.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-reinterpret.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-shifts.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-sqdec.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-sqinc.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-stN-reg-imm-addr-mode.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-stN-reg-reg-addr-mode.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-stores.ll
M llvm/test/CodeGen/AArch64/sve-merging-stores.ll
M llvm/test/CodeGen/AArch64/sve-nontemporal-masked-ldst.ll
M llvm/test/CodeGen/AArch64/sve-pr62151.ll
M llvm/test/CodeGen/AArch64/sve-pred-selectop.ll
M llvm/test/CodeGen/AArch64/sve-select.ll
M llvm/test/CodeGen/AArch64/sve-split-extract-elt.ll
M llvm/test/CodeGen/AArch64/sve-split-fp-reduce.ll
M llvm/test/CodeGen/AArch64/sve-split-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-stack-frame-layout.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-and-combine.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-build-vector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-concat.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-subvector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-arith.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-fma.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce-fa64.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-rounding.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-arith.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.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-extends.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-log.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mla-neon-fa64.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mul.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mulh.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-rem.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-shifts.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-limit-duplane.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-log-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-gather-scatter.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-load.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-store.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-rev.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ptest.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-reductions.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-reshuffle.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-rev.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-sdiv-pow2.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-shuffle.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-splat-vector.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
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-vector-shuffle.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-test-register-mov.ll
M llvm/test/CodeGen/AArch64/sve-vecreduce-dot.ll
M llvm/test/CodeGen/AArch64/sve-vector-compress.ll
M llvm/test/CodeGen/AArch64/sve-vector-splat.ll
M llvm/test/CodeGen/AArch64/sve-vl-arith.ll
M llvm/test/CodeGen/AArch64/sve2-histcnt.ll
M llvm/test/CodeGen/AArch64/sve2-intrinsics-luti.ll
M llvm/test/CodeGen/AArch64/sve2-intrinsics-perm-tb.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfclamp.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-fclamp.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-multivec-stores.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-sclamp.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-selx4.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-stores.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-uclamp.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-uzpx4.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-while-pp.ll
M llvm/test/CodeGen/AArch64/swift-error-unreachable-use.ll
M llvm/test/CodeGen/AArch64/tbl-loops.ll
M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
M llvm/test/CodeGen/AArch64/uaddlv-vaddlp-combine.ll
M llvm/test/CodeGen/AArch64/umul_fix_sat.ll
M llvm/test/CodeGen/AArch64/urem-vector-lkk.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vec-libcalls.ll
M llvm/test/CodeGen/AArch64/vecreduce-add-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
M llvm/test/CodeGen/AArch64/vecreduce-and-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-bool.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd-legalization-strict.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd-strict.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization-nan.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmaximum.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmin-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fminimum.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmul-legalization-strict.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmul-strict.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmul.ll
M llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
M llvm/test/CodeGen/AArch64/vector-compress.ll
M llvm/test/CodeGen/AArch64/vector-fcopysign.ll
M llvm/test/CodeGen/AArch64/vector-fcvt.ll
M llvm/test/CodeGen/AArch64/vector-llrint.ll
M llvm/test/CodeGen/AArch64/vector-lrint.ll
M llvm/test/CodeGen/AArch64/vldn_shuffle.ll
M llvm/test/CodeGen/AArch64/win64-fpowi.ll
M llvm/test/CodeGen/AArch64/win64_vararg.ll
M llvm/test/CodeGen/AArch64/xtn.ll
M llvm/test/CodeGen/AArch64/zext.ll
Log Message:
-----------
[AArch64] Enable subreg liveness tracking by default.
Internal testing didn't flag up any functional- or performance regressions.
Commit: 60d9e6fba884048e1047a208b61f0dfd8baabaaa
https://github.com/llvm/llvm-project/commit/60d9e6fba884048e1047a208b61f0dfd8baabaaa
Author: Jan Ječmen <JanJecmen at users.noreply.github.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
M llvm/test/Transforms/IRCE/low-iterations.ll
A llvm/test/Transforms/IRCE/profitability.ll
Log Message:
-----------
[IRCE] Relax profitability check (#104659)
IRCE currently has two profitability checks:
1. min number of iterations (10 by default)
2. branch is highly biased (> 15/16)
However, it may still be profitable to eliminate range checks even if
the branch isn't as biased. Consider, for example, a loop with 100
iterations, where IRCE currently eliminates all 100 range checks. The
same range checks performed over a loop with 200 iterations aren't
eliminated because the branch is 50-50.
This patch proposes to relax the profitability checks of IRCE. Namely,
instead of the two checks currenly in place, consider IRCE profitable if
the branch probability scaled by the expected number of iterations
(i.e., the estimated number of eliminated checks) is over a threshold.
This covers the minimum number of iterations check (there are at least
as many iterations as eliminated range checks), and changes the bias
check from a percent of iterations to at least a constant threshold of
eliminated checks.
If the number of iterations can't be estimated, the check falls back to
the current 15/16 likelihood check.
Commit: bdd365825d0766b6991c8f5443f8a9f76e75011a
https://github.com/llvm/llvm-project/commit/bdd365825d0766b6991c8f5443f8a9f76e75011a
Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
[MLIR] Fix `ComplexToStandard` lowering of `complex::MulOp` (#119591)
A complex multiplication should lower simply to the familiar 4 real
multiplications, 1 real addition, 1 real subtraction. No special-casing
of infinite or NaN values should be made, instead the complex numbers
should be thought as just vectors of two reals, naturally bottoming out
on the reals' semantics, IEEE754 or otherwise. That is what nearly
everybody else is doing ("nearly" because at the end of this PR
description we pinpoint the actual source of this in C99 `_Complex`),
and this pattern, by trying to do something different, was generating
much larger code, which was much slower and a departure from the
naturally expected floating-point behavior.
This code had originally been introduced in
https://reviews.llvm.org/D105270, which stated this rationale:
> The lowering handles special cases with NaN or infinity like C++.
I don't think that the C++ standard is a particularly important thing to
follow in this instance. What matters more is what people actually do in
practice with complex numbers, which rarely involves the C++
`std::complex` library type.
But out of curiosity, I checked, and the above statement seems
incorrect. The [current C++
standard](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/n4928.pdf)
library specification for `std::complex` does not say anything about the
implementation of complex multiplication: paragraph `[complex.ops]`
falls back on `[complex.member.ops]` which says:
> Effects: Multiplies the complex value rhs by the complex value *this
and stores the product in *this.
I also checked cppreference which often has useful information in case
something changed in a c++ language revision, but likewise, nothing at
all there:
https://en.cppreference.com/w/cpp/numeric/complex/operator_arith3
Finally, I checked in Compiler Explorer what Clang 19 currently
generates:
https://godbolt.org/z/oY7Ks4j95
That is just the familiar 4 multiplications.... and then there is some
weird check (`fcmp`) and conditionally a call to an external `__mulsc3`.
Googled that, found this StackOverflow answer:
https://stackoverflow.com/a/49438578
Summary: this is not about C++ (this post confirms my reading of the C++
standard not mandating anything about this). This is about C, and it
just happens that this C++ standard library implementation bottoms out
on code shared with the C `_Complex` implementation.
Another nuance missing in that SO answer: this is actually
[implementation-defined
behavior](https://en.cppreference.com/w/c/preprocessor/impl). There are
two modes, controlled by
```c
#pragma STDC CX_LIMITED_RANGE {ON,OFF,DEFAULT}
```
It is implementation-defined which is the default. Clang defaults to
OFF, but that's just Clang. In that mode, the check is required:
https://en.cppreference.com/w/c/language/arithmetic_types#Complex_floating_types
And the specific point in the [C99
standard](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf)
is: `G.5.1 Multiplicative operators`.
But set it to ON and the check is gone:
https://godbolt.org/z/aG8fnbYoP
Summary: the argument has moved from C++ to C --- and even there, to
implementation-defined behavior with a standard opt-out mechanism.
Like with C++, I maintain that the C standard is not a particularly
meaningful thing for MLIR to follow here, because people doing business
with complex numbers tend to lower them to real numbers themselves, or
have their own specialized complex types, either way not relying on
C99's `_Complex` type --- and the very poor performance of the
`CX_LIMITED_RANGE OFF` behavior (default in Clang) is certainly a key
reason why people who care prefer to stay away from `_Complex` and
`std::complex`.
A good example that's relevant to MLIR's space is CUDA's `cuComplex`
type (used in the cuBLAS CGEMM interface). Here is its multiplication
function. The comment about competitiveness is interesting: it's not a
quirk of this particular function, it's the spirit underpinning
numerical code that matters.
https://github.com/tpn/cuda-samples/blob/1bf5cd15c51ce80fc9b387c0ff89a9f535b42bf5/v8.0/include/cuComplex.h#L106-L120
```c
/* This implementation could suffer from intermediate overflow even though
* the final result would be in range. However, various implementations do
* not guard against this (presumably to avoid losing performance), so we
* don't do it either to stay competitive.
*/
__host__ __device__ static __inline__ cuFloatComplex cuCmulf (cuFloatComplex x,
cuFloatComplex y)
{
cuFloatComplex prod;
prod = make_cuFloatComplex ((cuCrealf(x) * cuCrealf(y)) -
(cuCimagf(x) * cuCimagf(y)),
(cuCrealf(x) * cuCimagf(y)) +
(cuCimagf(x) * cuCrealf(y)));
return prod;
}
```
Another instance in CUTLASS:
https://github.com/NVIDIA/cutlass/blob/main/include/cutlass/complex.h#L231-L236
Signed-off-by: Benoit Jacob <jacob.benoit.1 at gmail.com>
Commit: c95af0844d64f15b99fab37c25efb01a8d783847
https://github.com/llvm/llvm-project/commit/c95af0844d64f15b99fab37c25efb01a8d783847
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Move ::getVectorLoopRegion out of ifdef (NFC).
Fixes a build failure with assertions disabled after
6c8f41d336747.
Commit: 8eec301fe3ac5fdcb4de4757806661b99c9e6580
https://github.com/llvm/llvm-project/commit/8eec301fe3ac5fdcb4de4757806661b99c9e6580
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
A clang/test/SemaOpenACC/data-construct-device_type-ast.cpp
A clang/test/SemaOpenACC/data-construct-device_type-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
Log Message:
-----------
[OpenACC] Implement 'device_type' for 'data' construct
Semantically this is identical to all other constructs with this tag,
except in this case the 'wait' and 'async' are the only ones allowed
after it. This patch implements that rule using the existing
infrastructure.
Commit: 4a5f82b43be7328d7b7b4cd9912487fd3f284b49
https://github.com/llvm/llvm-project/commit/4a5f82b43be7328d7b7b4cd9912487fd3f284b49
Author: Aleksei Vetrov <vetaleha at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
A llvm/test/MC/ELF/debug-hash-file-empty-dwarf.s
M llvm/test/MC/ELF/debug-hash-file.s
Log Message:
-----------
[MC] Fix DWARF file table for files with empty DWARF (#119572)
Update root file in DWARF file/line table as soon as we see the first
"#line" directive.
This was moved from "enabledGenDwarfForAssembly", which is called right
before we emit DWARF information. But if the file is empty or contains
expressions that doesn't need DWARF, it is never called, leaving an
original root file and not the file in the "#line" directive.
Add a test checking for this case.
This is reapply of #119229 with the following fix:
"MCContext::setMCLineTableRootFile" has the effect of adding
".debug_line" section to the output, even if DWARF generation is
disabled. Add a check and a test for this case.
Fixes: #119020
Fixes: #119229
Commit: 6edd867e43cb5eb3bb84561c0490e5ebb9d06d90
https://github.com/llvm/llvm-project/commit/6edd867e43cb5eb3bb84561c0490e5ebb9d06d90
Author: Abhina Sreeskantharajan <Abhina.Sreeskantharajan at ibm.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/lib/Basic/SourceManager.cpp
Log Message:
-----------
[SystemZ][z/OS] Replace assert with updated return statement to check if a file size will grow due to conversion
Commit: 4cce10743d2275710d3d2e0de8013386a9799092
https://github.com/llvm/llvm-project/commit/4cce10743d2275710d3d2e0de8013386a9799092
Author: knickish <knickish at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Target/M68k/Disassembler/M68kDisassembler.cpp
M llvm/lib/Target/M68k/M68kISelDAGToDAG.cpp
M llvm/lib/Target/M68k/M68kInstrAtomics.td
M llvm/test/CodeGen/M68k/Atomics/load-store.ll
M llvm/test/CodeGen/M68k/Atomics/rmw.ll
A llvm/test/CodeGen/M68k/CodeModel/Large/Atomics/cmpxchg.ll
A llvm/test/CodeGen/M68k/CodeModel/Large/Atomics/fence.ll
A llvm/test/CodeGen/M68k/CodeModel/Large/Atomics/load-store.ll
A llvm/test/CodeGen/M68k/CodeModel/Large/Atomics/rmw.ll
A llvm/test/CodeGen/M68k/CodeModel/Large/large-pic.ll
A llvm/test/CodeGen/M68k/CodeModel/Large/large-pie-global-access.ll
A llvm/test/CodeGen/M68k/CodeModel/Large/large-pie.ll
A llvm/test/CodeGen/M68k/CodeModel/Large/large-static.ll
A llvm/test/CodeGen/M68k/CodeModel/Medium/medium-pic.ll
A llvm/test/CodeGen/M68k/CodeModel/Medium/medium-pie-global-access.ll
A llvm/test/CodeGen/M68k/CodeModel/Medium/medium-pie.ll
A llvm/test/CodeGen/M68k/CodeModel/Medium/medium-static.ll
A llvm/test/CodeGen/M68k/CodeModel/Small/small-pic.ll
A llvm/test/CodeGen/M68k/CodeModel/Small/small-pie-global-access.ll
A llvm/test/CodeGen/M68k/CodeModel/Small/small-pie.ll
A llvm/test/CodeGen/M68k/CodeModel/Small/small-static.ll
R llvm/test/CodeGen/M68k/CodeModel/large-pic.ll
R llvm/test/CodeGen/M68k/CodeModel/large-pie-global-access.ll
R llvm/test/CodeGen/M68k/CodeModel/large-pie.ll
R llvm/test/CodeGen/M68k/CodeModel/large-static.ll
R llvm/test/CodeGen/M68k/CodeModel/medium-pic.ll
R llvm/test/CodeGen/M68k/CodeModel/medium-pie-global-access.ll
R llvm/test/CodeGen/M68k/CodeModel/medium-pie.ll
R llvm/test/CodeGen/M68k/CodeModel/medium-static.ll
R llvm/test/CodeGen/M68k/CodeModel/small-pic.ll
R llvm/test/CodeGen/M68k/CodeModel/small-pie-global-access.ll
R llvm/test/CodeGen/M68k/CodeModel/small-pie.ll
R llvm/test/CodeGen/M68k/CodeModel/small-static.ll
A llvm/test/CodeGen/M68k/TLS/tls-arid.ll
M llvm/test/MC/M68k/Atomics/cas.s
Log Message:
-----------
[M68k] Add remaining addressing modes for Atomic operations (#115523)
Had been doing this piece by piece, but makes more sense to do it in a
single PR. Adds support for `ARID`, `PCI`, `PCD`, `AL`, and `ARD`
addressing modes for atomic operations, along with a variety of tests.
The `CodeModel` tests have been rearranged, as some of the new
addressing modes are only exercised under some combinations of
`CodeModel` and relocation mode
Commit: e17d2b585b4d35b9cab0673cf77a35fa933dd030
https://github.com/llvm/llvm-project/commit/e17d2b585b4d35b9cab0673cf77a35fa933dd030
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
A libc/docs/headers/arpa/inet.rst
M libc/docs/headers/index.rst
A libc/docs/headers/sys/mman.rst
A libc/utils/docgen/arpa/inet.json
M libc/utils/docgen/docgen.py
M libc/utils/docgen/header.py
A libc/utils/docgen/sys/mman.json
Log Message:
-----------
[libc][docgen] support non-top-level headers (#119621)
such as arpa/inet, sys/*
Commit: 61510b51c33464a6bc15e4cf5b1ee07e2e0ec1c9
https://github.com/llvm/llvm-project/commit/61510b51c33464a6bc15e4cf5b1ee07e2e0ec1c9
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lse2_lse128.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8_1a.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lse2_lse128.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8_1a.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic-128.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-udiv.ll
M llvm/test/CodeGen/AArch64/GlobalISel/insert-vector-elt-pr63826.ll
M llvm/test/CodeGen/AArch64/aarch64-addv.ll
M llvm/test/CodeGen/AArch64/aarch64-be-bv.ll
M llvm/test/CodeGen/AArch64/aarch64-bf16-dotprod-intrinsics.ll
M llvm/test/CodeGen/AArch64/aarch64-bif-gen.ll
M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
M llvm/test/CodeGen/AArch64/aarch64-combine-add-sub-mul.ll
M llvm/test/CodeGen/AArch64/aarch64-combine-add-zext.ll
M llvm/test/CodeGen/AArch64/aarch64-dup-ext-scalable.ll
M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
M llvm/test/CodeGen/AArch64/aarch64-dup-extract-scalable.ll
M llvm/test/CodeGen/AArch64/aarch64-fold-lslfast.ll
M llvm/test/CodeGen/AArch64/aarch64-interleaved-access-w-undef.ll
M llvm/test/CodeGen/AArch64/aarch64-load-ext.ll
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
M llvm/test/CodeGen/AArch64/aarch64-minmaxv.ll
M llvm/test/CodeGen/AArch64/aarch64-mops-mte.ll
M llvm/test/CodeGen/AArch64/aarch64-mops.ll
M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
M llvm/test/CodeGen/AArch64/aarch64-mulv.ll
M llvm/test/CodeGen/AArch64/aarch64-neon-vector-insert-uaddlv.ll
M llvm/test/CodeGen/AArch64/aarch64-scalarize-vec-load-ext.ll
M llvm/test/CodeGen/AArch64/aarch64-sysreg128.ll
M llvm/test/CodeGen/AArch64/aarch64-wide-shuffle.ll
M llvm/test/CodeGen/AArch64/abs.ll
M llvm/test/CodeGen/AArch64/active_lane_mask.ll
M llvm/test/CodeGen/AArch64/adc.ll
M llvm/test/CodeGen/AArch64/add-extract.ll
M llvm/test/CodeGen/AArch64/add.ll
M llvm/test/CodeGen/AArch64/addimm-mulimm.ll
M llvm/test/CodeGen/AArch64/addp-shuffle.ll
M llvm/test/CodeGen/AArch64/addsub_ext.ll
M llvm/test/CodeGen/AArch64/and-mask-removal.ll
M llvm/test/CodeGen/AArch64/andorxor.ll
M llvm/test/CodeGen/AArch64/arm64-abi-varargs.ll
M llvm/test/CodeGen/AArch64/arm64-addp.ll
M llvm/test/CodeGen/AArch64/arm64-addr-type-promotion.ll
M llvm/test/CodeGen/AArch64/arm64-atomic-128.ll
M llvm/test/CodeGen/AArch64/arm64-bitfield-extract.ll
M llvm/test/CodeGen/AArch64/arm64-build-vector.ll
M llvm/test/CodeGen/AArch64/arm64-collect-loh.ll
M llvm/test/CodeGen/AArch64/arm64-dup.ll
M llvm/test/CodeGen/AArch64/arm64-ext.ll
M llvm/test/CodeGen/AArch64/arm64-extract-insert-varidx.ll
M llvm/test/CodeGen/AArch64/arm64-extract_subvector.ll
M llvm/test/CodeGen/AArch64/arm64-fcopysign.ll
M llvm/test/CodeGen/AArch64/arm64-fixed-point-scalar-cvt-dagcombine.ll
M llvm/test/CodeGen/AArch64/arm64-fmax.ll
M llvm/test/CodeGen/AArch64/arm64-fp128.ll
M llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
M llvm/test/CodeGen/AArch64/arm64-instruction-mix-remarks.ll
M llvm/test/CodeGen/AArch64/arm64-ld1.ll
M llvm/test/CodeGen/AArch64/arm64-ldxr-stxr.ll
M llvm/test/CodeGen/AArch64/arm64-mul.ll
M llvm/test/CodeGen/AArch64/arm64-neon-2velem-high.ll
M llvm/test/CodeGen/AArch64/arm64-neon-2velem.ll
M llvm/test/CodeGen/AArch64/arm64-neon-3vdiff.ll
M llvm/test/CodeGen/AArch64/arm64-neon-add-pairwise.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copyPhysReg-tuple.ll
M llvm/test/CodeGen/AArch64/arm64-neon-mul-div.ll
M llvm/test/CodeGen/AArch64/arm64-neon-scalar-by-elem-mul.ll
M llvm/test/CodeGen/AArch64/arm64-neon-select_cc.ll
M llvm/test/CodeGen/AArch64/arm64-neon-simd-ldst-one.ll
M llvm/test/CodeGen/AArch64/arm64-neon-simd-shift.ll
M llvm/test/CodeGen/AArch64/arm64-neon-simd-vget.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v1i1-setcc.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v8.1a.ll
M llvm/test/CodeGen/AArch64/arm64-nvcast.ll
M llvm/test/CodeGen/AArch64/arm64-popcnt.ll
M llvm/test/CodeGen/AArch64/arm64-rev.ll
M llvm/test/CodeGen/AArch64/arm64-shifted-sext.ll
M llvm/test/CodeGen/AArch64/arm64-shrink-wrapping.ll
M llvm/test/CodeGen/AArch64/arm64-stp.ll
M llvm/test/CodeGen/AArch64/arm64-subvector-extend.ll
M llvm/test/CodeGen/AArch64/arm64-tbl.ll
M llvm/test/CodeGen/AArch64/arm64-vadd.ll
M llvm/test/CodeGen/AArch64/arm64-vaddv.ll
M llvm/test/CodeGen/AArch64/arm64-vcvt_f.ll
M llvm/test/CodeGen/AArch64/arm64-vector-insertion.ll
M llvm/test/CodeGen/AArch64/arm64-vmul.ll
M llvm/test/CodeGen/AArch64/arm64-zip.ll
M llvm/test/CodeGen/AArch64/arm64_32-addrs.ll
M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
M llvm/test/CodeGen/AArch64/atomic-ops-lse.ll
M llvm/test/CodeGen/AArch64/atomic-ops-msvc.ll
M llvm/test/CodeGen/AArch64/atomic-ops.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fadd.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fmax.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fmin.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fsub.ll
M llvm/test/CodeGen/AArch64/atomicrmw-xchg-fp.ll
M llvm/test/CodeGen/AArch64/bf16-instructions.ll
M llvm/test/CodeGen/AArch64/bf16-select.ll
M llvm/test/CodeGen/AArch64/bf16-shuffle.ll
M llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/bf16-vector-shuffle.ll
M llvm/test/CodeGen/AArch64/bitcast-promote-widen.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/bitfield-insert.ll
M llvm/test/CodeGen/AArch64/bswap.ll
M llvm/test/CodeGen/AArch64/build-one-lane.ll
M llvm/test/CodeGen/AArch64/build-vector-extract.ll
M llvm/test/CodeGen/AArch64/build-vector-two-dup.ll
M llvm/test/CodeGen/AArch64/check-sign-bit-before-extension.ll
M llvm/test/CodeGen/AArch64/cmp-to-cmn.ll
M llvm/test/CodeGen/AArch64/cmpxchg-idioms.ll
M llvm/test/CodeGen/AArch64/combine-andintoload.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-multiuses.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-uniform-cases.ll
M llvm/test/CodeGen/AArch64/concat-vector.ll
M llvm/test/CodeGen/AArch64/concatbinop.ll
M llvm/test/CodeGen/AArch64/cvt-fp-int-fp.ll
M llvm/test/CodeGen/AArch64/dag-numsignbits.ll
M llvm/test/CodeGen/AArch64/dup.ll
M llvm/test/CodeGen/AArch64/duplane-index-patfrags.ll
M llvm/test/CodeGen/AArch64/ext-narrow-index.ll
M llvm/test/CodeGen/AArch64/extbinopload.ll
M llvm/test/CodeGen/AArch64/extract-bits.ll
M llvm/test/CodeGen/AArch64/extract-insert.ll
M llvm/test/CodeGen/AArch64/extract-lowbits.ll
M llvm/test/CodeGen/AArch64/extract-sext-zext.ll
M llvm/test/CodeGen/AArch64/extract-subvec-combine.ll
M llvm/test/CodeGen/AArch64/extract-vector-cmp.ll
M llvm/test/CodeGen/AArch64/extract-vector-elt.ll
M llvm/test/CodeGen/AArch64/f16-instructions.ll
M llvm/test/CodeGen/AArch64/fabs-fp128.ll
M llvm/test/CodeGen/AArch64/fabs.ll
M llvm/test/CodeGen/AArch64/faddp-half.ll
M llvm/test/CodeGen/AArch64/faddp.ll
M llvm/test/CodeGen/AArch64/faddsub.ll
M llvm/test/CodeGen/AArch64/fast-isel-addressing-modes.ll
M llvm/test/CodeGen/AArch64/fast-isel-gep.ll
M llvm/test/CodeGen/AArch64/fast-isel-shift.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/fcopysign-noneon.ll
M llvm/test/CodeGen/AArch64/fcopysign.ll
M llvm/test/CodeGen/AArch64/fcvt.ll
M llvm/test/CodeGen/AArch64/fcvt_combine.ll
M llvm/test/CodeGen/AArch64/fdiv-combine.ll
M llvm/test/CodeGen/AArch64/fdiv.ll
M llvm/test/CodeGen/AArch64/fexplog.ll
M llvm/test/CodeGen/AArch64/fixed-point-conv-vec-pat.ll
M llvm/test/CodeGen/AArch64/fixed-vector-deinterleave.ll
M llvm/test/CodeGen/AArch64/fixed-vector-interleave.ll
M llvm/test/CodeGen/AArch64/fmaximum-legalization.ll
M llvm/test/CodeGen/AArch64/fminimummaximum.ll
M llvm/test/CodeGen/AArch64/fminmax.ll
M llvm/test/CodeGen/AArch64/fmla.ll
M llvm/test/CodeGen/AArch64/fmul.ll
M llvm/test/CodeGen/AArch64/fneg.ll
M llvm/test/CodeGen/AArch64/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/AArch64/fp-conversion-to-tbl.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics-vector.ll
M llvm/test/CodeGen/AArch64/fp-maximumnum-minimumnum.ll
M llvm/test/CodeGen/AArch64/fp16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/fp16-vector-shuffle.ll
M llvm/test/CodeGen/AArch64/fp16_intrinsic_lane.ll
M llvm/test/CodeGen/AArch64/fp8-sve-cvtn.ll
M llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
M llvm/test/CodeGen/AArch64/fpext.ll
M llvm/test/CodeGen/AArch64/fpmode.ll
M llvm/test/CodeGen/AArch64/fpow.ll
M llvm/test/CodeGen/AArch64/fpowi.ll
M llvm/test/CodeGen/AArch64/fptoi.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptrunc.ll
M llvm/test/CodeGen/AArch64/freeze.ll
M llvm/test/CodeGen/AArch64/frem-power2.ll
M llvm/test/CodeGen/AArch64/frem.ll
M llvm/test/CodeGen/AArch64/fsincos.ll
M llvm/test/CodeGen/AArch64/fsqrt.ll
M llvm/test/CodeGen/AArch64/funnel-shift.ll
M llvm/test/CodeGen/AArch64/get-active-lane-mask-extract.ll
M llvm/test/CodeGen/AArch64/get_vector_length.ll
M llvm/test/CodeGen/AArch64/half.ll
M llvm/test/CodeGen/AArch64/hoist-and-by-const-from-lshr-in-eqcmp-zero.ll
M llvm/test/CodeGen/AArch64/hoist-and-by-const-from-shl-in-eqcmp-zero.ll
M llvm/test/CodeGen/AArch64/icmp.ll
M llvm/test/CodeGen/AArch64/implicit-def-remat-requires-impdef-check.mir
M llvm/test/CodeGen/AArch64/implicit-def-subreg-to-reg-regression.ll
M llvm/test/CodeGen/AArch64/implicit-def-with-impdef-greedy-assert.mir
M llvm/test/CodeGen/AArch64/insert-extend.ll
M llvm/test/CodeGen/AArch64/insert-subvector.ll
M llvm/test/CodeGen/AArch64/insertextract.ll
M llvm/test/CodeGen/AArch64/insertshuffleload.ll
M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll
M llvm/test/CodeGen/AArch64/intrinsic-vector-match-sve2.ll
M llvm/test/CodeGen/AArch64/itofp-bf16.ll
M llvm/test/CodeGen/AArch64/itofp.ll
M llvm/test/CodeGen/AArch64/ldexp.ll
M llvm/test/CodeGen/AArch64/llrint-conv-fp16.ll
M llvm/test/CodeGen/AArch64/llrint-conv.ll
M llvm/test/CodeGen/AArch64/llround-conv-fp16.ll
M llvm/test/CodeGen/AArch64/llvm.exp10.ll
M llvm/test/CodeGen/AArch64/llvm.frexp.ll
M llvm/test/CodeGen/AArch64/llvm.sincos.ll
M llvm/test/CodeGen/AArch64/load.ll
M llvm/test/CodeGen/AArch64/logic-shift.ll
M llvm/test/CodeGen/AArch64/lrint-conv-fp16.ll
M llvm/test/CodeGen/AArch64/lrint-conv.ll
M llvm/test/CodeGen/AArch64/lround-conv-fp16.ll
M llvm/test/CodeGen/AArch64/lslfast.ll
M llvm/test/CodeGen/AArch64/machine-combiner-copy.ll
M llvm/test/CodeGen/AArch64/machine-licm-sub-loop.ll
M llvm/test/CodeGen/AArch64/memset-inline.ll
M llvm/test/CodeGen/AArch64/memset-vs-memset-inline.ll
M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-01.mir
M llvm/test/CodeGen/AArch64/mla_mls_merge.ll
M llvm/test/CodeGen/AArch64/mul.ll
M llvm/test/CodeGen/AArch64/neon-bitcast.ll
M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
M llvm/test/CodeGen/AArch64/neon-dot-product.ll
M llvm/test/CodeGen/AArch64/neon-extadd-extract.ll
M llvm/test/CodeGen/AArch64/neon-extract.ll
M llvm/test/CodeGen/AArch64/neon-extracttruncate.ll
M llvm/test/CodeGen/AArch64/neon-insert-sve-elt.ll
M llvm/test/CodeGen/AArch64/neon-insextbitcast.ll
M llvm/test/CodeGen/AArch64/neon-luti.ll
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/neon-perm.ll
M llvm/test/CodeGen/AArch64/neon-reverseshuffle.ll
M llvm/test/CodeGen/AArch64/neon-rshrn.ll
M llvm/test/CodeGen/AArch64/neon-scalar-by-elem-fma.ll
M llvm/test/CodeGen/AArch64/neon-scalarize-histogram.ll
M llvm/test/CodeGen/AArch64/neon-shuffle-vector-tbl.ll
M llvm/test/CodeGen/AArch64/neon-truncstore.ll
M llvm/test/CodeGen/AArch64/neon-vcmla.ll
M llvm/test/CodeGen/AArch64/neon-wide-splat.ll
M llvm/test/CodeGen/AArch64/neon-widen-shuffle.ll
M llvm/test/CodeGen/AArch64/nontemporal-load.ll
M llvm/test/CodeGen/AArch64/nontemporal.ll
M llvm/test/CodeGen/AArch64/phi.ll
M llvm/test/CodeGen/AArch64/popcount.ll
M llvm/test/CodeGen/AArch64/pow.ll
M llvm/test/CodeGen/AArch64/pr-cf624b2.ll
M llvm/test/CodeGen/AArch64/pr58350.ll
M llvm/test/CodeGen/AArch64/pr58431.ll
M llvm/test/CodeGen/AArch64/pr61111.ll
M llvm/test/CodeGen/AArch64/preserve_nonecc_varargs_win64.ll
M llvm/test/CodeGen/AArch64/ptradd.ll
M llvm/test/CodeGen/AArch64/qmovn.ll
M llvm/test/CodeGen/AArch64/rcpc3.ll
M llvm/test/CodeGen/AArch64/reduce-and.ll
M llvm/test/CodeGen/AArch64/reduce-or.ll
M llvm/test/CodeGen/AArch64/reduce-shuffle.ll
M llvm/test/CodeGen/AArch64/reduce-xor.ll
M llvm/test/CodeGen/AArch64/regalloc-last-chance-recolor-with-split.mir
M llvm/test/CodeGen/AArch64/rem.ll
M llvm/test/CodeGen/AArch64/round-fptosi-sat-scalar.ll
M llvm/test/CodeGen/AArch64/select-constant-xor.ll
M llvm/test/CodeGen/AArch64/seqpairspill.mir
M llvm/test/CodeGen/AArch64/setcc_knownbits.ll
M llvm/test/CodeGen/AArch64/sext.ll
M llvm/test/CodeGen/AArch64/shift-amount-mod.ll
M llvm/test/CodeGen/AArch64/shift-by-signext.ll
M llvm/test/CodeGen/AArch64/shift-mod.ll
M llvm/test/CodeGen/AArch64/shift.ll
M llvm/test/CodeGen/AArch64/shift_minsize.ll
M llvm/test/CodeGen/AArch64/shuffle-tbl34.ll
M llvm/test/CodeGen/AArch64/shuffles.ll
M llvm/test/CodeGen/AArch64/shufflevector.ll
M llvm/test/CodeGen/AArch64/sink-and-fold.ll
M llvm/test/CodeGen/AArch64/sme-aarch64-svcount.ll
M llvm/test/CodeGen/AArch64/sme-avoid-coalescing-locally-streaming.ll
M llvm/test/CodeGen/AArch64/sme-intrinsics-loads.ll
M llvm/test/CodeGen/AArch64/sme-intrinsics-stores.ll
M llvm/test/CodeGen/AArch64/sme-pstate-sm-changing-call-disable-coalescing.ll
M llvm/test/CodeGen/AArch64/sme-streaming-body.ll
M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
M llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-cvt.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-add-sub-za16.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-add.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-cvtn.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-faminmax.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-fmlas.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-fp-dots.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-fscale.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-insert-mova.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-luti4.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-max.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-min.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-mlall.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-mlals.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-rshl.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-select-sme-tileslice.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-sqdmulh.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-sub.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-vdot.ll
M llvm/test/CodeGen/AArch64/smul_fix_sat.ll
M llvm/test/CodeGen/AArch64/spill-fold.mir
M llvm/test/CodeGen/AArch64/split-vector-insert.ll
M llvm/test/CodeGen/AArch64/srem-vector-lkk.ll
M llvm/test/CodeGen/AArch64/store.ll
M llvm/test/CodeGen/AArch64/sub.ll
M llvm/test/CodeGen/AArch64/sve-cntp-combine-i32.ll
M llvm/test/CodeGen/AArch64/sve-doublereduct.ll
M llvm/test/CodeGen/AArch64/sve-extract-element.ll
M llvm/test/CodeGen/AArch64/sve-extract-fixed-from-scalable-vector.ll
M llvm/test/CodeGen/AArch64/sve-extract-fixed-vector.ll
M llvm/test/CodeGen/AArch64/sve-extract-scalable-vector.ll
M llvm/test/CodeGen/AArch64/sve-fadda-select.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-bit-counting.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-concat.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-subvector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-extend-trunc.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-reduce.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-select.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-to-int.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp128.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-insert-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-arith.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-div.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-extends.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-minmax.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-mulh.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-rem.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-select.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-log-reduce.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-128bit-loads.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-loads.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-no-vscale-range.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-reshuffle.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-rev.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-sdiv-pow2.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-splat-vector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-subvector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-trunc.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-vector-shuffle-tbl.ll
M llvm/test/CodeGen/AArch64/sve-fixed-vector-llrint.ll
M llvm/test/CodeGen/AArch64/sve-fixed-vector-lrint.ll
M llvm/test/CodeGen/AArch64/sve-fp-reduce-fadda.ll
M llvm/test/CodeGen/AArch64/sve-fp-reduce.ll
M llvm/test/CodeGen/AArch64/sve-i1-add-reduce.ll
M llvm/test/CodeGen/AArch64/sve-implicit-zero-filling.ll
M llvm/test/CodeGen/AArch64/sve-index-const-step-vector.ll
M llvm/test/CodeGen/AArch64/sve-insert-element.ll
M llvm/test/CodeGen/AArch64/sve-insert-vector.ll
M llvm/test/CodeGen/AArch64/sve-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-counting-elems-i32.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-dup-x.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-fp-reduce.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-perm-select.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-reinterpret.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-shifts.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-sqdec.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-sqinc.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-stN-reg-imm-addr-mode.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-stN-reg-reg-addr-mode.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-stores.ll
M llvm/test/CodeGen/AArch64/sve-merging-stores.ll
M llvm/test/CodeGen/AArch64/sve-nontemporal-masked-ldst.ll
M llvm/test/CodeGen/AArch64/sve-pr62151.ll
M llvm/test/CodeGen/AArch64/sve-pred-selectop.ll
M llvm/test/CodeGen/AArch64/sve-select.ll
M llvm/test/CodeGen/AArch64/sve-split-extract-elt.ll
M llvm/test/CodeGen/AArch64/sve-split-fp-reduce.ll
M llvm/test/CodeGen/AArch64/sve-split-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-stack-frame-layout.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-and-combine.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-build-vector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-concat.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-subvector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-arith.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-fma.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce-fa64.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-rounding.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-arith.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.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-extends.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-log.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mla-neon-fa64.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mul.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mulh.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-rem.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-shifts.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-limit-duplane.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-log-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-gather-scatter.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-load.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-store.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-rev.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ptest.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-reductions.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-reshuffle.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-rev.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-sdiv-pow2.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-shuffle.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-splat-vector.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
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-vector-shuffle.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-test-register-mov.ll
M llvm/test/CodeGen/AArch64/sve-vecreduce-dot.ll
M llvm/test/CodeGen/AArch64/sve-vector-compress.ll
M llvm/test/CodeGen/AArch64/sve-vector-splat.ll
M llvm/test/CodeGen/AArch64/sve-vl-arith.ll
M llvm/test/CodeGen/AArch64/sve2-histcnt.ll
M llvm/test/CodeGen/AArch64/sve2-intrinsics-luti.ll
M llvm/test/CodeGen/AArch64/sve2-intrinsics-perm-tb.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfclamp.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-fclamp.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-multivec-stores.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-sclamp.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-selx4.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-stores.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-uclamp.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-uzpx4.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-while-pp.ll
M llvm/test/CodeGen/AArch64/swift-error-unreachable-use.ll
M llvm/test/CodeGen/AArch64/tbl-loops.ll
M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
M llvm/test/CodeGen/AArch64/uaddlv-vaddlp-combine.ll
M llvm/test/CodeGen/AArch64/umul_fix_sat.ll
M llvm/test/CodeGen/AArch64/urem-vector-lkk.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vec-libcalls.ll
M llvm/test/CodeGen/AArch64/vecreduce-add-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
M llvm/test/CodeGen/AArch64/vecreduce-and-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-bool.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd-legalization-strict.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd-strict.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization-nan.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmaximum.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmin-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fminimum.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmul-legalization-strict.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmul-strict.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmul.ll
M llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
M llvm/test/CodeGen/AArch64/vector-compress.ll
M llvm/test/CodeGen/AArch64/vector-fcopysign.ll
M llvm/test/CodeGen/AArch64/vector-fcvt.ll
M llvm/test/CodeGen/AArch64/vector-llrint.ll
M llvm/test/CodeGen/AArch64/vector-lrint.ll
M llvm/test/CodeGen/AArch64/vldn_shuffle.ll
M llvm/test/CodeGen/AArch64/win64-fpowi.ll
M llvm/test/CodeGen/AArch64/win64_vararg.ll
M llvm/test/CodeGen/AArch64/xtn.ll
M llvm/test/CodeGen/AArch64/zext.ll
Log Message:
-----------
Revert "[AArch64] Enable subreg liveness tracking by default."
This reverts commit 9c319d5bb40785c969d2af76535ca62448dfafa7.
Some issues were discovered with the bootstrap builds, which
seem like they were caused by this commit. I'm reverting to investigate.
Commit: 3f136f7dfb41542c76c1b352544009bffbc399d2
https://github.com/llvm/llvm-project/commit/3f136f7dfb41542c76c1b352544009bffbc399d2
Author: Nirvedh Meshram <96096277+nirvedhmeshram at users.noreply.github.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
Log Message:
-----------
[Tensor] Simplify tenor.pad tiling length calculations. (#119039)
The current calculations calculate ending location of the new length and
then subtract the new offset from that location. It is possible to
directly calculate new length. Along with requiring less operations
(which can matter in dynamic case) this also has the advantage that the
values are upper bounded by length rather than source size which is more
friendly for range analysis. I believe the change is already being
tested by
`test/Dialect/Linalg/subtensor-of-padtensor.mlir` and
`test/Dialect/Linalg/tile-and-fuse-tensors.mlir`
---------
Signed-off-by: Nirvedh <nirvedh at gmail.com>
Commit: d99c9994db5e051dc4b71c7bce6e56f8c9c72c1a
https://github.com/llvm/llvm-project/commit/d99c9994db5e051dc4b71c7bce6e56f8c9c72c1a
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
Log Message:
-----------
[RISCV][VLOPT] Add support for mask-register logical instructions and set mask instructions (#112231)
We need to adjust getEMULEqualsEEWDivSEWTimesLMUL to account for the
fact that Log2EEW for mask instructions is 0 but their EMUL is
calculated using Log2EEW=3.
Commit: 2e9bfcadbc25e8056ea8f7011786a835c3307a1b
https://github.com/llvm/llvm-project/commit/2e9bfcadbc25e8056ea8f7011786a835c3307a1b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVGISel.td
Log Message:
-----------
[RISCV] Remove unused SDNodeXForm from RISCVGISel.td. NFC
Leftover from when we tried to make i32 legal.
Commit: 77400103da63118e433cbee1feb20146a9fb782c
https://github.com/llvm/llvm-project/commit/77400103da63118e433cbee1feb20146a9fb782c
Author: Nirvedh Meshram <96096277+nirvedhmeshram at users.noreply.github.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
Log Message:
-----------
NfC fix comment in #119039 (#119727)
Missed commiting clang-fomrat in
[#19903](https://github.com/llvm/llvm-project/pull/119039)
Commit: f7e868fe432da733f30379c01076f5f4c9792501
https://github.com/llvm/llvm-project/commit/f7e868fe432da733f30379c01076f5f4c9792501
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
Log Message:
-----------
Fix a bug that CXXConstructExpr wasn't recognized by tryToFindPtrOrigin (#119336)
Prior to this PR, only CXXTemporaryObjectExpr, not CXXConstructExpr was
recognized in tryToFindPtrOrigin.
Commit: 9b14ded131aaff617568f1344a7164ba5520d341
https://github.com/llvm/llvm-project/commit/9b14ded131aaff617568f1344a7164ba5520d341
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Use return values from addFrame and addCallStack (NFC) (#119676)
Migrating away from Frame::hash and hashCallStack further encapsulates
how the IDs are calculated.
Note that unit tests are the only places where Frame::hash and
hashCallStack are used. The code proper (i.e. llvm/lib) uses
IndexedMemProfData::{addFrame,addCallStack}; they do not directly use
Frame::hash or hashCallStack.
Commit: 357d00d7c7c81768047e9e9668c6f507c6c24cb3
https://github.com/llvm/llvm-project/commit/357d00d7c7c81768047e9e9668c6f507c6c24cb3
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/stack-clash-protection.c
Log Message:
-----------
[clang][Driver] Allow `-fstack-clash-protection` for Fuchsia targets (#119633)
Fuchsia uses guard pages for the stack, similar to Linux
and other targets, which are required for stack-clash-protection.
This patch adds Fuchsia to the list of allowed targets.
Commit: 2db2dc8ab917de54a085776b874e93f4fdfd2e8c
https://github.com/llvm/llvm-project/commit/2db2dc8ab917de54a085776b874e93f4fdfd2e8c
Author: Tim Gymnich <tim at gymni.ch>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
Log Message:
-----------
[GlobalISel][NFC] Fix LLT Propagation (#119587)
Retain LLT type information by creating new LLTs from the original LLT
instead of only using the original scalar size.
This PR prepares for the [LLT FPInfo
RFC](https://discourse.llvm.org/t/rfc-globalisel-adding-fp-type-information-to-llt/83349/24)
where LLTs will carry additional floating point type information in
addition to the scalar size.
Commit: 52db903888eace2e4053a751c8f058ac7c98b49d
https://github.com/llvm/llvm-project/commit/52db903888eace2e4053a751c8f058ac7c98b49d
Author: Nick Desaulniers <ndesaulniers at google.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M libc/utils/docgen/docgen.py
Log Message:
-----------
[libc][docs] fix typo
Fixes: #119621
Commit: 7ece560a50d09686bb384b309b8b05d8f63111e5
https://github.com/llvm/llvm-project/commit/7ece560a50d09686bb384b309b8b05d8f63111e5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lse2.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lse2_lse128.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-outline_atomics.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-rcpc.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-rcpc3.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8_1a.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8a.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-threeway-cmp.mir
M llvm/test/CodeGen/AArch64/aarch64-minmaxv.ll
M llvm/test/CodeGen/AArch64/icmp.ll
M llvm/test/CodeGen/AArch64/scmp.ll
M llvm/test/CodeGen/AArch64/ucmp.ll
M llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/Mips/GlobalISel/legalizer/icmp.mir
M llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/icmp.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-addo-subo-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-icmp-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-icmp-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-sat-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-smax-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-smin-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-umax-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-umin-rv32.mir
M llvm/test/CodeGen/X86/isel-select-cmov.ll
Log Message:
-----------
[GISel] Support narrowing G_ICMP with more than 2 parts. (#119335)
This allows us to support i128 G_ICMP on RV32. I'm not sure how to test
the "left over" part of this as RISC-V always widens to a power of 2
before narrowing.
Commit: 85c91afb85be52399e0fc7f082dd1c99932dffaa
https://github.com/llvm/llvm-project/commit/85c91afb85be52399e0fc7f082dd1c99932dffaa
Author: Nirvedh <nirvedh at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
Log Message:
-----------
[mlir][tensor] fix typo in pad tiling comment
Commit: 33927744db2a910fe1cdeecf9e074d488de2e787
https://github.com/llvm/llvm-project/commit/33927744db2a910fe1cdeecf9e074d488de2e787
Author: Nirvedh <nirvedh at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
Log Message:
-----------
[mlir][tensor] fix typo in pad tiling comment
Commit: 6cfad635d5aaa01abb82edc386329d8ed25078e1
https://github.com/llvm/llvm-project/commit/6cfad635d5aaa01abb82edc386329d8ed25078e1
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/include/clang/Basic/OpenACCKinds.h
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/SemaOpenACC/combined-construct-if-clause.c
M clang/test/SemaOpenACC/compute-construct-if-clause.c
A clang/test/SemaOpenACC/data-construct-if-ast.cpp
A clang/test/SemaOpenACC/data-construct-if-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
Log Message:
-----------
[OpenACC] Implement 'if' clause sema for 'data' constructs
This is another one that has no additional sema work other than enabling
it, so this patch does just that.
Commit: 58f9c4fc0055821d88869aafd49e0424b1070a79
https://github.com/llvm/llvm-project/commit/58f9c4fc0055821d88869aafd49e0424b1070a79
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-12-12 (Thu, 12 Dec 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/Parser/openmp-parsers.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/test/Parser/OpenMP/in-reduction-clause.f90
M flang/test/Parser/OpenMP/reduction-modifier.f90
A flang/test/Parser/OpenMP/task-reduction-clause.f90
M flang/test/Preprocessing/directive-contin-with-pp.F90
A flang/test/Semantics/OpenMP/in-reduction.f90
M flang/test/Semantics/OpenMP/symbol08.f90
A flang/test/Semantics/OpenMP/task-reduction.f90
M flang/test/Semantics/OpenMP/taskgroup01.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[flang][OpenMP] Semantic checks for IN_REDUCTION and TASK_REDUCTION (#118841)
Update parsing of these two clauses and add semantic checks for them.
Simplify some code in IsReductionAllowedForType and
CheckReductionOperator.
Commit: 03cbe42627c7a7940b47cc1a2cda0120bc9c6d5e
https://github.com/llvm/llvm-project/commit/03cbe42627c7a7940b47cc1a2cda0120bc9c6d5e
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-12-12 (Thu, 12 Dec 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-visitor.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/openmp-modifiers.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
M flang/lib/Semantics/openmp-modifiers.cpp
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Parser/OpenMP/linear-clause.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/linear-clause01.f90
A flang/test/Semantics/OpenMP/linear-clause02.f90
M flang/test/Semantics/OpenMP/linear-iter.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/unittests/Frontend/OpenMPDecompositionTest.cpp
Log Message:
-----------
[flang][OpenMP] Rework LINEAR clause (#119278)
The OmpLinearClause class was a variant of two classes, one for when the
linear modifier was present, and one for when it was absent. These two
classes did not follow the conventions for parse tree nodes, (i.e.
tuple/wrapper/union formats), which necessitated specialization of the
parse tree visitor.
The new form of OmpLinearClause is the standard tuple with a list of
modifiers and an object list. The specialization of parse tree visitor
for it has been removed.
Parsing and unparsing of the new form bears additional complexity due to
syntactical differences between OpenMP 5.2 and prior versions: in OpenMP
5.2 the argument list is post-modified, while in the prior versions, the
step modifier was a post-modifier while the linear modifier had an
unusual syntax of `modifier(list)`.
With this change the LINEAR clause is no different from any other
clauses in terms of its structure and use of modifiers. Modifier
validation and all other checks work the same as with other clauses.
Commit: 2546ae4ed09ff69274c184ae7e98f2aa72e7e7f7
https://github.com/llvm/llvm-project/commit/2546ae4ed09ff69274c184ae7e98f2aa72e7e7f7
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll
Log Message:
-----------
[SLP][REVEC] Fix the number of elements in the mask of a ShuffleVectorInst is not a power of 2. (#119689)
The following shufflevector should not be vectorized when
slp-vectorize-non-power-of-2 is enabled.
shufflevector <8 x float> %1, <8 x float> poison, <3 x i32> <i32 0, i32
1, i32 2>
shufflevector <8 x float> %1, <8 x float> poison, <3 x i32> <i32 4, i32
5, i32 6>
Commit: 139e69b7bcb05e6ff9db0f373d9180deb341a571
https://github.com/llvm/llvm-project/commit/139e69b7bcb05e6ff9db0f373d9180deb341a571
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/test/HLFIR/shapeof.fir
Log Message:
-----------
[flang] Simple folding for hlfir.shape_of. (#119649)
This folding makes sure there are no hlfir.shape_of users
of hlfir.elemental - this may enable more InlineElementals matches,
because it is looking for exactly two uses of an hlfir.elemental.
Commit: c047a5b3f6e2295dd74f1e8f17f1a023150b246c
https://github.com/llvm/llvm-project/commit/c047a5b3f6e2295dd74f1e8f17f1a023150b246c
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M libc/docs/headers/assert.rst
M libc/docs/headers/ctype.rst
M libc/docs/headers/errno.rst
M libc/docs/headers/fenv.rst
M libc/docs/headers/float.rst
M libc/docs/headers/inttypes.rst
M libc/docs/headers/locale.rst
M libc/docs/headers/signal.rst
M libc/docs/headers/stdlib.rst
M libc/docs/headers/string.rst
M libc/docs/headers/strings.rst
M libc/docs/headers/threads.rst
M libc/docs/headers/uchar.rst
M libc/docs/headers/wchar.rst
M libc/docs/headers/wctype.rst
M libc/utils/docgen/assert.json
M libc/utils/docgen/ctype.json
M libc/utils/docgen/docgen.py
M libc/utils/docgen/errno.json
M libc/utils/docgen/fenv.json
M libc/utils/docgen/float.json
M libc/utils/docgen/inttypes.json
M libc/utils/docgen/locale.json
M libc/utils/docgen/setjmp.json
M libc/utils/docgen/signal.json
M libc/utils/docgen/stdlib.json
M libc/utils/docgen/string.json
M libc/utils/docgen/strings.json
M libc/utils/docgen/threads.json
M libc/utils/docgen/uchar.json
Log Message:
-----------
[libc][docgen] simplify posix links (#119595)
Usually posix functions have individual doc pages, and each header has its own
list of required macro definitions. Use a simpler key of "in-latest-posix" to
signal that the URL convention can be followed.
Add support for a "removed-in-posix-2008" key which will link to the 2004 docs
for functions like bcmp, bcopy, bzero, index, and rindex from strings.h.
I don't want to add all of these links for pthreads.h, so automating this will
make documenting these go much faster.
Commit: f0f8434afac2d30ac143250377fb6433c68fc0a8
https://github.com/llvm/llvm-project/commit/f0f8434afac2d30ac143250377fb6433c68fc0a8
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
A clang/test/SemaOpenACC/data-construct-async-ast.cpp
A clang/test/SemaOpenACC/data-construct-async-clause.c
M clang/test/SemaOpenACC/data-construct-device_type-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
Log Message:
-----------
[OpenACC] Implement sema for 'async' on 'data' constructs
This also is a clause that doesn't have any special rules, so this patch
enables it and adds tests.
Commit: 4e2a9e50f6dd6760b12838517c7f85a0c9032921
https://github.com/llvm/llvm-project/commit/4e2a9e50f6dd6760b12838517c7f85a0c9032921
Author: Petr Hosek <phosek at google.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/src/__support/CMakeLists.txt
A libc/src/__support/freelist_heap.cpp
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/baremetal/CMakeLists.txt
A libc/src/stdlib/baremetal/aligned_alloc.cpp
A libc/src/stdlib/baremetal/calloc.cpp
A libc/src/stdlib/baremetal/free.cpp
A libc/src/stdlib/baremetal/malloc.cpp
A libc/src/stdlib/baremetal/realloc.cpp
R libc/src/stdlib/freelist_malloc.cpp
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/freelist_heap_test.cpp
R libc/test/src/__support/freelist_malloc_test.cpp
Log Message:
-----------
[libc] Breakup freelist_malloc into separate files (#98784)
This better matches the structure we use for the rest of libc.
Commit: b03470b81485281d9f2bdce5e44cc2cac4220d97
https://github.com/llvm/llvm-project/commit/b03470b81485281d9f2bdce5e44cc2cac4220d97
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Use a switch instead of an if/else chain. NFC
Commit: 33b910cde3b305a49c98c6de88dbc22ced9dea61
https://github.com/llvm/llvm-project/commit/33b910cde3b305a49c98c6de88dbc22ced9dea61
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/test/Sema/Inputs/lifetime-analysis.h
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
Log Message:
-----------
[clang] Fix the post-filtering heuristic for GSLPointer. (#114044)
The lifetime analyzer processes GSL pointers:
- when encountering a constructor for a `gsl::pointer`, the analyzer
continues traversing the constructor argument, regardless of whether the
parameter has a `lifetimebound` annotation. This aims to catch cases
where a GSL pointer is constructed from a GSL owner, either directly
(e.g., `FooPointer(FooOwner)`) or through a chain of GSL pointers (e.g.,
`FooPointer(FooPointer(FooOwner))`);
- When a temporary object is reported in the callback, the analyzer has
heuristics to exclude non-owner types, aiming to avoid false positives
(like `FooPointer(FooPointer())`).
In the problematic case (discovered in
https://github.com/llvm/llvm-project/pull/112751#issuecomment-2441055471)
of `return foo.get();`:
- When the analyzer reports the local object `foo`, the `Path` is
`[GslPointerInit, Lifetimebound]`.
- The `Path` goes through
[`pathOnlyHandlesGslPointer`](https://github.com/llvm/llvm-project/blob/main/clang/lib/Sema/CheckExprLifetime.cpp#L1136)
and isn’t filtered out by the [[heuristics]](because `foo` is an owner
type), the analyzer treats it as the `FooPointer(FooOwner())` scenario,
thus triggering a diagnostic.
Filtering out base on the object 'foo' is wrong, because the GSLPointer
is constructed from the return result of the `foo.get()`. The patch
fixes this by teaching the heuristic to use the return result (only
`const GSLOwner&` is considered) of the lifetimebound annotated
function.
Commit: 4e828f8d741ff61317bb1e0b67f22e274632b07a
https://github.com/llvm/llvm-project/commit/4e828f8d741ff61317bb1e0b67f22e274632b07a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Perform DT expensive input DT verification earlier (NFC).
After 6c8f41d33674, DT adjustments for the skeleton are applied as VPBBs
are executed. Move input DT verification up before starting to execute
any VPBBs to avoid checking DT while the CFG and DT are in an incomplete
state.
This fixes a number of verification failures with expensive checks
enabled, including
https://lab.llvm.org/buildbot/#/builders/16/builds/10584
Commit: afcb7d4a2eab51977497e43ce6539d2b0ca01071
https://github.com/llvm/llvm-project/commit/afcb7d4a2eab51977497e43ce6539d2b0ca01071
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/data-construct-device_type-clause.c
A clang/test/SemaOpenACC/data-construct-wait-ast.cpp
A clang/test/SemaOpenACC/data-construct-wait-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
Log Message:
-----------
[OpenACC] Implement 'wait' sema for data constructs
This is once again simply enabling this for 'data', 'enter data', and
'exit data' (and ensuring we error for 'host_data'). Implementation is
very simply to enable it rather than emit the not-implemented
diagnostic.
Commit: 463e93b95f0887145b51edb81b770eeb4463abc5
https://github.com/llvm/llvm-project/commit/463e93b95f0887145b51edb81b770eeb4463abc5
Author: choikwa <5455710+choikwa at users.noreply.github.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/bypass-div.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
Log Message:
-----------
Reapply [AMDGPU] prevent shrinking udiv/urem if either operand exceeds signed max (#119325)
This reverts commit 254d206ee2a337cb38ba347c896f7c6a14c7f218.
+Added a fix in ExpandDivRem24 to disqualify if DivNumBits exceed 24.
Original commit & msg:
ce6e955ac374f2b86cbbb73b2f32174dffd85f25.
Handle signed and unsigned path differently in getDivNumBits. Using
computeKnownBits, this rejects shrinking unsigned div/rem if operands
exceed signed max since we know NumSignBits will be always 0.
Commit: 71418379574d2df5e435f67c4b8d7591bd2038e9
https://github.com/llvm/llvm-project/commit/71418379574d2df5e435f67c4b8d7591bd2038e9
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/modfile55.cuf
Log Message:
-----------
[flang][cuda] Implicitly add DEVICE attribute in device/global functions (#119743)
Variables in global and device function/subroutine that have no CUDA
Fortran data attribute are implicitly DEVICE.
Commit: 186fac33d08b34be494caa58fe63972f69c6d6ab
https://github.com/llvm/llvm-project/commit/186fac33d08b34be494caa58fe63972f69c6d6ab
Author: jimingham <jingham at apple.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M lldb/include/lldb/Target/StackFrameList.h
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/Thread.cpp
M lldb/test/API/api/multithreaded/TestMultithreaded.py
A lldb/test/API/api/multithreaded/deep_stack.cpp
A lldb/test/API/api/multithreaded/test_concurrent_unwind.cpp.template
Log Message:
-----------
Convert the StackFrameList mutex to a shared mutex. (#117252)
In fact, there's only one public API in StackFrameList that changes
the list explicitly. The rest only change the list if you happen to
ask for more frames than lldb has currently fetched and that
always adds frames "behind the user's back". So we were
much more prone to deadlocking than we needed to be.
This patch uses a shared_mutex instead, and when we have to add more
frames (in GetFramesUpTo) we switches to exclusive long enough to add
the frames, then goes back to shared.
Most of the work here was actually getting the stack frame list locking
to not
require a recursive mutex (shared mutexes aren't recursive).
I also added a test that has 5 threads progressively asking for more
frames simultaneously to make sure we get back valid frames and don't
deadlock.
Commit: 5048808859eece3aaa680aaecb4a89dfabe9627b
https://github.com/llvm/llvm-project/commit/5048808859eece3aaa680aaecb4a89dfabe9627b
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/SemaOpenACC/combined-construct-default-ast.cpp
M clang/test/SemaOpenACC/combined-construct-default-clause.c
M clang/test/SemaOpenACC/compute-construct-default-clause.c
M clang/test/SemaOpenACC/data-construct-ast.cpp
A clang/test/SemaOpenACC/data-construct-default-ast.cpp
A clang/test/SemaOpenACC/data-construct-default-clause.c
M clang/test/SemaOpenACC/data-construct-if-ast.cpp
M clang/test/SemaOpenACC/data-construct-if-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
Log Message:
-----------
[OpenACC] Implement 'default' Sema for 'data' clause
No additional rules here beyond enabling it, this patch just enables
'default' and adds tests.
Commit: 9b65b1ef25723fcbb61f1ca25a6abbe678bb1770
https://github.com/llvm/llvm-project/commit/9b65b1ef25723fcbb61f1ca25a6abbe678bb1770
Author: knickish <knickish at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/test/MC/Disassembler/M68k/control.txt
Log Message:
-----------
[M68k] update dissassmbly test to require atLeastM68020 for BSR32 (#119758)
Fixes test failure reported in #117371. `BSR32` was previously
(incorrectly) allowed for CPUs <M68020, this test was missed while
updating the rest to fit the new model
Commit: 88bcf7283b35b979ace0c6be32736b13f6b771ae
https://github.com/llvm/llvm-project/commit/88bcf7283b35b979ace0c6be32736b13f6b771ae
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
R libc/utils/docgen/arpa/inet.json
A libc/utils/docgen/arpa/inet.yaml
R libc/utils/docgen/assert.json
A libc/utils/docgen/assert.yaml
R libc/utils/docgen/ctype.json
A libc/utils/docgen/ctype.yaml
M libc/utils/docgen/docgen.py
R libc/utils/docgen/errno.json
A libc/utils/docgen/errno.yaml
R libc/utils/docgen/fenv.json
A libc/utils/docgen/fenv.yaml
R libc/utils/docgen/float.json
A libc/utils/docgen/float.yaml
M libc/utils/docgen/header.py
R libc/utils/docgen/inttypes.json
A libc/utils/docgen/inttypes.yaml
R libc/utils/docgen/locale.json
A libc/utils/docgen/locale.yaml
R libc/utils/docgen/setjmp.json
A libc/utils/docgen/setjmp.yaml
R libc/utils/docgen/signal.json
A libc/utils/docgen/signal.yaml
R libc/utils/docgen/stdbit.json
A libc/utils/docgen/stdbit.yaml
R libc/utils/docgen/stdlib.json
A libc/utils/docgen/stdlib.yaml
R libc/utils/docgen/string.json
A libc/utils/docgen/string.yaml
R libc/utils/docgen/strings.json
R libc/utils/docgen/sys/mman.json
A libc/utils/docgen/sys/mman.yaml
R libc/utils/docgen/threads.json
A libc/utils/docgen/threads.yaml
R libc/utils/docgen/uchar.json
A libc/utils/docgen/uchar.yaml
R libc/utils/docgen/wchar.json
A libc/utils/docgen/wchar.yaml
R libc/utils/docgen/wctype.json
A libc/utils/docgen/wctype.yaml
Log Message:
-----------
[libc][docs] move docgen from json to yaml (#119744)
That way it can more easily be integrated into hdrgen.
Commit: 379cc44f56e6f220422ce85d2295833f849086e0
https://github.com/llvm/llvm-project/commit/379cc44f56e6f220422ce85d2295833f849086e0
Author: Petr Hosek <phosek at google.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/src/__support/CMakeLists.txt
R libc/src/__support/freelist_heap.cpp
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/baremetal/CMakeLists.txt
R libc/src/stdlib/baremetal/aligned_alloc.cpp
R libc/src/stdlib/baremetal/calloc.cpp
R libc/src/stdlib/baremetal/free.cpp
R libc/src/stdlib/baremetal/malloc.cpp
R libc/src/stdlib/baremetal/realloc.cpp
A libc/src/stdlib/freelist_malloc.cpp
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/freelist_heap_test.cpp
A libc/test/src/__support/freelist_malloc_test.cpp
Log Message:
-----------
Revert "[libc] Breakup freelist_malloc into separate files" (#119749)
Reverts llvm/llvm-project#98784 which broke libc builders.
Commit: 7071cd3885d06bc1ac388db0188468d135b37dfa
https://github.com/llvm/llvm-project/commit/7071cd3885d06bc1ac388db0188468d135b37dfa
Author: Kirill Stoimenov <kstoimenov at google.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
Log Message:
-----------
Revert "[Transforms] Silence a warning in SROA.cpp (NFC)"
This reverts commit 5b077506de26b1dfce1926895548b86f2106bed9.
Commit: e3676aa21f875c12d878726a1de1663ebf428cc2
https://github.com/llvm/llvm-project/commit/e3676aa21f875c12d878726a1de1663ebf428cc2
Author: Kirill Stoimenov <kstoimenov at google.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/PtrUseVisitor.h
M llvm/include/llvm/Transforms/Utils/SSAUpdater.h
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Utils/SSAUpdater.cpp
M llvm/test/Transforms/SROA/non-capturing-call-readonly.ll
M llvm/test/Transforms/SROA/readonlynocapture.ll
Log Message:
-----------
Revert "[SROA] Optimize reloaded values in allocas that escape into readonly nocapture calls. (#116645)"
Causing buffer overflow:
SUMMARY: AddressSanitizer: heap-buffer-overflow llvm/lib/Transforms/Scalar/SROA.cpp:5552:35
This reverts commit 5e247d726d7a54cf0acc997bc17b50e7494e6fa3.
Commit: bd40421ad9ec5ecc164f8208caf3ba5657977e17
https://github.com/llvm/llvm-project/commit/bd40421ad9ec5ecc164f8208caf3ba5657977e17
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M libc/hdr/types/CMakeLists.txt
Log Message:
-----------
[libc] Stop installing `sys/types.h` when not requested (#119765)
Summary:
This is installed unconditionally because of the dependency in the
`hdr/` directory. Remove this so it's only used on the systems that need
it.
Commit: 05137cc50726c82b6cd7bdd51ab44b6db2176ce9
https://github.com/llvm/llvm-project/commit/05137cc50726c82b6cd7bdd51ab44b6db2176ce9
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/AsmParser/LLParser.cpp
M llvm/test/Assembler/aggregate-constant-values.ll
M llvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll
Log Message:
-----------
[AsmParser] Convert empty arrays to `poison` (#119754)
Empty arrays can be converted to `poison` instead of `undef`.
Commit: 81dcbefba3901545d3aef79f7030d45e81e798be
https://github.com/llvm/llvm-project/commit/81dcbefba3901545d3aef79f7030d45e81e798be
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
A libcxx/test/configs/stdlib-libstdc++.cfg.in
A libcxx/test/configs/stdlib-native.cfg.in
Log Message:
-----------
[libc++] Add testing configurations for libstdc++ and a native stdlib (#98539)
This allows running the test suite against the native Standard Library
on most systems, and against libstdc++ installed at a custom location.
Of course, these configurations don't run 100% clean at the moment. In
particular, running against the native stdlib is almost guaranteed not
to work out-of-the-box, since the test suite generally contains tests
for things that have been implemented on tip-of-trunk but not released
to most major platforms yet. However, having an easy way to run the test
suite against that library is still both useful and interesting.
Commit: d1dff1dc18f6087a89e94866fe474d0be228b7cf
https://github.com/llvm/llvm-project/commit/d1dff1dc18f6087a89e94866fe474d0be228b7cf
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
Log Message:
-----------
[LV] Remove hard-coded VPValue numbers in test check lines. (NFC)
Make tests independent of VPlan value numbers.
Commit: 80cd9e4265a8e3e0a6fc90dfe9815f6958ba0b9a
https://github.com/llvm/llvm-project/commit/80cd9e4265a8e3e0a6fc90dfe9815f6958ba0b9a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVGISel.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
Log Message:
-----------
[RISCV] Move GIComplexOperandMatcher and GICustomOperandRenderer next to their SelectionDAG equivalents. NFC (#119729)
This makes it easier to see if the SelectionDAG node has an equivalent
without needing to check another file. Putting them in the same file
also helps associate them with the relevant ISA and any additional context
that may be provided by comments.
Naming is a little messy because we inconsistently use camel case and
snake case in the SelectionDAG node names. Thus the GISel node names are
named the same as the SelectionDAG node name with either GI or gi_ as a
prefix.
Commit: ea04148c27264209fb9b732ec8932aa1f4680764
https://github.com/llvm/llvm-project/commit/ea04148c27264209fb9b732ec8932aa1f4680764
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/test/Fir/CUDA/cuda-implicit-device-global.f90
Log Message:
-----------
[flang][cuda] Extend implicit global handling to any type descriptor (#119769)
Relax the check to also handle other type descriptor globals.
Commit: 37cd7926b767b3877bfa8079f2f8bcb4cd104b1f
https://github.com/llvm/llvm-project/commit/37cd7926b767b3877bfa8079f2f8bcb4cd104b1f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
Log Message:
-----------
AMDGPU: Fix entry for mac in VGPR->AGPR MFMA table (#119693)
Commit: 37978c466b9c02463885a5de62d16f8ce0ca577f
https://github.com/llvm/llvm-project/commit/37978c466b9c02463885a5de62d16f8ce0ca577f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
Log Message:
-----------
[flang][cuda] Remove unused variable
Commit: e605969efe95efd9941cf958d921006d0833889f
https://github.com/llvm/llvm-project/commit/e605969efe95efd9941cf958d921006d0833889f
Author: Soren Lassen <sorenlassen at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M mlir/unittests/Bytecode/BytecodeTest.cpp
Log Message:
-----------
[MLIR] check resource attr of module in TEST(Bytecode, MultiModuleWithResource) (#119618)
`checkResourceAttribute` accidentally ignored its argument and only
checked `roundTripModule` and not `module`
Commit: 7442be68f7e4bbb9ded915283ea49a005f7ffe8f
https://github.com/llvm/llvm-project/commit/7442be68f7e4bbb9ded915283ea49a005f7ffe8f
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
Log Message:
-----------
[RISCV][VLOPT] Add vector mask producing integer instructions to isSupportedInstr and getOperandInfo (#119733)
Commit: 602bbf2fd2ee1dadf0982e05192ee8791b35c657
https://github.com/llvm/llvm-project/commit/602bbf2fd2ee1dadf0982e05192ee8791b35c657
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.PureVirtualCall.rst
A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.SelfAssignment.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.OSObjectCStyleCast.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.MIG.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.OSObjectRetainCount.rst
M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PutenvStackArray.rst
M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.SetgidSetuidOrder.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
Log Message:
-----------
[clang-tidy][NFC][doc] clean out-dated clang-static-analyzer checks (#119580)
Commit: ea6e13586ce22291e9e7a4e382f6b2409b406da9
https://github.com/llvm/llvm-project/commit/ea6e13586ce22291e9e7a4e382f6b2409b406da9
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/utils/perf-training/bolt.lit.cfg
M clang/utils/perf-training/lit.cfg
M clang/utils/perf-training/llvm-support/build.test
Log Message:
-----------
[clang][perf-training] Fix profiling with -DCLANG_BOLT=perf (#119117)
This fixes the llvm-support build that generates the profile data, and
wraps the whole `cmake --build` command with perf instead of wrapping
each individual clang invocation. This limits the number of profile
files generated and reduces the time spent running perf2bolt.
Commit: d01c11df04ae45a3d5b08e69bb683c760bbddd54
https://github.com/llvm/llvm-project/commit/d01c11df04ae45a3d5b08e69bb683c760bbddd54
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/include/clang/Basic/FileEntry.h
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/SemaConcept.h
M clang/include/clang/Sema/SemaInternal.h
M clang/include/clang/Sema/Template.h
M clang/lib/APINotes/APINotesManager.cpp
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/Index/IndexDecl.cpp
Log Message:
-----------
[clang] Migrate away from PointerUnion::{is,get} (NFC) (#119724)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: 88c18da37dfb10d570414bcb92ad075241f1b7c3
https://github.com/llvm/llvm-project/commit/88c18da37dfb10d570414bcb92ad075241f1b7c3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/render-vlop-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/render-vlop-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vmclr-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vmclr-rv64.mir
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
Log Message:
-----------
[RISCV] Rename suffixes on VCPOP/VMSBF/VMSET/etc pseudos. NFC (#119785)
These are suffixed with B1, B2, B4, B8, B16, B32, or B64 which I think
these were supposed to match the naming of the vbool types from C where
the number should be SEW/LMUL. So the smallest mask is 64 and the
largest is 1. This provides a compact syntax for describing the 7
possible ratios between LMUL and SEW.
We had the instruction names in the opposite order.
Commit: 08379d6430106094aeb24ac02b82ce8e89799e9e
https://github.com/llvm/llvm-project/commit/08379d6430106094aeb24ac02b82ce8e89799e9e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
A llvm/test/Transforms/PGOProfile/memprof_annotate_yaml.test
Log Message:
-----------
[memprof] Test the memprof-use pass with a YAML (#119779)
This patch adds a test to verify that the call site that allocates
cold bytes is annotated as such. The test is the first of its kind
integrating the memprof-use pass and YAML.
Commit: 38eaea73cab3f427edd16d60035cf126f9a99cd0
https://github.com/llvm/llvm-project/commit/38eaea73cab3f427edd16d60035cf126f9a99cd0
Author: pcc <peter at pcc.me.uk>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/TargetParser/Host.cpp
M llvm/unittests/TargetParser/Host.cpp
Log Message:
-----------
TargetParser: AArch64: Add part numbers for Apple CPUs.
Part numbers taken from:
https://github.com/AsahiLinux/m1n1/blob/main/src/chickens.c
Reviewers: ahmedbougacha, jroelofs
Reviewed By: jroelofs
Pull Request: https://github.com/llvm/llvm-project/pull/119777
Commit: 768754807f17754fb450ec672779b827ad5df4b4
https://github.com/llvm/llvm-project/commit/768754807f17754fb450ec672779b827ad5df4b4
Author: Matthias Braun <matze at braunis.de>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/Transforms/InstCombine/vec_shuffle-phi-multiuse.ll
Log Message:
-----------
[InstCombine] Optimistically allow multiple shufflevector uses in foldOpPhi (#114278)
We would like to optimize situations of the form that happen after loop
vectorization+SROA:
```
loop:
%phi = phi zeroinitializer, %interleaved
%deinterleave_a = shufflevector %phi, poison ; pick half of the lanes
%deinterleave_b = shufflevector %phi, posion ; pick remaining lanes
... %a = ... %b = ...
%interleaved = shufflevector %a, %b ; interleave lanes of a+b
```
where the interleave and de-interleave shuffle operations cancel each
other out.
This could be handled by `foldOpPhi` but does not currently work because
it does
not proceed when there are multiple uses of the `Phi` operation.
This extends `foldOpPhi` to allow multiple `shufflevector` uses when
they are
shown to simplify for all `Phi` input values.
Commit: 51001f87f1b1136554a73228fac2bde9735b2d06
https://github.com/llvm/llvm-project/commit/51001f87f1b1136554a73228fac2bde9735b2d06
Author: Feng Zou <feng.zou at intel.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M lld/test/ELF/tls-opt.s
M lld/test/ELF/x86-64-tls-ie-local.s
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86FixupKinds.h
M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
M llvm/test/MC/ELF/relocation.s
Log Message:
-----------
[X86][MC] Fix offset for R_X86_64_CODE_6_GOTTPOFF fixup (#119496)
1. Fix the offset for R_X86_64_CODE_6_GOTTPOFF fixup, which is
introduced by #117277. It should be biased with the size of the
immediate field. Related tests are updated.
2. Rename reloc_riprel_6byte_relax to reloc_riprel_4byte_relax_evex as
the number of bytes represents the size of fixup, and "evex" suffix is added
as it's used for APX NDD/NF instructions with EVEX prefix.
3. Remove incorrectly setting R_X86_64_CODE_6_GOTTPOFF relocation type
for APX NDD/NF instructions with GOTPCREL symbol reference modifier.
Commit: 3de5e8b23f5c145b13d930eb5019566d3a6f88d5
https://github.com/llvm/llvm-project/commit/3de5e8b23f5c145b13d930eb5019566d3a6f88d5
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M libcxxabi/CMakeLists.txt
Log Message:
-----------
[libc++abi] Build cxxabi with sanitizers (#119612)
Commit: 6c4e70fcbbb62f38a5aab085634de5faaa5cf729
https://github.com/llvm/llvm-project/commit/6c4e70fcbbb62f38a5aab085634de5faaa5cf729
Author: wanglei <wanglei at loongson.cn>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.cpp
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.h
M lldb/source/Plugins/Process/Utility/CMakeLists.txt
A lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_loongarch.cpp
A lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_loongarch.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
M lldb/source/Target/Process.cpp
Log Message:
-----------
[lldb][Process] Introduce LoongArch64 hw break/watchpoint support
This patch adds support for setting/clearing hardware watchpoints and
breakpoints on LoongArch 64-bit hardware.
Refer to the following document for the hw break/watchpoint:
https://loongson.github.io/LoongArch-Documentation/LoongArch-Vol1-EN.html#control-and-status-registers-related-to-watchpoints
Fix Failed Tests:
lldb-shell :: Subprocess/clone-follow-child-wp.test
lldb-shell :: Subprocess/clone-follow-parent-wp.test
lldb-shell :: Subprocess/fork-follow-child-wp.test
lldb-shell :: Subprocess/fork-follow-parent-wp.test
lldb-shell :: Subprocess/vfork-follow-child-wp.test
lldb-shell :: Subprocess/vfork-follow-parent-wp.test
lldb-shell :: Watchpoint/ExpressionLanguage.test
Depends on: #118043
Reviewed By: SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/118770
Commit: 7077896a548a22d6a15c59d4b3edbc19d8e44fce
https://github.com/llvm/llvm-project/commit/7077896a548a22d6a15c59d4b3edbc19d8e44fce
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
Log Message:
-----------
[NFCI][sanitizer] Refactor parseSanitizeTrapArgs (#119797)
parseSanitizeTrapArgs follows the general pattern of "compute the
sanitizer mask based on the default plus opt-in (if supported) minus
opt-out". This patch refactors the functionality into a generalized
function, parseSanitizeArgs, which will be useful for future sanitizer
flag parsing.
Commit: 3b10e31d3a4a1c660c82287d3b9f6515f37a32ca
https://github.com/llvm/llvm-project/commit/3b10e31d3a4a1c660c82287d3b9f6515f37a32ca
Author: hitmoon <zxq_yx_007 at 163.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/test/Driver/freebsd.c
Log Message:
-----------
[clang][LoongArch] Add FreeBSD targets (#119191)
Add support for freebsd on loongarch
Signed-off-by: xiaoqiang zhao <zxq_yx_007 at 163.com>
Co-authored-by: yu shan wei <mpysw at vip.163.com>
Commit: 5e53a8dadb0019ee87936c1278fa222781257005
https://github.com/llvm/llvm-project/commit/5e53a8dadb0019ee87936c1278fa222781257005
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
A llvm/test/MachineVerifier/AMDGPU/unsupported-subreg-index-aligned-vgpr-check.mir
Log Message:
-----------
AMDGPU: Fix verifier assert with out of bounds subregister indexes (#119799)
The manual check for aligned VGPR classes would assert if a virtual
register used an index not supported by the register class.
Commit: ada517b40c6f90a78ea69b9d2d0997c82065c9fd
https://github.com/llvm/llvm-project/commit/ada517b40c6f90a78ea69b9d2d0997c82065c9fd
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
Log Message:
-----------
[MLGO][NFC] Clang format MLRegAllocEvictAdvisor.cpp
Run clang-format to fix an issue in spacing in a comment.
Commit: 1562b70eaf6e0b95910fa684dfc53bd5ca6252e7
https://github.com/llvm/llvm-project/commit/1562b70eaf6e0b95910fa684dfc53bd5ca6252e7
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/DomTreeUpdater.h
M llvm/include/llvm/Analysis/GenericDomTreeUpdater.h
M llvm/include/llvm/Analysis/GenericDomTreeUpdaterImpl.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineDomTreeUpdater.h
M llvm/include/llvm/CodeGen/MachineDominators.h
M llvm/include/llvm/CodeGen/MachineSSAContext.h
M llvm/lib/Analysis/DomTreeUpdater.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachineDomTreeUpdater.cpp
M llvm/lib/CodeGen/MachineDominanceFrontier.cpp
M llvm/lib/CodeGen/MachineDominators.cpp
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/lib/CodeGen/MachineLoopInfo.cpp
M llvm/lib/CodeGen/MachineSink.cpp
M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
M llvm/lib/CodeGen/PHIElimination.cpp
M llvm/lib/CodeGen/XRayInstrumentation.cpp
M llvm/lib/Target/AMDGPU/SILateBranchLowering.cpp
M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.cpp
M llvm/unittests/Analysis/DomTreeUpdaterTest.cpp
M llvm/unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cpp
Log Message:
-----------
Reapply "[DomTreeUpdater] Move critical edge splitting code to updater" (#119547)
This relands commit #115111.
Use traditional way to update post dominator tree, i.e. break critical
edge splitting into insert, insert, delete sequence.
When splitting critical edges, the post dominator tree may change its
root node, and `setNewRoot` only works in normal dominator tree...
See
https://github.com/llvm/llvm-project/blob/6c7e5827eda26990e872eb7c3f0d7866ee3c3171/llvm/include/llvm/Support/GenericDomTree.h#L684-L687
Commit: 02bcaca5995de283c85acfcca61a39baac315794
https://github.com/llvm/llvm-project/commit/02bcaca5995de283c85acfcca61a39baac315794
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
Log Message:
-----------
[docs]Fix a typo around '#pragma clang section' (#119791)
Commit: 82204154b7bd1f8c487c94c7ef00399d776b29f0
https://github.com/llvm/llvm-project/commit/82204154b7bd1f8c487c94c7ef00399d776b29f0
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
M llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll
Log Message:
-----------
[SLP] Make getSameOpcode support different instructions if they have same semantics. (#112181)
Commit: 3133acf1fbd1cc57ea8e74288ee9a0acd027d749
https://github.com/llvm/llvm-project/commit/3133acf1fbd1cc57ea8e74288ee9a0acd027d749
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
M llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll
Log Message:
-----------
Revert "[SLP] Make getSameOpcode support different instructions if they have same semantics. (#112181)"
This reverts commit 82204154b7bd1f8c487c94c7ef00399d776b29f0.
Commit: 60325abeb3226b17c28429dfa6e175f25c171ec0
https://github.com/llvm/llvm-project/commit/60325abeb3226b17c28429dfa6e175f25c171ec0
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
Log Message:
-----------
[MLGO] Add Threshold to Prevent Pathological Compile Time Cases (#119807)
This patch adds a threshold flag, -mlregalloc-max-cascade, to prevent
live ranges from being evicted more than is necessary.
After deploying a new regalloc model, we ran into some pathological
cases where the model decided it wanted to ping-pong evictions, taking
up a large amount of compile time. This threshold is mostly a stop gap
while we continue to investigate other solutions and work on
minimizing/constructing test cases.
Commit: 0c94915d34e6934c04140bb908364e54d1bc8ada
https://github.com/llvm/llvm-project/commit/0c94915d34e6934c04140bb908364e54d1bc8ada
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
Log Message:
-----------
[RISCV] Use _B* suffix for vector mask logic pseudo instructions. (#119787)
Replace LMUL suffixes with _B1, _B2, etc. This matches what we do
for other mask only instructions like VCPOP_M, VFIRST_M, VMSBF_M,
VLM, VSM, etc.
Now all pseudoinstructions that use Log2SEW=0 will be consistently
named.
Commit: 2bf3ef18471a987aea32fd845535b58aedbb3e46
https://github.com/llvm/llvm-project/commit/2bf3ef18471a987aea32fd845535b58aedbb3e46
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M bolt/test/unreadable-profile.test
Log Message:
-----------
[BOLT] Require non root user for unreadable-profile.test (#119816)
This patch adds a requirement for a non root user in
unreadable-profile.test. This test fails if run as a root user (like in
a container without explicitly changing the user), which can lead to
some CI test failures.
Commit: ae89be0797e663b5e699104f58cbb8f5a090080b
https://github.com/llvm/llvm-project/commit/ae89be0797e663b5e699104f58cbb8f5a090080b
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M compiler-rt/lib/orc/macho_tlv.x86-64.S
M compiler-rt/lib/orc/sysv_reenter.arm64.S
Log Message:
-----------
[ORC-RT] Fix comments. NFC.
Fix file name, symbol name, and formatting in comments.
Commit: a1739d2501e813f629268f99a2ab3485aaf02ba1
https://github.com/llvm/llvm-project/commit/a1739d2501e813f629268f99a2ab3485aaf02ba1
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
Log Message:
-----------
[JITLink][aarch64] Fix comment for trampoline instruction sequence. NFC.
The comment was from a prototype and doesn't reflect the final instruction
sequence.
Commit: 81c680a89622466b279357ca2e1045ef84d2c534
https://github.com/llvm/llvm-project/commit/81c680a89622466b279357ca2e1045ef84d2c534
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
Log Message:
-----------
[ORC] Improve JITLinkReentryTrampolines "arch not supported" error message.
"Architecture not supported" becomes
"JITLinkReentryTrampolines: architecture <arch> not supported".
Commit: 1865f0e203d4b23e676fb6ce72cf8797d0f0b80a
https://github.com/llvm/llvm-project/commit/1865f0e203d4b23e676fb6ce72cf8797d0f0b80a
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M lld/COFF/PDB.cpp
M lld/COFF/Writer.cpp
Log Message:
-----------
[lld-link] Replace warn(...) with Warn(ctx)
Commit: 7a648554f886fbc043c4f3f58ca88f6c4535f2cf
https://github.com/llvm/llvm-project/commit/7a648554f886fbc043c4f3f58ca88f6c4535f2cf
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/sgpr-regalloc-flags.ll
Log Message:
-----------
[AMDGPU][CodeGen] Do not backtrace invalid -regalloc param (#119687)
No need to generate a stack trace and a GitHub issue prompt on a wrongly
set regalloc option.
Commit: 37d0e2f46e885f47c97b78c21d6b8668cd0ef871
https://github.com/llvm/llvm-project/commit/37d0e2f46e885f47c97b78c21d6b8668cd0ef871
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/test/CodeGenOpenCL/opencl_types.cl
Log Message:
-----------
clang: Fix broken check prefix in test (#119821)
Commit: ea44647a0b49de826191eeb6e05020262b5a81e9
https://github.com/llvm/llvm-project/commit/ea44647a0b49de826191eeb6e05020262b5a81e9
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M clang/docs/tools/dump_format_help.py
M clang/docs/tools/dump_format_style.py
Log Message:
-----------
[clang-format] Write in text mode with LF in dump_format_[help|style].py
Commit: 5828aef014ea2b131fb126b328e7828d628ad5ed
https://github.com/llvm/llvm-project/commit/5828aef014ea2b131fb126b328e7828d628ad5ed
Author: Mike Hommey <mh at glandium.org>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
Log Message:
-----------
[sanitizer_common] Return nullptr from ASan on ERROR_COMMITMENT_LIMIT (#119753)
Followup to #117929
Commit: 28c3bf5c6dad0974f9f15b58afd0935c0c6cb3e4
https://github.com/llvm/llvm-project/commit/28c3bf5c6dad0974f9f15b58afd0935c0c6cb3e4
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseExprCXX.cpp
M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p13.cpp
M clang/test/Parser/cxx0x-decl.cpp
M clang/test/Parser/cxx2c-pack-indexing.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing-ext-diags.cpp
Log Message:
-----------
[Clang][Parser] Add a warning to ambiguous uses of T...[N] types (#116332)
`void f(T... [N])` is no longer treated as a function with a parameter
of pack expansion type after the implementation of the pack indexing
feature. This patch introduces a warning to clarify such cases while
maintaining it as a pack indexing type in all language modes.
Closes https://github.com/llvm/llvm-project/issues/115222
Commit: d7a8e09893c43ad1169ff34989c3bec721d8b1a9
https://github.com/llvm/llvm-project/commit/d7a8e09893c43ad1169ff34989c3bec721d8b1a9
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/test/Format/docs_updated.test
Log Message:
-----------
[clang-format] Add --strip-trailing-cr to diff in docs_updated.test (#119666)
Fixes #119517.
Commit: e32c428bec2074f954350d225104c299964b4585
https://github.com/llvm/llvm-project/commit/e32c428bec2074f954350d225104c299964b4585
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
M llvm/test/Transforms/SimplifyCFG/switch-dup-bbs.ll
Log Message:
-----------
[SimplifyCFG] Precommit tests for PR118955 (NFC)
Commit: d26df3225537f3f9dc283f4fb33d191d11802d8c
https://github.com/llvm/llvm-project/commit/d26df3225537f3f9dc283f4fb33d191d11802d8c
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
M llvm/test/Transforms/SimplifyCFG/switch-dup-bbs.ll
Log Message:
-----------
[SimplifyCFG] Consider preds to switch in `simplifyDuplicateSwitchArms`
Allow a duplicate basic block with multiple predecessors to the
jump table to be simplified, by considering that the same basic
block may appear in more switch cases.
Commit: 1d070988d9172965dee227e5629fa886845b815f
https://github.com/llvm/llvm-project/commit/1d070988d9172965dee227e5629fa886845b815f
Author: Hans Wennborg <hans at hanshq.net>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86WinEHState.cpp
A llvm/test/CodeGen/WinEH/wineh-musttail-call.ll
Log Message:
-----------
[WinEH] Take musttail calls into account when unlinking eh records (#119702)
Exception handling records are unlinked on function return. However, if
there is a musttail call before the return, that's the de-facto point of
termination and the unlinking instructions must be inserted *before*
that.
Fixes #119255
Commit: 3d6b2d491209018918e4c881a0917bffc54cc0d9
https://github.com/llvm/llvm-project/commit/3d6b2d491209018918e4c881a0917bffc54cc0d9
Author: David Green <david.green at arm.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/test/CodeGen/AArch64/GlobalISel/combine-ext-debugloc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-build-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-concat-vectors.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-inserts.mir
Log Message:
-----------
[GlobalISel] Use replaceRegOrBuildCopy when legalizer-combining anyext(undef). (#119721)
This just avoids the unnecessary creation of some COPY nodes created
from the CSE builder.
Commit: 06789ccb1695214f787cd471a300522973d33375
https://github.com/llvm/llvm-project/commit/06789ccb1695214f787cd471a300522973d33375
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M libclc/clc/include/clc/clcmacro.h
M libclc/clc/include/clc/math/clc_ceil.h
M libclc/clc/include/clc/math/clc_fabs.h
M libclc/clc/include/clc/math/clc_floor.h
M libclc/clc/include/clc/math/clc_rint.h
M libclc/clc/include/clc/math/clc_trunc.h
A libclc/clc/include/clc/math/unary_builtin.inc
M libclc/clc/lib/clspv/SOURCES
R libclc/clc/lib/clspv/dummy.cl
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_ceil.cl
A libclc/clc/lib/generic/math/clc_fabs.cl
A libclc/clc/lib/generic/math/clc_floor.cl
A libclc/clc/lib/generic/math/clc_rint.cl
A libclc/clc/lib/generic/math/clc_trunc.cl
M libclc/clc/lib/spirv/SOURCES
M libclc/clc/lib/spirv64/SOURCES
M libclc/generic/lib/math/ceil.cl
M libclc/generic/lib/math/fabs.cl
M libclc/generic/lib/math/floor.cl
M libclc/generic/lib/math/rint.cl
M libclc/generic/lib/math/round.cl
M libclc/generic/lib/math/sqrt.cl
M libclc/generic/lib/math/trunc.cl
R libclc/generic/lib/math/unary_builtin.inc
Log Message:
-----------
[libclc] Optimize ceil/fabs/floor/rint/trunc (#119596)
These functions all map to the corresponding LLVM intrinsics, but the
vector intrinsics weren't being generated. The intrinsic mapping from
CLC vector function to vector intrinsic was working correctly, but the
mapping from OpenCL builtin to CLC function was suboptimally recursively
splitting vectors in halves.
For example, with this change, `ceil(float16)` calls `llvm.ceil.v16f32`
directly once optimizations are applied.
Now also, instead of generating LLVM intrinsics through `__asm` we now
call clang elementwise builtins for each CLC builtin. This should be a
more standard way of achieving the same result
The CLC versions of each of these builtins are also now built and
enabled for SPIR-V targets. The LLVM -> SPIR-V translator maps the
intrinsics to the appropriate OpExtInst, so there should be no
difference in semantics, despite the newly introduced indirection from
OpenCL builtin through the CLC builtin to the intrinsic.
The AMDGPU targets make use of the same `_CLC_DEFINE_UNARY_BUILTIN`
macro to override `sqrt`, so those functions also appear more optimal
with this change, calling the vector `llvm.sqrt.vXf32` intrinsics
directly.
Commit: 4c597d42dca13220c19661a021a11e28e2af801b
https://github.com/llvm/llvm-project/commit/4c597d42dca13220c19661a021a11e28e2af801b
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/test/Conversion/VectorToXeGPU/load-to-xegpu.mlir
M mlir/test/Conversion/VectorToXeGPU/store-to-xegpu.mlir
M mlir/test/Conversion/VectorToXeGPU/transfer-read-to-xegpu.mlir
M mlir/test/Conversion/VectorToXeGPU/transfer-write-to-xegpu.mlir
Log Message:
-----------
[mlir][xegpu] Support boundary checks only for block instructions (#119380)
Constrains Vector lowering to apply boundary checks only to data
transfers operating on block shapes.
This further aligns lowering with the current Xe instructions'
restrictions.
Commit: ccc8e454044477de9ce71c1b22dd048f189a9601
https://github.com/llvm/llvm-project/commit/ccc8e454044477de9ce71c1b22dd048f189a9601
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/test/Transforms/SampleProfile/pseudo-probe-profile.ll
Log Message:
-----------
[PseudoProbe] Fix cleanup for pseudo probe after annotation (#119660)
When using -sample-profile-remove-probe, pseudo probe desc should
also be removed and dwarf discriminator for call instruction should
be restored.
Commit: 1fd3d1d04e6339fff7ef5b8b172ed4954885dde1
https://github.com/llvm/llvm-project/commit/1fd3d1d04e6339fff7ef5b8b172ed4954885dde1
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp8_fdot.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fp8_fdot.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-fp8-fdot.ll
Log Message:
-----------
[AArch64] Add intrinsics for SME FP8 FDOT LANE instructions (#118492)
Add support for the following SME 8 bit floating-point dot-product
intrinsics:
* void svdot_lane_za16_mf8_vg1x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8_t zm, uint64_t imm_idx, fpm_t fpm);
* void svdot_lane_za16_mf8_vg1x4_fpm(uint32_t slice, svmfloat8x4_t zn,
svmfloat8_t zm, uint64_t imm_idx, fpm_t fpm);
* void svdot_lane_za32_mf8_vg1x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8_t zm, uint64_t imm_idx, fpm_t fpm);
* void svdot_lane_za32_mf8_vg1x4_fpm(uint32_t slice, svmfloat8x4_t zn,
svmfloat8_t zm, uint64_t imm_idx, fpm_t fpm);
---------
Co-authored-by: Momchil Velikov <momchil.velikov at arm.com>
Co-authored-by: Marian Lukac <marian.lukac at arm.com>
Co-authored-by: Caroline Concatto <caroline.concatto at arm.com>
Co-authored-by: SpencerAbson <Spencer.Abson at arm.com>
Commit: 7da4b6b7a5beba9ff2589c8ecdc141316acdad12
https://github.com/llvm/llvm-project/commit/7da4b6b7a5beba9ff2589c8ecdc141316acdad12
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/misc/unused-parameters.rst
Log Message:
-----------
[clang-tidy][doc][NFC] format doc for misc-unused-parameters (#119839)
Commit: d6cc140dfdccc7314cc124a7d4aa4d0176299531
https://github.com/llvm/llvm-project/commit/d6cc140dfdccc7314cc124a7d4aa4d0176299531
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
A .ci/compute-projects.sh
M .ci/generate-buildkite-pipeline-premerge
Log Message:
-----------
[CI] Refactor common functionality into separate script (#119530)
This patch refactors some common functionality present in the CI scripts
to a separate shell script. This is mainly intended to make it easier to
reuse this functionality inside of a Github Actions pipeline as we make
the switch.
Commit: bc29fc937c6cb4a210f80c93c79fc6ed97c801f8
https://github.com/llvm/llvm-project/commit/bc29fc937c6cb4a210f80c93c79fc6ed97c801f8
Author: Petr Kurapov <petr.a.kurapov at intel.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M mlir/include/mlir/Conversion/GPUCommon/GPUCommonPass.h
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.h
R mlir/include/mlir/Dialect/GPU/Transforms/Utils.h
A mlir/include/mlir/Dialect/GPU/Utils/DistributionUtils.h
A mlir/include/mlir/Dialect/GPU/Utils/GPUUtils.h
M mlir/lib/Dialect/GPU/CMakeLists.txt
M mlir/lib/Dialect/GPU/Transforms/AsyncRegionRewriter.cpp
M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
M mlir/lib/Dialect/GPU/Transforms/SubgroupReduceLowering.cpp
R mlir/lib/Dialect/GPU/Transforms/Utils.cpp
A mlir/lib/Dialect/GPU/Utils/CMakeLists.txt
A mlir/lib/Dialect/GPU/Utils/DistributionUtils.cpp
A mlir/lib/Dialect/GPU/Utils/Utils.cpp
M mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
Log Message:
-----------
[MLIR] Create GPU utils library & move distribution utils (#119264)
Continue the move of `warp_execute_on_lane_0` op to the gpu dialect
(#116994). This patch creates a utils library in GPU and moves generic
helper functions there.
Commit: 05860f9b384b9b8f8bb01fa8984dbc2833669a27
https://github.com/llvm/llvm-project/commit/05860f9b384b9b8f8bb01fa8984dbc2833669a27
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-checked-const-member.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-checked-ptr.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-counted-const-member.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/local-vars-checked-const-member.cpp
M clang/test/Analysis/Checkers/WebKit/local-vars-counted-const-member.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
Log Message:
-----------
[WebKit checkers] Recognize ensureFoo functions (#119681)
In WebKit, we often write Foo::ensureBar function which lazily
initializes m_bar and returns a raw pointer or a raw reference to m_bar.
Such a return value is safe to use for the duration of a member function
call in Foo so long as m_bar is const so that it never gets unset or
updated with a new value once it's initialized.
This PR adds support for recognizing these types of functions and
treating its return value as a safe origin of a function argument
(including "this") or a local variable.
Commit: 473e2518e850598feae62916ebef4b4dbc88a0ee
https://github.com/llvm/llvm-project/commit/473e2518e850598feae62916ebef4b4dbc88a0ee
Author: GeorgeKA <gkasante at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
Log Message:
-----------
[clang] Document the return value of __builtin_COLUMN (#118360)
PR for issue #78657
Updated clang/docs/LanguageExtensions.rst to detail the return value of
__builtin_COLUMN for this implementation.
--
Fyi, this is my first contribution, so please bear with me.
There already appears to be a unit test for __builtin_COLUMN in
clang/test/SemaCXX/source_location.cpp.
Commit: 79f41434460d3305c889a6483ea59f1e3ea19b5a
https://github.com/llvm/llvm-project/commit/79f41434460d3305c889a6483ea59f1e3ea19b5a
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms] Dialect conversion: Move `hasRewrite` to expensive checks (#119848)
The dialect conversion has various checks that detect incorrect API
usage in patterns. One of these checks turned out to be quite expensive
(N*M complexity where N is the number of block rewrites and M is the
total number of rewrites) in NVIDIA-internal workloads: Checking that a
block is not converted multiple times.
This check iterates over the stack of all rewrites, which can be large.
We saw `hasRewrite` being called around 45000 times with an average
rewrite stack size of 500000.
This PR moves the check to `MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS`.
For consistency reasons, the other `hasRewrite`-based check is also
moved there.
Commit: ff939b06a5ef57ac926c53e9f85b955b8bd855aa
https://github.com/llvm/llvm-project/commit/ff939b06a5ef57ac926c53e9f85b955b8bd855aa
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/GPU/Utils/DistributionUtils.h
Log Message:
-----------
[mlir] Fix the header guard (NFC)
/llvm-project/mlir/include/mlir/Dialect/GPU/Utils/DistributionUtils.h:9:9:
error: 'MLIR_DIALECT_GPU_TRANSFORMS_DISTRIBUTIONUTILS_H_' is used as a header guard here, followed by #define of a different macro [-Werror,-Wheader-guard]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/llvm-project/mlir/include/mlir/Dialect/GPU/Utils/DistributionUtils.h:10:9:
note: 'MLIR_DIALECT_GPU_TRANSFORMS_DISTRIBITIONUTILS_H_' is defined here; did you mean 'MLIR_DIALECT_GPU_TRANSFORMS_DISTRIBUTIONUTILS_H_'?
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MLIR_DIALECT_GPU_TRANSFORMS_DISTRIBUTIONUTILS_H_
1 error generated.
Commit: 217e0f39710dec3348c996ecf98a76fd08b69853
https://github.com/llvm/llvm-project/commit/217e0f39710dec3348c996ecf98a76fd08b69853
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
A llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[SCEV] Add initial pattern matching for SCEV constants. (NFC) (#119389)
Add initial pattern matching for SCEV constants. Follow-up patches will
add additional matchers for various SCEV expressions.
This patch only converts a few instances to use the new matchers to make
sure everything builds as expected for now.
PR: https://github.com/llvm/llvm-project/pull/119389
Commit: 94a77ebe240eb7dff7c5d645fc7f60cce049783f
https://github.com/llvm/llvm-project/commit/94a77ebe240eb7dff7c5d645fc7f60cce049783f
Author: David Green <david.green at arm.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-hoist-same-hands.mir
Log Message:
-----------
[AArch64][GlobalISel] Guard against no operands in matchHoistLogicOpWithSameOpcodeHands
In case both LeftHandInst and RightHandInst are IMPLICIT_DEF with no input
operands, this patch protects against the post-legalizer-combiner
matchHoistLogicOpWithSameOpcodeHands with no operands. The
prelegalizercombiner-hoist-same-hands.mir test was cleaned up a little in the
process, and has a post-legalizer run line added so that the implicit_def do
not get folded awwy.
Commit: 8820de68ddf02fe3c73def49ec32bbeca54c2754
https://github.com/llvm/llvm-project/commit/8820de68ddf02fe3c73def49ec32bbeca54c2754
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/lib/IR/IntrinsicInst.cpp
Log Message:
-----------
[debug] Use poison instead of undef to set a killed dbg.assign address [NFC] (#119760)
Commit: 30cbd09f4b8f7e94663631f0240d11bb754ea25b
https://github.com/llvm/llvm-project/commit/30cbd09f4b8f7e94663631f0240d11bb754ea25b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.h
Log Message:
-----------
[clang][bytecode] Fix memcmp/bcmp failures on big-endian hosts (#119851)
See the discussion in
https://github.com/llvm/llvm-project/pull/119678#issuecomment-2539680746
and
https://github.com/llvm/llvm-project/pull/119544#issuecomment-2539678561
Commit: 84b0f0145887bbfe49fd4dc85490b14108a72cee
https://github.com/llvm/llvm-project/commit/84b0f0145887bbfe49fd4dc85490b14108a72cee
Author: VScigolevs <vladimirs.scigolevs at zimperium.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaAttr.cpp
A clang/test/SemaCXX/msvc-pragma-function-no-builtin-attr.cpp
Log Message:
-----------
[clang-cl] Don't add implicit NoBuiltinAttr to deleted or defaulted functions (#119719)
In Clang `#pragma function` is implemented by adding an implicit
NoBuiltin Attribute to all function definitions after the pragma. This
(wrongly) includes also defaulted or deleted functions, which results in
the error, shown in #116256.
As this attribute has no effect on the deleted or defaulted functions,
this commit fixes the previously mentioned issue by simply not adding
the attribute in such cases.
Fixes #116256
Commit: 8bf19ec444593b3076a446a8eeb5042bbf79dc65
https://github.com/llvm/llvm-project/commit/8bf19ec444593b3076a446a8eeb5042bbf79dc65
Author: macurtis-amd <macurtis at amd.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/unittests/Frontend/CompilerInvocationTest.cpp
Log Message:
-----------
[clang] Fix use of dangling ptr in CommandLineTest (#119798)
If 'GeneratedArgsStorage' ever grows, contained strings may get copied
and data pointers stored in 'GeneratedArgs' may become invalid, pointing
to deallocated memory.
Commit: 716360367fbdabac2c374c19b8746f4de49a5599
https://github.com/llvm/llvm-project/commit/716360367fbdabac2c374c19b8746f4de49a5599
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M polly/lib/Analysis/ScopBuilder.cpp
M polly/lib/Analysis/ScopDetection.cpp
M polly/lib/Analysis/ScopInfo.cpp
M polly/lib/Support/SCEVAffinator.cpp
M polly/lib/Support/SCEVValidator.cpp
M polly/lib/Support/ScopHelper.cpp
M polly/lib/Support/VirtualInstruction.cpp
Log Message:
-----------
[Polly] Use const SCEV * explicitly in more places. (NFC)
Use const SCEV * explicitly in more places to prepare for
https://github.com/llvm/llvm-project/pull/91961.
Commit: a30e50fcb3119cc1f84f0398d229a929f296188d
https://github.com/llvm/llvm-project/commit/a30e50fcb3119cc1f84f0398d229a929f296188d
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes-malloc.c
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/test/Analysis/BasicAA/smaller-index-size-overflow.ll
Log Message:
-----------
[BasicAA] Do not decompose past casts with different index width (#119365)
BasicAA currently tries to support addrspacecasts that change the index
width by performing the decomposition in the maximum of all index widths
and then trying to fix this up with in-place sign extends to get correct
overflow behavior if the actual index width is smaller.
However, even in the case where we don't mix different index widths and
just have an index width that is smaller than the maximum, the behavior
is incorrect (see test), because we only perform the index width
adjustment during decomposition and not any of the later logic -- and we
don't do anything at all for variable offsets. I'm sure that the case
where we actually mix different index widths is even more broken than
that.
Fix this by not allowing decomposition through index width changes. If
the pointers have different index widths, fall back to a base object
comparison, ignoring the offsets.
Commit: 07aab4a3cdab3d46caab270845413c5ba4546b50
https://github.com/llvm/llvm-project/commit/07aab4a3cdab3d46caab270845413c5ba4546b50
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/DataLayout.h
M llvm/lib/IR/DataLayout.cpp
Log Message:
-----------
[DataLayout] Remove getMaxIndexSizeInBits() API
The last use was removed in #119365, and we should not add more
uses of this concept in the future either.
Commit: a25b2ba782dd5839492b135518f0a58d4a19e1f9
https://github.com/llvm/llvm-project/commit/a25b2ba782dd5839492b135518f0a58d4a19e1f9
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/include/llvm/AsmParser/LLParser.h
A llvm/test/Assembler/pr119818.ll
Log Message:
-----------
[AsmParser] Allow comparing ValIDs with different kinds (#119834)
This patch allows comparing `t_[Local|Global]ID` with
`t_[Local|Global]Name`.
Closes https://github.com/llvm/llvm-project/issues/119818.
Commit: 5fd385b3c145270bb9a6388d998a870bf3f79b54
https://github.com/llvm/llvm-project/commit/5fd385b3c145270bb9a6388d998a870bf3f79b54
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M libcxx/include/string
M libcxx/include/string_view
Log Message:
-----------
[libc++][NFC] Simplify the implementation of string and string_views operator== (#117184)
Commit: 7c9404c279cfa13e24a043e6357cc85bd12f55f1
https://github.com/llvm/llvm-project/commit/7c9404c279cfa13e24a043e6357cc85bd12f55f1
Author: Ivan R. Ivanov <ivanov.i.aa at m.titech.ac.jp>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/lib/Parse/ParseOpenMP.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Lower/OpenMP/KernelLanguage/bare-clause.f90
A flang/test/Semantics/OpenMP/ompx-bare.f90
M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[flang][OpenMP] Add frontend support for ompx_bare clause (#111106)
Commit: a21f9bfe29c2b9f1967952d12a5b7cb8f8b75202
https://github.com/llvm/llvm-project/commit/a21f9bfe29c2b9f1967952d12a5b7cb8f8b75202
Author: Danial Klimkin <dklimkin at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel]Fix Bazel build past bc29fc937c6cb4a210f80c93c79fc6ed97c801f8 (#119874)
Commit: d098ce0ec9e4dddb494f1f61ff36921dd4ce5f8e
https://github.com/llvm/llvm-project/commit/d098ce0ec9e4dddb494f1f61ff36921dd4ce5f8e
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/lib/Support/Windows/Path.inc
Log Message:
-----------
[llvm][Support][Windows] Refactored remove_directories() w/o CComPtr and atlbase.h (#119843)
This is the update of #118677. This patch fixes building with mingw.
Commit: 12a42a60f9e63fab5699b210248b5b51bd21b6e3
https://github.com/llvm/llvm-project/commit/12a42a60f9e63fab5699b210248b5b51bd21b6e3
Author: VScigolevs <vladimirs.scigolevs at zimperium.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/test/SemaCXX/msvc-pragma-function-no-builtin-attr.cpp
Log Message:
-----------
Fix SemaCXX/msvc-pragma-function-no-builtin-attr.cpp test (#119719)
Fix test failure from #119719
84b0f0145887bbfe49fd4dc85490b14108a72cee
Commit: fb8df8cb658278ceba9ef4b96e0b448aed32c1f6
https://github.com/llvm/llvm-project/commit/fb8df8cb658278ceba9ef4b96e0b448aed32c1f6
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M lldb/include/lldb/Core/dwarf.h
M lldb/source/Plugins/SymbolFile/DWARF/DIERef.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Log Message:
-----------
[lldb/DWARF] s/DWARFRangeList/llvm::DWARFAddressRangeVector (#116620)
The main difference is that the llvm class (just a std::vector in
disguise) is not sorted. It turns out this isn't an issue because the
callers either:
- ignore the range list;
- convert it to a different format (which is then sorted);
- or query the minimum value (which is faster than sorting)
The last case is something I want to get rid of in a followup as a part
of removing the assumption that function's entry point is also its
lowest address.
Commit: ea8e328ae2bea9d9a7d556ef4d791fa116f7de18
https://github.com/llvm/llvm-project/commit/ea8e328ae2bea9d9a7d556ef4d791fa116f7de18
Author: Kristóf Umann <dkszelethus at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
M clang/test/Analysis/analyzer-config.c
M clang/unittests/StaticAnalyzer/Z3CrosscheckOracleTest.cpp
Log Message:
-----------
[analyzer][Z3] Restore the original timeout of 15s (#118291)
Discussion here:
https://discourse.llvm.org/t/analyzer-rfc-taming-z3-query-times/79520/15?u=szelethus
The original patch, #97298 introduced new timeouts backed by thorough
testing and measurements to keep the running time of Z3 within
reasonable limits. The measurements also showed that only certain
reports and certain TUs were responsible for the poor performance of Z3
refutation.
Unfortunately, it seems like that on machines with different
characteristics (slower machines) the current timeouts don't just axe
0.01% of reports, but many more as well. Considering that timeouts are
inherently nondeterministic as a cutoff point, this lead reports sets
being vastly different on the same projects with the same configuration.
The discussion link shows that all configurations introduced in the
patch with their default values lead to severa nondeterminism of the
analyzer. As we, and others use the analyzer as a gating tool for PRs,
we should revert to the original defaults.
We should respect that
* There are still parts of the analyzer that are either proven or
suspected to contain nondeterministic code (like pointer sets),
* A 15s timeout is more likely to hit the same reports every time on a
wider range of machines, but is still inherently nondeterministic, but
an infinite timeout leads to the tool hanging,
* If you measure the performance of the analyzer on your machines, you
can and should achieve some speedup with little or no observable
nondeterminism.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: 75e6d0eb4d6ad1b58e5eb5c4d25371e6062cee44
https://github.com/llvm/llvm-project/commit/75e6d0eb4d6ad1b58e5eb5c4d25371e6062cee44
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.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/check-omp-structure.h
A flang/test/Lower/OpenMP/Todo/error.f90
A flang/test/Parser/OpenMP/error-unparse.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[flang][OpenMP]Add support for OpenMP ERROR directive (#119582)
Lowering leads to a TODO, with a test to confirm.
Also testing unparse.
---------
Co-authored-by: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Commit: c2172431c72c9b249bf5bdfcc0c239fbfe64fa9b
https://github.com/llvm/llvm-project/commit/c2172431c72c9b249bf5bdfcc0c239fbfe64fa9b
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_fdot.c
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_fp8.c
M clang/utils/TableGen/SveEmitter.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/fp8-sve-fdot.ll
Log Message:
-----------
[AArch64] Implements FP8 SVE intrinsics for dot-product (#118125)
This patch adds the following intrinsics:
* 8-bit floating-point dot product to single-precision.
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8DOT4) ||
__ARM_FEATURE_SSVE_FP8DOT4
svfloat32_t svdot[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm);
svfloat32_t svdot[_n_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
mfloat8_t zm, fpm_t fpm);
* 8-bit floating-point indexed dot product to single-precision.
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8DOT4) ||
__ARM_FEATURE_SSVE_FP8DOT4
svfloat32_t svdot_lane[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
svmfloat8_t zm,
uint64_t imm0_3, fpm_t fpm);
* 8-bit floating-point dot product to half-precision.
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8DOT2) ||
__ARM_FEATURE_SSVE_FP8DOT2
svfloat16_t svdot[_f16_mf8]_fpm(svfloat16_t zda, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm);
svfloat16_t svdot[_n_f16_mf8]_fpm(svfloat16_t zda, svmfloat8_t zn,
mfloat8_t zm, fpm_t fpm);
* 8-bit floating-point indexed dot product to half-precision.
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8DOT2) ||
__ARM_FEATURE_SSVE_FP8DOT2
svfloat16_t svdot_lane[_f16_mf8]_fpm(svfloat16_t zda, svmfloat8_t zn,
svmfloat8_t zm,
uint64_t imm0_7, fpm_t fpm);
Commit: 89f1f32bff76c8cf4545ada34663c6a758214cf0
https://github.com/llvm/llvm-project/commit/89f1f32bff76c8cf4545ada34663c6a758214cf0
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
A mlir/test/Target/LLVMIR/nvvm/tma_prefetch.mlir
M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[MLIR][NVVM] Refactor tests in nvvmir.mlir (#119731)
* Move the negative tests from nvvmir.mlir to nvvm-invalid.mlir. With
this, all the error-handling tests are moved to the nvvm-invalid.mlir file.
* Move the tma_prefetch tests to a separate file, as there are many
tests, and fix the FileCheck prefix for these.
* Since undef is discouraged, we use an 'i64 0' as the placeholder value
for cache-hint when unused.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: 4a0d53a0b0a58a3c6980a7c551357ac71ba3db10
https://github.com/llvm/llvm-project/commit/4a0d53a0b0a58a3c6980a7c551357ac71ba3db10
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/CmpPredicate.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/OverflowInstAnalysis.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/ExpandMemCmp.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/EarlyCSE.cpp
M llvm/lib/Transforms/Scalar/GuardWidening.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopBoundSplit.cpp
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Utils/LoopPeel.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
PatternMatch: migrate to CmpPredicate (#118534)
With the introduction of CmpPredicate in 51a895a (IR: introduce struct
with CmpInst::Predicate and samesign), PatternMatch is one of the first
key pieces of infrastructure that must be updated to match a CmpInst
respecting samesign information. Implement this change to Cmp-matchers.
This is a preparatory step in migrating the codebase over to
CmpPredicate. Since we no functional changes are desired at this stage,
we have chosen not to migrate CmpPredicate::operator==(CmpPredicate)
calls to use CmpPredicate::getMatching(), as that would have visible
impact on tests that are not yet written: instead, we call
CmpPredicate::operator==(Predicate), preserving the old behavior, while
also inserting a few FIXME comments for follow-ups.
Commit: 7a3504a133437525f3e56f5811e313e4695f932f
https://github.com/llvm/llvm-project/commit/7a3504a133437525f3e56f5811e313e4695f932f
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
A clang/test/SemaOpenACC/data-construct-copy-ast.cpp
A clang/test/SemaOpenACC/data-construct-copy-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
Log Message:
-----------
[OpenACC] Enable 'copy' clause sema for data clause
'copy' is another that is identical in behavior on 'data' as far as
semantic analysis is concerned as the compute constructs, so this patch
adds tests and enables 'copy'.
Commit: 979e9361f0e0426e555c94cb8b1a64c655805765
https://github.com/llvm/llvm-project/commit/979e9361f0e0426e555c94cb8b1a64c655805765
Author: Peng Liu <winner245 at hotmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M libcxx/include/__split_buffer
M libcxx/include/deque
Log Message:
-----------
[libc++] Fix improper static_cast in std::deque and __split_buffer (#119106)
This PR addresses the improper use of `static_cast` to `size_t` where
`size_type` is intended. Although the `size_type` member type of STL
containers is usually a synonym of `std::size_t`, there is no guarantee
that they are always equivalent. The C++ standard does not mandate this
equivalence.
In libc++'s implementations of `std::deque`, `std::vector`, and
`__split_buffer`, the `size_type` member type is defined as
`std::allocator_traits<allocator_type>::size_type`, which is either
`allocator_type::size_type` if available or
`std::make_unsigned<difference_type>::type`. While it is true for
`std::allocator` that the `size_type` member type is `std::size_t`, for
user-defined allocator types, they may mismatch. This justifies the need
to replace `static_cast<size_t>` with `static_cast<size_type>` in this
PR.
Commit: 4eec286b51524d385524a9f7cee4b9c4f8153570
https://github.com/llvm/llvm-project/commit/4eec286b51524d385524a9f7cee4b9c4f8153570
Author: lntue <lntue at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M libc/src/__support/complex_type.h
M libc/src/__support/macros/properties/complex_types.h
M libc/src/__support/macros/properties/types.h
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/sqrtf128_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
Log Message:
-----------
[libc] Add MPFR testing infra for float128. (#119499)
Commit: 55154d6896e31dd707ac90dd15ed09bec446b4cf
https://github.com/llvm/llvm-project/commit/55154d6896e31dd707ac90dd15ed09bec446b4cf
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
A clang/test/SemaOpenACC/data-construct-no_create-ast.cpp
A clang/test/SemaOpenACC/data-construct-no_create-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
Log Message:
-----------
[OpenACC] Enable 'no_create' sema for data construct
Adds tests and enables the 'no_create' clause semantic analysis for the
'data' constuct, so it will no longer report 'not yet implemented'.
Commit: 62bdb85f9b293180a2cf402fc2fa7c242d01ef3f
https://github.com/llvm/llvm-project/commit/62bdb85f9b293180a2cf402fc2fa7c242d01ef3f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M libcxx/test/std/containers/sequences/vector/vector.cons/assign_iter_iter.pass.cpp
Log Message:
-----------
[libc++][NFC] Fix incorrect comment for vector::assign(iter, iter) test
Commit: 9359625ba99dfbce8d8c27373ade544df16bee34
https://github.com/llvm/llvm-project/commit/9359625ba99dfbce8d8c27373ade544df16bee34
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
A clang/test/SemaOpenACC/data-construct-create-ast.cpp
A clang/test/SemaOpenACC/data-construct-create-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
Log Message:
-----------
[OpenACC] 'create' clause sema for data/enter data constructs
Enable and add tests for 'create' on a data or enter data construct.
Commit: 1cc71197550b92fc23624d81f2474244772bfcfb
https://github.com/llvm/llvm-project/commit/1cc71197550b92fc23624d81f2474244772bfcfb
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PutenvStackArray.rst
M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.SetgidSetuidOrder.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/valist.CopyToSelf.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/valist.Uninitialized.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/valist.Unterminated.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
Log Message:
-----------
[clang-tidy][NFC][doc] clean out-dated clang-static-analyzer checks documents and update check list (#119887)
The missing part of #119580
Commit: 019948647ebdb9f4d5cfce5a8f4afe9d4eafb14e
https://github.com/llvm/llvm-project/commit/019948647ebdb9f4d5cfce5a8f4afe9d4eafb14e
Author: WANG Rui <wangrui at loongson.cn>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/test/CodeGen/LoongArch/sextw-removal.ll
Log Message:
-----------
[LoongArch][NFC] Pre-commit tests for sign-extension removal with vectors
Commit: b2b1eec2b249698337d90a77c000340f0248c9cd
https://github.com/llvm/llvm-project/commit/b2b1eec2b249698337d90a77c000340f0248c9cd
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/SemaOpenACC/data-construct-ast.cpp
M clang/test/SemaOpenACC/data-construct-async-clause.c
A clang/test/SemaOpenACC/data-construct-copyin-ast.cpp
A clang/test/SemaOpenACC/data-construct-copyin-clause.c
M clang/test/SemaOpenACC/data-construct-if-ast.cpp
M clang/test/SemaOpenACC/data-construct-if-clause.c
M clang/test/SemaOpenACC/data-construct-wait-ast.cpp
M clang/test/SemaOpenACC/data-construct-wait-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
Log Message:
-----------
[OpenACC] enable 'copyin' clause sema for 'data'/'enter data'
stop reporting 'copyin' as not implemented on a data/enter data
construct, and enforce sema rules.
Commit: 1da0730ba5994537119ed61205a599cb3929c43a
https://github.com/llvm/llvm-project/commit/1da0730ba5994537119ed61205a599cb3929c43a
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/SemaOpenACC/data-construct-ast.cpp
M clang/test/SemaOpenACC/data-construct-async-clause.c
A clang/test/SemaOpenACC/data-construct-copyout-ast.cpp
A clang/test/SemaOpenACC/data-construct-copyout-clause.c
M clang/test/SemaOpenACC/data-construct-if-ast.cpp
M clang/test/SemaOpenACC/data-construct-if-clause.c
M clang/test/SemaOpenACC/data-construct-wait-ast.cpp
M clang/test/SemaOpenACC/data-construct-wait-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
Log Message:
-----------
[OpenACC] enable 'copyout' clause sema for data constructs
Same as the previous few, this just enables copyout for data constructs
and ensures we have sufficient test coverage.
Commit: fcb1591b46f12b8908a8cdb252611708820102f8
https://github.com/llvm/llvm-project/commit/fcb1591b46f12b8908a8cdb252611708820102f8
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M mlir/lib/IR/AffineMap.cpp
M mlir/lib/IR/Builders.cpp
M mlir/lib/IR/OperationSupport.cpp
M mlir/lib/IR/Region.cpp
M mlir/lib/IR/SymbolTable.cpp
M mlir/lib/IR/TypeRange.cpp
M mlir/lib/IR/Verifier.cpp
Log Message:
-----------
[IR] Migrate away from PointerUnion::{is,get} (NFC) (#119802)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: 331f3cc94b3c66eebf5ec462a8f1ee0d7704dd26
https://github.com/llvm/llvm-project/commit/331f3cc94b3c66eebf5ec462a8f1ee0d7704dd26
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/SemaOpenACC/data-construct-no_create-ast.cpp
A clang/test/SemaOpenACC/data-construct-present-ast.cpp
A clang/test/SemaOpenACC/data-construct-present-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
Log Message:
-----------
[OpenACC] enable 'present' clause for 'data' construct
No additional sema is required once again, so this patch adds testing
and enables the clause.
Commit: 5225f1b4355e4ad9fb0939fded88dc6189be29fd
https://github.com/llvm/llvm-project/commit/5225f1b4355e4ad9fb0939fded88dc6189be29fd
Author: Tibor Dusnoki <tdusnoki at inf.u-szeged.hu>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
A bolt/test/merge-fdata-bat-no-lbr.test
A bolt/test/merge-fdata-lbr-mode.test
A bolt/test/merge-fdata-mixed-bat-no-lbr.test
A bolt/test/merge-fdata-mixed-mode.test
A bolt/test/merge-fdata-no-lbr-mode.test
M bolt/tools/merge-fdata/merge-fdata.cpp
Log Message:
-----------
[BOLT][merge-fdata] Fix basic sample profile aggregation without LBR info (#118481)
When a basic sample profile is gathered without LBR info, the generated
profile contains a "no-lbr" tag in the first line of the fdata file.
This PR fixes merge-fdata to recognize and save this tag to the output
file.
Commit: 754499c1e9410d51a4c41e71388c304de61366a0
https://github.com/llvm/llvm-project/commit/754499c1e9410d51a4c41e71388c304de61366a0
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
A clang/test/SemaOpenACC/data-construct-deviceptr-ast.cpp
A clang/test/SemaOpenACC/data-construct-deviceptr-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
Log Message:
-----------
[OpenACC] Enable 'deviceptr' clause sema on data construct
Another simple implementation, as it uses the same work as the previous
implementation, just enabling it for this construct.
Commit: ce25bd20dc56cef651170f1ee5820758dee415a2
https://github.com/llvm/llvm-project/commit/ce25bd20dc56cef651170f1ee5820758dee415a2
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/test/SemaOpenACC/data-construct-deviceptr-clause.c
Log Message:
-----------
[OpenACC] Fixup test to be more consistent
Commit: 4a6586140211cc9aed02d9177dba0c01622139f4
https://github.com/llvm/llvm-project/commit/4a6586140211cc9aed02d9177dba0c01622139f4
Author: Chris Apple <cja-private at pm.me>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M llvm/include/llvm/Transforms/Instrumentation/RealtimeSanitizer.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/RealtimeSanitizer.cpp
M llvm/test/Instrumentation/RealtimeSanitizer/rtsan.ll
Log Message:
-----------
[rtsan][llvm] Remove function pass, only support module pass (#119739)
Most of the other sanitizers are now only module level passes. This
moves all functionality into the module pass, and removes the function
pass.
Commit: fb02c33605bd988e9c6bb3a18cd7f0c3b1f20d5c
https://github.com/llvm/llvm-project/commit/fb02c33605bd988e9c6bb3a18cd7f0c3b1f20d5c
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.h
Log Message:
-----------
[lldb][AIX] XCOFF clang-format and other minor changes (#119892)
Added some clang-format and other minor changes, Ref:
https://github.com/llvm/llvm-project/pull/116338#discussion_r1884069848
Review Request: @DavidSpickett
Commit: c9070cce09e1aef1c4bf1cb8c0000294b533dcd7
https://github.com/llvm/llvm-project/commit/c9070cce09e1aef1c4bf1cb8c0000294b533dcd7
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/test/TableGen/MixedCasedMnemonic.td
M llvm/utils/TableGen/Basic/SequenceToOffsetTable.h
M llvm/utils/TableGen/DFAEmitter.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[TableGen] Allow empty terminator in SequenceToOffsetTable (#119751)
Some clients do not want to emit a terminator after each sub-sequence
(they have other means of determining the length of sub-sequences).
This moves `Term` argument from `emit` method to the constructor and
makes it optional. It couldn't be made optional while still on the
`emit` method because if the terminator wasn't specified, it has to be
taken into account in `layout` method as well.
The fact that `layout` method was called is now recorded in a dedicated
member variable, `IsLaidOut`. `Entries != 0` can no longer be used to
reliably check if `layout` method was called because it may be zero for
a different reason: the terminator wasn't specified and all added
sequences (if any) were empty.
This reduces the size of `*LaneMaskLists` and `*SubRegIdxLists` a bit
and resolves the removed TODO.
Commit: c57a8f5b3fa7a7524346595cdc1ddd5eec4a41ae
https://github.com/llvm/llvm-project/commit/c57a8f5b3fa7a7524346595cdc1ddd5eec4a41ae
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
Log Message:
-----------
[flang][OpenMP] Remove redundant `Fortran::` from namespaces, NFC
Apply clang-format after the changes.
Commit: 7db20a026b71797975f277a406b604def1da6219
https://github.com/llvm/llvm-project/commit/7db20a026b71797975f277a406b604def1da6219
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
Log Message:
-----------
[AMDGPU][True16][MC] update vop1 mc test with update script (#119778)
This is a NFC change. Update gfx11/gfx12 vop1 test file with the latest
update_mc_test_script.py.
Changing the runline of gfx12_asm_vop1.s since llvm.cfg cannot be read
by the update script.
This is also preparing for the up-coming true16 change.
Commit: 939c94bbb4731aa1c7dda47b0e4497a82ae6f46a
https://github.com/llvm/llvm-project/commit/939c94bbb4731aa1c7dda47b0e4497a82ae6f46a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Bump CI container to LLVM 19.1.5 (#119809)
Bump the CI container version to the latest release.
Commit: 0d9fc1743378c73012828698122c46dc580d29eb
https://github.com/llvm/llvm-project/commit/0d9fc1743378c73012828698122c46dc580d29eb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/LowLevelTypeUtils.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/CodeGen/LowLevelTypeUtils.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
Log Message:
-----------
[GISel] Remove unused DataLayout operand from getApproximateEVTForLLT (#119833)
Commit: 3fcc302af34f648fb7a56557b6a504fcbf49a115
https://github.com/llvm/llvm-project/commit/3fcc302af34f648fb7a56557b6a504fcbf49a115
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M lldb/source/Expression/FunctionCaller.cpp
M lldb/source/Expression/UserExpression.cpp
A lldb/test/Shell/Expr/TestExecProgress.test
Log Message:
-----------
[lldb] Add a progress event for executing an expression (#119757)
Expressions can take arbitrary amounts of time to run, so IDEs might
want to be informed about the fact that an expression is currently being
executed.
rdar://141253078
Commit: 003a721c1c9e3a99d6d0c1a6755443b260235537
https://github.com/llvm/llvm-project/commit/003a721c1c9e3a99d6d0c1a6755443b260235537
Author: Ian Wood <ianwood2024 at u.northwestern.edu>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/include/llvm/Support/TypeName.h
Log Message:
-----------
[NFC] Don't recompute type name (#119631)
This change uses a local static variable to cache the computed
`StringRef` containing the type's name.
I found that `RelWithDebInfo` builds of MLIR were spending a relatively
large amount of time in `StringRef::find` and I tracked it down to
`getTypeName` which utilizes `StringRef` methods that are defined in a
separate translation unit. This is especially impactful on perf because
`getTypeName` is supposed to be used for debug logging. See an example
here:
https://github.com/llvm/llvm-project/blob/4b825c7417f72ee88ee3e4316d0c01ed463f1241/mlir/include/mlir/IR/Types.h#L294-L300
Commit: 6d69d18437adc79ada8fbc852b3ffb4d797cebb4
https://github.com/llvm/llvm-project/commit/6d69d18437adc79ada8fbc852b3ffb4d797cebb4
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
A clang/test/SemaOpenACC/data-construct-attach-ast.cpp
A clang/test/SemaOpenACC/data-construct-attach-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
Log Message:
-----------
[OpenACC] enable 'attach' clause sema for 'data' and 'enter data'
This is very similar to deviceptr, and is the same implementation as for
combined/compute constructs, so this just enables that, and adds tests.
Commit: bc627a46a858ab1abf7a72a524ef1059b27cfa37
https://github.com/llvm/llvm-project/commit/bc627a46a858ab1abf7a72a524ef1059b27cfa37
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang-tools-extra/test/clang-doc/templates.cpp
Log Message:
-----------
[clang-doc][NFC] Rename CHECK prefix for YAML
We plan to introduce checks for other backends, like markdown.
Reviewers: PeterChou1, petrhosek
Reviewed By: petrhosek
Pull Request: https://github.com/llvm/llvm-project/pull/119810
Commit: b8569528865afec30b91f41cb2e670adea8f95bd
https://github.com/llvm/llvm-project/commit/b8569528865afec30b91f41cb2e670adea8f95bd
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang-tools-extra/test/clang-doc/templates.cpp
Log Message:
-----------
[clang-doc][NFC] Make test resilient to line changes (#119811)
This just reorganizes the test code, so its easy to use @LINE directives
in the test, and avoid needing to update all the line numbers when
making unrelated changes.
Commit: 7d764db9bed1659cfcb2ab18e1d966388c1b5041
https://github.com/llvm/llvm-project/commit/7d764db9bed1659cfcb2ab18e1d966388c1b5041
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang-tools-extra/test/clang-doc/templates.cpp
Log Message:
-----------
[clang-doc][NFC] Avoid unnecessary operations in the template test (#119812)
Commit: 5747ad4392954ebb0046e6397f32256f3cd6fd1e
https://github.com/llvm/llvm-project/commit/5747ad4392954ebb0046e6397f32256f3cd6fd1e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M .github/workflows/docs.yml
Log Message:
-----------
[Github] Test docs action on workflow changes (#119627)
This patch makes the check docs build workflow run testing on all of the
docs builds when the workflow is changed. This is intended to catch
issues like those that were not caught premerge when adding in the
functionality to download the built docs.
Commit: 52e25912f875dfddef212ec9152ed86057d5d618
https://github.com/llvm/llvm-project/commit/52e25912f875dfddef212ec9152ed86057d5d618
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang-tools-extra/test/clang-doc/templates.cpp
Log Message:
-----------
[clang-doc] Add tests for Markdown output with C++ templates
Reviewers: PeterChou1, petrhosek
Reviewed By: petrhosek
Pull Request: https://github.com/llvm/llvm-project/pull/119813
Commit: e113a72562e8a7e4493a1de0da01776945d0db74
https://github.com/llvm/llvm-project/commit/e113a72562e8a7e4493a1de0da01776945d0db74
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang-tools-extra/test/clang-doc/templates.cpp
Log Message:
-----------
[clang-doc] Precommit test case for functions with templated parameters and return
To address #67549 we need a test case that will show up in the markdown
output for functions.
Reviewers: PeterChou1, petrhosek
Reviewed By: petrhosek
Pull Request: https://github.com/llvm/llvm-project/pull/119814
Commit: 229d78de31467f623e33716a30cb0c6d285d7683
https://github.com/llvm/llvm-project/commit/229d78de31467f623e33716a30cb0c6d285d7683
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
Log Message:
-----------
[clang-doc] Use QualName in Markdown output
QualName will provide the more useful typename when the type is
templated.
Fixes #67549
Reviewers: petrhosek, PeterChou1
Reviewed By: petrhosek
Pull Request: https://github.com/llvm/llvm-project/pull/119815
Commit: a44915a8e55fae93da17f9ae2ca26f745e1f6f7d
https://github.com/llvm/llvm-project/commit/a44915a8e55fae93da17f9ae2ca26f745e1f6f7d
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
A .github/workflows/build-ci-container-windows.yml
A .github/workflows/containers/github-action-ci-windows/Dockerfile
Log Message:
-----------
[Github] Add a windows CI container (#118206)
This patch adds a windows CI container mostly based off of the existing
container used for Buildkite
(https://github.com/google/llvm-premerge-checks/blob/a687e33c37fbdcf67b52805c8cf3a8ed145e3243/containers/buildkite-windows/Dockerfile#L1).
This is intended to be a starting point as we transition to Github
Actions with the eventual plan being to build a custom windows toolchain
similar to what we do on Linux.
Commit: da439d3af47b6004cfed1482b84713fad4b43206
https://github.com/llvm/llvm-project/commit/da439d3af47b6004cfed1482b84713fad4b43206
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] NFC. Refactor getEntryCost and isReverseOrder usage. (#119680)
Users should check whether an input is empty before using
isReverseOrder.
Commit: 27d09e683f59707e82be0500930fbab1c82a29b4
https://github.com/llvm/llvm-project/commit/27d09e683f59707e82be0500930fbab1c82a29b4
Author: vporpo <vporpodas at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/Instruction.h
Log Message:
-----------
[SandboxIR] Make some instruction constructors private (#119901)
This patch changes the visibility of the constructors of CatchSwitchInst
ResumeInst and SwitchInst to private instead of public. This is similar
to all other Sandbox IR instructions. The constructor is private to
force the user go through the Context create* API.
The issue was exposed by:
https://github.com/llvm/llvm-project/pull/119824
Commit: f01b62ad4881e61dc5d84e1faa984917ac43453c
https://github.com/llvm/llvm-project/commit/f01b62ad4881e61dc5d84e1faa984917ac43453c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
Log Message:
-----------
[GlobalISel] Fix warnings
This patch fixes:
llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp:167:21: error:
unused variable 'DL' [-Werror,-Wunused-variable]
llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp:320:15: error: unused
variable 'DL' [-Werror,-Wunused-variable]
Commit: 668d9688ac8aa97d9156cecabd25bf2a8e82bc9d
https://github.com/llvm/llvm-project/commit/668d9688ac8aa97d9156cecabd25bf2a8e82bc9d
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
A llvm/test/MC/RISCV/xqcilsm-aliases-valid.s
A llvm/test/MC/RISCV/xqcilsm-invalid.s
A llvm/test/MC/RISCV/xqcilsm-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Qualcomm uC Xqcilsm (Load Store Multiple) extension (#119823)
This extension adds 6 instructions that can do multi-word load/store.
The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/latest
This patch adds assembler only support.
Commit: 003eb5e80d8c970c2ae7fcbaaebd52b32a61648d
https://github.com/llvm/llvm-project/commit/003eb5e80d8c970c2ae7fcbaaebd52b32a61648d
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
A clang/test/SemaOpenACC/data-construct-finalize-ast.cpp
A clang/test/SemaOpenACC/data-construct-finalize-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement 'finalize' clause sema
This is a very simple clause as far as sema is concerned. It is only
valid on 'exit data', and doesn't have any rules involving it, so it is
simply applied and passed onto the MLIR.
Commit: 5cac0eb4b4156ed7e2dae2a73af04484cf330ddb
https://github.com/llvm/llvm-project/commit/5cac0eb4b4156ed7e2dae2a73af04484cf330ddb
Author: Ian Wood <ianwood2024 at u.northwestern.edu>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/include/llvm/Support/TypeName.h
Log Message:
-----------
[Support] Fix getTypeNameImpl on msvc (#119910)
Updates `Key` to reflect the new name of the function enclosing
`__FUNCSIG__`.
Commit: 3b3394baec18d77e8d5b984882c82f7b3a59f981
https://github.com/llvm/llvm-project/commit/3b3394baec18d77e8d5b984882c82f7b3a59f981
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
Log Message:
-----------
[RISCV] Use Log2SEW=0 for VMNAND/VMSET created for riscv_vmsge(u) intrinsics. (#119767)
These instructions should always be created with Log2SEW=0 and an LMUL
based on SEW=8. This is used by the vsetvli pass to know these
instructions only care about the ratio and not the specific value.
Looks like I fixed riscv_vmsge(u)_mask intrinsics years ago, but forgot
the unmasked intrinsics.
I'm working on an enhancement to our MachineVerifier checks that will
require VMNAND and VMSET to have Log2SEW=0.
Commit: d1f51c67fde6f77b78f78901fb78e3589430a299
https://github.com/llvm/llvm-project/commit/d1f51c67fde6f77b78f78901fb78e3589430a299
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
M llvm/utils/TableGen/DAGISelEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/FastISelEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen] Add TreePatternNode::children and use it in for loops (NFC) (#119877)
Commit: 9474e09459189fbed30f329a669f9c14979c5367
https://github.com/llvm/llvm-project/commit/9474e09459189fbed30f329a669f9c14979c5367
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__hash_table
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/builtin_new_allocator.h
M libcxx/include/__memory/construct_at.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
A libcxx/include/__new/align_val_t.h
A libcxx/include/__new/allocate.h
A libcxx/include/__new/destroying_delete_t.h
A libcxx/include/__new/exceptions.h
A libcxx/include/__new/global_new_delete.h
A libcxx/include/__new/interference_size.h
A libcxx/include/__new/launder.h
A libcxx/include/__new/new_handler.h
A libcxx/include/__new/nothrow_t.h
A libcxx/include/__new/placement_new_delete.h
M libcxx/include/__utility/small_buffer.h
M libcxx/include/array
M libcxx/include/charconv
M libcxx/include/forward_list
M libcxx/include/future
M libcxx/include/list
M libcxx/include/module.modulemap
M libcxx/include/new
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/std/language.support/support.dynamic/alloc.errors/bad.alloc/bad_alloc.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.placement/new_array.pass.cpp
M libcxx/test/std/language.support/support.dynamic/ptr.launder/launder.types.verify.cpp
M libcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.size.pass.cpp
M libcxxabi/test/cxa_vec_new_overflow_PR41395.pass.cpp
Log Message:
-----------
[libc++] Granularize the <new> header (#119270)
This disentangles the code which previously had a mix of many #ifdefs, a
non-versioned namespace and a versioned namespace. It also makes it
clearer which parts of <new> are implemented on Windows by including <new.h>.
Commit: 2135babe28b038c99d77f15c39b3f7e498fc6694
https://github.com/llvm/llvm-project/commit/2135babe28b038c99d77f15c39b3f7e498fc6694
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M libcxx/utils/libcxx/test/format.py
Log Message:
-----------
[libc++] Save benchmark results in a json file (#119761)
When running a benchmark, also save the benchmark results in a JSON
file. That is cheap to do and useful to compare benchmark results
between different runs.
Commit: 64da33a58923e60a5c7854c1a13e14f16d01b1f0
https://github.com/llvm/llvm-project/commit/64da33a58923e60a5c7854c1a13e14f16d01b1f0
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Options.td
M lld/ELF/OutputSections.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/docs/ld.lld.1
A lld/test/ELF/randomize-section-padding.test
Log Message:
-----------
ELF: Introduce --randomize-section-padding option.
The --randomize-section-padding option randomly inserts padding between
input sections using the given seed. It is intended to be used in A/B
experiments to determine the average effect of a change on program
performance, while controlling for effects such as false sharing in
the cache which may introduce measurement bias. For more details,
see the RFC:
https://discourse.llvm.org/t/rfc-lld-feature-for-controlling-for-code-size-dependent-measurement-bias/83334
Reviewers: smithp35, MaskRay
Reviewed By: MaskRay, smithp35
Pull Request: https://github.com/llvm/llvm-project/pull/117653
Commit: 52e9f2c52cd1d0ffa922761458abc35cd90057ea
https://github.com/llvm/llvm-project/commit/52e9f2c52cd1d0ffa922761458abc35cd90057ea
Author: Djordje Todorovic <56676939+djtodoro at users.noreply.github.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/test/Driver/riscv-cpus.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Add MIPS P8700 processor (#119882)
The P8700 is a high-performance processor from MIPS designed to meet the
demands of modern workloads, offering exceptional scalability and
efficiency. It builds on MIPS's established architectural strengths
while introducing enhancements that set it apart. For more details, you
can check out the official product page here:
https://mips.com/products/hardware/p8700/.
Scheduling model will be added in a separate commit/PR.
Commit: 8ab6912831277d87838518c5f775f79d14616860
https://github.com/llvm/llvm-project/commit/8ab6912831277d87838518c5f775f79d14616860
Author: Yuxuan Chen <ych at fb.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
A clang/test/Interpreter/Inputs/vector
M clang/test/Interpreter/crash.cpp
Log Message:
-----------
[Clang] Interpreter test should not depend on system header (#119903)
https://github.com/llvm/llvm-project/commit/30ad53b92cec0cff9679d559edcc5b933312ba0c
introduced a new test that includes `<vector>` from the system include
path without honoring environment variables that may provide the path to
C++ standard library. This is not supported in some CI systems because
we don't always have the C++ library in the standard location.
The conventional way of doing includes in the test is through `Inputs`
directory and pass it as an include path.
The `vector` file included in this patch has been shortened, but I have
verified that it works with this test. i.e. the clang repl crashes on
this test in the same way if the fix in
https://github.com/llvm/llvm-project/pull/117475 is reverted.
Commit: 9f2dd085ae981740e2986a1b200ca2a7df44953d
https://github.com/llvm/llvm-project/commit/9f2dd085ae981740e2986a1b200ca2a7df44953d
Author: klensy <klensy at users.noreply.github.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
Log Message:
-----------
[mlir] fix copypaste typos in asserts (#119878)
This fixes few copypaste typos
I've also spotted weird `getNumRows() == getNumRows()`: looks like
leftover after refactoring
https://github.com/llvm/llvm-project/blob/ea8e328ae2bea9d9a7d556ef4d791fa116f7de18/mlir/lib/Analysis/Presburger/Simplex.cpp#L107-L111
Co-authored-by: klensy <nightouser at gmail.com>
Commit: e5ab6e960745bfda9204e696a0a99746075f3021
https://github.com/llvm/llvm-project/commit/e5ab6e960745bfda9204e696a0a99746075f3021
Author: lntue <lntue at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M libc/docs/talks.rst
Log Message:
-----------
[libc][doc] Add links to LLVM dev meeting talks related to LLVM libc. (#119918)
Commit: 0f776f1df9ec6345f298cc19c33dfea7f98289ec
https://github.com/llvm/llvm-project/commit/0f776f1df9ec6345f298cc19c33dfea7f98289ec
Author: Chris Apple <cja-private at pm.me>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
Log Message:
-----------
[rtsan][clang] NFC: Move rtsan init to addSanitizers (#119904)
Commit: 2244d2e75c50cdd4657ed6c488423790367e1347
https://github.com/llvm/llvm-project/commit/2244d2e75c50cdd4657ed6c488423790367e1347
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
A clang/test/SemaOpenACC/data-construct-if_present-ast.cpp
A clang/test/SemaOpenACC/data-construct-if_present-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement 'if_present' clause sema
The 'if_present' clause controls the replacement of addresses in the
var-list in current device memory. This clause can only go on
'host_device'. From a Sema perspective, there isn't anything to do
beyond add this to AST and pass it on.
Commit: 2eed88da6a100216bf542e0c16762d336791876b
https://github.com/llvm/llvm-project/commit/2eed88da6a100216bf542e0c16762d336791876b
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_fmla.c
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_fp8.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/fp8-sve-fmla.ll
Log Message:
-----------
[AArch64] Implement FP8 SVE intrinsics for fused multiply-add (#118126)
This patch adds the following intrinsics:
* 8-bit floating-point multiply-add long to half-precision (bottom).
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat16_t svmlalb[_f16_mf8]_fpm(svfloat16_t zda, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm);
svfloat16_t svmlalb[_n_f16_mf8]_fpm(svfloat16_t zda, svmfloat8_t zn,
mfloat8_t zm, fpm_t fpm);
* 8-bit floating-point multiply-add long to half-precision (bottom,
indexed).
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat16_t svmlalb_lane[_f16_mf8]_fpm(svfloat16_t zda, svmfloat8_t zn,
svmfloat8_t zm,
uint64_t imm0_15, fpm_t fpm);
* 8-bit floating-point multiply-add long to half-precision (top).
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat16_t svmlalt[_f16_mf8]_fpm(svfloat16_t zda, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm);
svfloat16_t svmlalt[_n_f16_mf8]_fpm(svfloat16_t zda, svmfloat8_t zn,
mfloat8_t zm, fpm_t fpm);
* 8-bit floating-point multiply-add long to half-precision (top,
indexed).
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat16_t svmlalt_lane[_f16_mf8]_fpm(svfloat16_t zda, svmfloat8_t zn,
svmfloat8_t zm,
uint64_t imm0_15, fpm_t fpm);
* 8-bit floating-point multiply-add long long to single-precision
(bottom bottom).
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat32_t svmlallbb[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm);
svfloat32_t svmlallbb[_n_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
mfloat8_t zm, fpm_t fpm);
* 8-bit floating-point multiply-add long long to single-precision
(bottom bottom, indexed).
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat32_t svmlallbb_lane[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t
zn, svmfloat8_t zm,
uint64_t imm0_15, fpm_t fpm);
* 8-bit floating-point multiply-add long long to single-precision
(bottom top).
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat32_t svmlallbt[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm);
svfloat32_t svmlallbt[_n_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
mfloat8_t zm, fpm_t fpm);
* 8-bit floating-point multiply-add long long to single-precision
(bottom top, indexed).
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat32_t svmlallbt_lane[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t
zn, svmfloat8_t zm,
uint64_t imm0_15, fpm_t fpm);
* 8-bit floating-point multiply-add long long to single-precision (top
bottom).
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat32_t svmlalltb[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm);
svfloat32_t svmlalltb[_n_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
mfloat8_t zm, fpm_t fpm);
* 8-bit floating-point multiply-add long long to single-precision (top
bottom, indexed).
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat32_t svmlalltb_lane[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t
zn, svmfloat8_t zm,
uint64_t imm0_15, fpm_t fpm);
* 8-bit floating-point multiply-add long long to single-precision (top
top).
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat32_t svmlalltt[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm);
svfloat32_t svmlalltt[_n_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
mfloat8_t zm, fpm_t fpm);
* 8-bit floating-point multiply-add long long to single-precision (top
top, indexed).
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat32_t svmlalltt_lane[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t
zn, svmfloat8_t zm,
uint64_t imm0_15, fpm_t fpm);
Commit: af5d3afff54e5af61f384a1e95020f0a0374caec
https://github.com/llvm/llvm-project/commit/af5d3afff54e5af61f384a1e95020f0a0374caec
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/test/HLFIR/opt-array-slice-assign.fir
Log Message:
-----------
[flang] Improve disjoint/identical slices recognition in opt-bufferization. (#119780)
The changes are needed to be able to optimize
'x(9,:)=SUM(x(1:8,:),DIM=1)'
without a temporary array. This pattern exists in exchange2.
The patch also fixes an existing problem in Flang with this test:
```
program main
integer :: a(10) = (/1,2,3,4,5,6,7,8,9,10/)
integer :: expected(10) = (/1,10,9,8,7,6,5,4,3,2/)
print *, 'INPUT: ', a
print *, 'EXPECTED: ', expected
call test(a, 10, 2, 10, 9)
print *, 'RESULT: ', a
contains
subroutine test(a, size, x, y, z)
integer :: x, y, z, size
integer :: a(:)
a(x:y:1) = a(z:x-1:-1) + 1
end subroutine test
end program main
```
Commit: a00946fc947d42e67394934bc78b84a37ecc2908
https://github.com/llvm/llvm-project/commit/a00946fc947d42e67394934bc78b84a37ecc2908
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/test/HLFIR/simplify-hlfir-intrinsics-sum.fir
Log Message:
-----------
[flang] Simplify hlfir.sum total reductions. (#119482)
I am trying to switch to keeping the reduction value in a temporary
scalar location so that I can use hlfir::genLoopNest easily.
This also allows using omp.loop_nest with worksharing for OpenMP.
Commit: 2daadbdc5e3a6029092963a1c699675320745d70
https://github.com/llvm/llvm-project/commit/2daadbdc5e3a6029092963a1c699675320745d70
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
Log Message:
-----------
[AMDGPU][true16] [MC] Remove duplication in VOP1 test (#119905)
This is a NFC change. Remove duplicated test line in gfx11/gfx12 vop1
test file with the latest update_mc_test_script.py --unique option
This is also preparing for the up-coming true16 change
Commit: b560b87ba1d85a4262d24386eb7e9a8f7b8086f5
https://github.com/llvm/llvm-project/commit/b560b87ba1d85a4262d24386eb7e9a8f7b8086f5
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT] Clean up jump table handling in non-reloc mode. NFCI (#119614)
This change affects non-relocation mode only. Prior to having
CheckLargeFunctions pass, we could have emitted code for functions that
was discarded at the end due to size limitations. Since we didn't know
at the time of emission if the code would be discarded or not, we had to
emit jump tables in separate sections and handle them separately.
However, now we always run CheckLargeFunctions and make sure all emitted
code is used. Thus, we can get rid of the special jump table handling.
Commit: 82459ecf3ebbc697bdde265320d126773111ae0f
https://github.com/llvm/llvm-project/commit/82459ecf3ebbc697bdde265320d126773111ae0f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-to-vmv.mir
Log Message:
-----------
[RISCV] Split OPERAND_SEW operand type for mask only instructions. (#119776)
Mask only instructions like vmand and vmsbf should always have 0 for
their Log2SEW operand. Non-mask instructions should only have
3, 4, 5, or 6 for their Log2SEW operand.
Split the operand type so we can verify these cases separately.
I had to fix the SEW for whole register move to vmv.v.v copy
optimization and update an mir test. The vmv.v.v change isn't
functional since we have already done vsetvli insertion before and
nothing else uses the field after copy expansion. I can split these
changes off if desired.
Commit: 5f72f2c8fd6cf59c9f2066c58559a9a9d2888a9a
https://github.com/llvm/llvm-project/commit/5f72f2c8fd6cf59c9f2066c58559a9a9d2888a9a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
Log Message:
-----------
AMDGPU: Remove large, negative AddedComplexity from minimum/maximum patterns (#119795)
Commit: c4a78b6fe32d72d5c9f3b4a4fa2be206675ccd05
https://github.com/llvm/llvm-project/commit/c4a78b6fe32d72d5c9f3b4a4fa2be206675ccd05
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/hoist-dbgvalue.ll
M llvm/test/Transforms/SimplifyCFG/hoisting-metadata.ll
Log Message:
-----------
[SimplifyCFG] Always allow hoisting if all instructions match. (#97158)
Generalize hoistCommonCodeFromSuccessors's `EqTermsOnly` to
`AllInstsEqOnly` and always allow hoisting if all instructions match.
In that case, all instructions can be hoisted and the
original branch will be replaced and selects for PHIs are added. This
allows preserving metadata in more cases, using the existing hoisting
logic, whereas previously FoldTwoEntryPHINode would drop the metadata.
https://llvm-compile-time-tracker.com/compare.php?from=716360367fbdabac2c374c19b8746f4de49a5599&to=986b2c47df516b31d998c055400e4f62aa76edc6&stat=instructions:u
PR: https://github.com/llvm/llvm-project/pull/97158
Commit: e5e0f23ae8e97eb910cb8ae42373f354eee496c7
https://github.com/llvm/llvm-project/commit/e5e0f23ae8e97eb910cb8ae42373f354eee496c7
Author: Kirill Stoimenov <87100199+kstoimenov at users.noreply.github.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
Log Message:
-----------
[nfc][ubsan-minimal] Refactor error reporting to use a single function (#119920)
This refactoring will allow to make this function weak later on so that
it could be overloaded by a client. See #119242.
Commit: 3273d0bb148795ead4d6e29177bd63346bb6362a
https://github.com/llvm/llvm-project/commit/3273d0bb148795ead4d6e29177bd63346bb6362a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/modfile55.cuf
Log Message:
-----------
[flang][cuda] Apply implicit data attribute only in device context (#119919)
Fix the condition so the implicit device data attribute is not applied
when the routine has `attribute(host)`
Commit: 3351b3bf8dcb9aebfa6f491fcbe5a00acbcc3291
https://github.com/llvm/llvm-project/commit/3351b3bf8dcb9aebfa6f491fcbe5a00acbcc3291
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
A clang/test/SemaOpenACC/data-construct-detach-ast.cpp
A clang/test/SemaOpenACC/data-construct-detach-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] implement 'detach' clause sema
This is another new clause specific to 'exit data' that takes a pointer
argument. This patch implements this the same way we do a few other
clauses (like attach) that have the same restrictions.
Commit: ab07c51534b904bab55bcaaf950823fc72719b11
https://github.com/llvm/llvm-project/commit/ab07c51534b904bab55bcaaf950823fc72719b11
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Don't use Frame::hash() (NFC) (#119828)
In these tests, we just want to add one instance of
IndexedMemProfRecord to MemProfData.Records and retrieve it from
MemProfReader. There is no particular reason to associate F1.hash()
with the IndexedMemProfRecord instance. A fake value suffices.
While I am at it, I'm switching to try_emplace so that I can move
FakeRecord.
Commit: cd093c2e1bac35dd2c6b914d0b64ce56683cb50a
https://github.com/llvm/llvm-project/commit/cd093c2e1bac35dd2c6b914d0b64ce56683cb50a
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfWriter.h
Log Message:
-----------
[memprof] Make InstrProfwriter::addMemProfRecord and its friends private (NFC) (#119831)
This patch makes the following functions private:
- InstrProfWriter::addMemProfRecord
- InstrProfWriter::addMemProfFrame
- InstrProfWriter::addMemProfCallStack
These days, we add MemProf profile to the writer context via
addMemProfData. We no longer add individual items.
Commit: 5528388e3664c6d7d292f20a739f1bf1c8ef768d
https://github.com/llvm/llvm-project/commit/5528388e3664c6d7d292f20a739f1bf1c8ef768d
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/CmpPredicate.h
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Transforms/Scalar/EarlyCSE.cpp
A llvm/test/Transforms/EarlyCSE/pr119893.ll
Log Message:
-----------
EarlyCSE: fix CmpPredicate duplicate-hashing (#119902)
Strip hash_value() for CmpPredicate, as different callers have different
hashing use-cases. In this case, there is just one caller, namely
EarlyCSE, which calls hash_combine() on a CmpPredicate, which used to
call hash_combine() on a CmpInst::Predicate prior to 4a0d53a
(PatternMatch: migrate to CmpPredicate). This has uncovered a bug where
two icmp instructions differing in just the fact that one of them has
the samesign flag on it are hashed differently, leading to divergent
hashing, and a crash. Fix this crash by dropping samesign information on
icmp instructions before hashing them, preserving the former behavior.
Fixes #119893.
Commit: 537e0e1ff639ed4f8fa4dadbc84f4a6a12e1d20a
https://github.com/llvm/llvm-project/commit/537e0e1ff639ed4f8fa4dadbc84f4a6a12e1d20a
Author: Luke Quinn <quic_lquinn at quicinc.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/GlobalISel/double-arith.ll
M llvm/test/CodeGen/RISCV/GlobalISel/double-intrinsics.ll
M llvm/test/CodeGen/RISCV/GlobalISel/fp128.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zba.ll
Log Message:
-----------
[RISCV][GISel] Added GISelPredicateCodes to LeadingOnes*Mask (#119886)
Commit: 1345ee4232c90205f152154cfd557c54feb3853d
https://github.com/llvm/llvm-project/commit/1345ee4232c90205f152154cfd557c54feb3853d
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/modfile55.cuf
Log Message:
-----------
[flang][cuda] Do not apply implicit data attribute on dummy arg with VALUE (#119927)
Dummy arguments with the VALUE attribute do not need the implicit data
attribute.
Commit: 71d2fa7988f4ce4647b6ed387cf5b51dafa11e4c
https://github.com/llvm/llvm-project/commit/71d2fa7988f4ce4647b6ed387cf5b51dafa11e4c
Author: Kirill Stoimenov <87100199+kstoimenov at users.noreply.github.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
A compiler-rt/test/ubsan_minimal/TestCases/override-callback.c
Log Message:
-----------
[ubsan-minimal] Switch to weak symbols for callbacks to allow overriding in client code (#119242)
Commit: ecdf0dac565f750376f65f93b5bfd8b08d143116
https://github.com/llvm/llvm-project/commit/ecdf0dac565f750376f65f93b5bfd8b08d143116
Author: Chris White <chriswhiteiodev at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[DAG] SDPatternMatch - Add m_ExtractElt and m_InsertElt matchers (#119430)
Resolves #118844
Commit: 9bf79308b893e8998e7efd752835636038c2db4f
https://github.com/llvm/llvm-project/commit/9bf79308b893e8998e7efd752835636038c2db4f
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
M mlir/test/Dialect/Arith/int-range-narrowing.mlir
Log Message:
-----------
[mlir][Arith] Let integer range narrowing handle negative values (#119642)
Update integer range narrowing to handle negative values.
The previous restriction to only narrowing known-non-negative values
wasn't needed, as both the signed and unsigned ranges represent bounds
on the values of each variable in the program ... except that one might
be more accurate than the other. So, if either the signed or unsigned
interpretetation of the inputs and outputs allows for integer narrowing,
the narrowing is permitted.
This commit also updates the integer optimization rewrites to preserve
the stae of constant-like operations and those that are narrowed so that
rewrites of other operations don't lose that range information.
Commit: d0155789615c2272fbb304e34dc1df4d8d72f7cc
https://github.com/llvm/llvm-project/commit/d0155789615c2272fbb304e34dc1df4d8d72f7cc
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/GSYM/GsymReader.h
M llvm/lib/DebugInfo/GSYM/CallSiteInfo.cpp
M llvm/lib/DebugInfo/GSYM/GsymReader.cpp
A llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml
Log Message:
-----------
[llvm-gsymutil] Fix dumping of call sites for merged functions (#119759)
Currently, when dumping the contents of a GSYM there are three issues:
- Callsite information is not displayed for merged functions - this is
because of a bug in `CallSiteInfoLoader::buildFunctionMap` where when
enumerating through `Func.MergedFunctions` - we enumerate by value
instead of by reference.
- There is no variable indent for printing callsite info - meaning that
when printing callsites for merged functions, the indent will be
different than the other info of the merged function. To address this we
add configurable indent for printing callsite info
- Callsite info is printed right after merged function info. Meaning
that if the merged function also has call site information, the parent's
callsite info will appear right after the merged function's callsite
info - leading to confusion. To address this we print the callsite info
first, then the merged functions info.
This change addresses all the above 3 issues.
Example of old vs new:
<img width="1074" alt="image"
src="https://github.com/user-attachments/assets/d039ad69-fa79-4abb-9816-eda9cc2eda53"
/>
Commit: f22cff7675f7f64aa52204f4426f5047cc75fbb9
https://github.com/llvm/llvm-project/commit/f22cff7675f7f64aa52204f4426f5047cc75fbb9
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M lldb/source/DataFormatters/FormatterSection.cpp
M lldb/test/API/functionalities/data-formatter/embedded-summary/TestEmbeddedTypeSummary.py
M lldb/test/API/functionalities/data-formatter/embedded-summary/main.c
Log Message:
-----------
[lldb] Support zero-padding in formatter sections (#119934)
Commit: d73ef9749e72e59d1d34275e89d4d2fffddd3e8c
https://github.com/llvm/llvm-project/commit/d73ef9749e72e59d1d34275e89d4d2fffddd3e8c
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M lld/COFF/Chunks.cpp
M lld/COFF/Symbols.cpp
M lld/COFF/Symbols.h
M lld/test/COFF/reloc-discarded.s
Log Message:
-----------
[lld/COFF] Demangle symbol name in discarded section relocation error message (#119726)
Commit: 22266bc958abdb1414832fa09a7a3b31166427a6
https://github.com/llvm/llvm-project/commit/22266bc958abdb1414832fa09a7a3b31166427a6
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M .github/workflows/build-ci-container.yml
Log Message:
-----------
workflows/build-ci-container: Fix typos in variables (#119943)
This was preventing the containers from being pushed to the registry.
Commit: af20aff35ec37ead88903bc3e44f6a81c5c9ca4e
https://github.com/llvm/llvm-project/commit/af20aff35ec37ead88903bc3e44f6a81c5c9ca4e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M .github/workflows/build-ci-container-windows.yml
Log Message:
-----------
[Github] Fix windows container push (#119916)
The windows container push was not tested in the pull request and had a
couple of typos that prevented it from functioning. This patch fixes
that so we can actually push the container to GHCR.
Commit: a222d00c667f5582194ba7e50b870312e4b4427b
https://github.com/llvm/llvm-project/commit/a222d00c667f5582194ba7e50b870312e4b4427b
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M lld/wasm/Config.h
M lld/wasm/Driver.cpp
Log Message:
-----------
[lld][WebAssembly] Introduce Ctx::arg
and forward it to LinkerDriver's ctor so that some uses of the global
`config` can be dropped. This is similar to how the ELF port
migrates away from the global `config`.
Pull Request: https://github.com/llvm/llvm-project/pull/119829
Commit: e821f642fdc75922b1a020447485acccf3e7fa92
https://github.com/llvm/llvm-project/commit/e821f642fdc75922b1a020447485acccf3e7fa92
Author: Kirill Stoimenov <kstoimenov at google.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/sgpr-regalloc-flags.ll
Log Message:
-----------
Revert "[AMDGPU][CodeGen] Do not backtrace invalid -regalloc param (#119687)"
Causes bot failure: https://lab.llvm.org/buildbot/#/builders/55/builds/4246/steps/11/logs/stdio
This reverts commit 7a648554f886fbc043c4f3f58ca88f6c4535f2cf.
Commit: 49c2207f21c0922aedb6c70471f8ea068977eb30
https://github.com/llvm/llvm-project/commit/49c2207f21c0922aedb6c70471f8ea068977eb30
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/shifts.cpp
Log Message:
-----------
[clang][bytecode] Fix some shift edge cases (#119895)
Around shifting negative values.
Commit: a6636ce4d124176856c3913d4bf6c3ceff1f5a1f
https://github.com/llvm/llvm-project/commit/a6636ce4d124176856c3913d4bf6c3ceff1f5a1f
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/shifts.cpp
Log Message:
-----------
Revert "[clang][bytecode] Fix some shift edge cases (#119895)"
This reverts commit 49c2207f21c0922aedb6c70471f8ea068977eb30.
This breaks on big-endian, again:
https://lab.llvm.org/buildbot/#/builders/154/builds/9018
Commit: 2291e5aa45dc135a5f908032eb31d19ef3570114
https://github.com/llvm/llvm-project/commit/2291e5aa45dc135a5f908032eb31d19ef3570114
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/index.rst
Log Message:
-----------
[clang-tidy][doc] align the title style in clang-tidy/index.rst (#119938)
Uppercase each word in title and toctree
_Originally posted by @nicovank in
https://github.com/llvm/llvm-project/pull/119842#discussion_r1884559775_.
---------
Co-authored-by: Nicolas van Kempen <nvankemp at gmail.com>
Commit: ca79ff07d8ae7a0c2531bfdb1cb623e25e5bd486
https://github.com/llvm/llvm-project/commit/ca79ff07d8ae7a0c2531bfdb1cb623e25e5bd486
Author: Chandler Carruth <chandlerc at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.h
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/Basic/Builtins.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/ARC.h
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/ARM.h
M clang/lib/Basic/Targets/AVR.h
M clang/lib/Basic/Targets/BPF.cpp
M clang/lib/Basic/Targets/BPF.h
M clang/lib/Basic/Targets/CSKY.cpp
M clang/lib/Basic/Targets/CSKY.h
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/lib/Basic/Targets/Hexagon.h
M clang/lib/Basic/Targets/Lanai.h
M clang/lib/Basic/Targets/LoongArch.cpp
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Basic/Targets/M68k.cpp
M clang/lib/Basic/Targets/M68k.h
M clang/lib/Basic/Targets/MSP430.h
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/Basic/Targets/Mips.h
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/PNaCl.h
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/SPIR.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/Sparc.h
M clang/lib/Basic/Targets/SystemZ.cpp
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/TCE.h
M clang/lib/Basic/Targets/VE.cpp
M clang/lib/Basic/Targets/VE.h
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/Basic/Targets/XCore.cpp
M clang/lib/Basic/Targets/XCore.h
Log Message:
-----------
Revert "Switch builtin strings to use string tables" (#119638)
Reverts llvm/llvm-project#118734
There are currently some specific versions of MSVC that are miscompiling
this code (we think). We don't know why as all the other build bots and
at least some folks' local Windows builds work fine.
This is a candidate revert to help the relevant folks catch their
builders up and have time to debug the issue. However, the expectation
is to roll forward at some point with a workaround if at all possible.
Commit: 7c294eb78009ef252aafa269963f5496d1dedf6f
https://github.com/llvm/llvm-project/commit/7c294eb78009ef252aafa269963f5496d1dedf6f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
Log Message:
-----------
[memprof] Simplify readMemprof (NFC) (#119930)
This patch essentially replaces:
std::pair<const std::vector<Frame> *, unsigned>
with:
ArrayRef<Frame>
This way, we can store and pass ArrayRef<Frame>, conceptually one
item, instead of the pointer and index.
The only problem is that we don't have an existing hash function for
ArrayRef<Frame>>, so we provide a custom one, namely
CallStackHash.
Commit: 74fb9928443ce3d176911615e6a0297f074736fe
https://github.com/llvm/llvm-project/commit/74fb9928443ce3d176911615e6a0297f074736fe
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml
Log Message:
-----------
[llvm-gsymutil] Disable test macho-gsym-merged-callsites-dsym (#119957)
The macho-gsym-merged-callsites-dsym is failing on some hosts.
Disabling for now while we come up with a fix.
Commit: 97c3c32372bb8478c53ab9469585c7c6e531cbd2
https://github.com/llvm/llvm-project/commit/97c3c32372bb8478c53ab9469585c7c6e531cbd2
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
M llvm/lib/Target/SystemZ/SystemZOperators.td
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
Log Message:
-----------
[TableGen][SystemZ] Correctly check the range of a leaf immediate (#119931)
The "Size >= 32" check probably dates back to when TableGen integers
were 32-bit. Delete it and simplify code by using `isInt`/`isUInt`.
Commit: 1911919682c863643787b30286bb67359c7932f4
https://github.com/llvm/llvm-project/commit/1911919682c863643787b30286bb67359c7932f4
Author: Pavel Kosov <kpdev42 at gmail.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/OHOS.cpp
Log Message:
-----------
Revert "[Driver][OHOS] Fix lld link issue for OHOS (#118192)"
This reverts commit bc28be0a428020ea803c94adb4df48ee4972e9f1.
Some issues were discovered with GN buildbot http://45.33.8.238/linux/155432/step_6.txt
Need to investigate it
Commit: cc54a0ce5674b740c2136d7bd2416ffeb4a230cf
https://github.com/llvm/llvm-project/commit/cc54a0ce5674b740c2136d7bd2416ffeb4a230cf
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/AMDGPU/as-transition.ll
M llvm/test/Transforms/VectorCombine/X86/load.ll
Log Message:
-----------
[VectorCombine] vectorizeLoadInsert - only fold when inserting into a poison vector (#119906)
We have corresponding poison tests in the "-inseltpoison.ll" sibling test files.
Fixes #119900
Commit: d6b133e5a7f143757736455a2acc7a06266e2c7d
https://github.com/llvm/llvm-project/commit/d6b133e5a7f143757736455a2acc7a06266e2c7d
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn
Log Message:
-----------
[gn build] Port 6c4e70fcbbb6
Commit: b7e75a76449e80d8b6caa1f447d536ffa231783a
https://github.com/llvm/llvm-project/commit/b7e75a76449e80d8b6caa1f447d536ffa231783a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 9474e0945918
Commit: 0ae75eba678a9ab459a382818148ef06afe817b5
https://github.com/llvm/llvm-project/commit/0ae75eba678a9ab459a382818148ef06afe817b5
Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Assert if stack grows downwards. (#119888)
Commit: 10f23d116baa221707d8831d3c34f38f511c408e
https://github.com/llvm/llvm-project/commit/10f23d116baa221707d8831d3c34f38f511c408e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] matchPMADDWD/matchPMADDWD_2 - update to use m_ExtractElt matchers. NFC.
Commit: 6157dbe48c21d900da1c7df11a8072a235f82001
https://github.com/llvm/llvm-project/commit/6157dbe48c21d900da1c7df11a8072a235f82001
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M libcxx/include/__utility/forward_like.h
M libcxx/include/variant
Log Message:
-----------
[libc++] Introduce __forward_as (#118168)
This allows forwarding an object as a specific type. This is usually
useful when using `deducing this` to avoid calling any functions in a
deriving class.
Commit: 1901da32a4c9318d860a8aa071912da700bfb923
https://github.com/llvm/llvm-project/commit/1901da32a4c9318d860a8aa071912da700bfb923
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
A libcxx/test/std/utilities/meta/derived_from_integral_constant.compile.pass.cpp
Log Message:
-----------
[libc++] Add a test to make sure all the type traits derived from bool_constant
Commit: bca11777bebaf3b61d25fd5874584066e80d57fa
https://github.com/llvm/llvm-project/commit/bca11777bebaf3b61d25fd5874584066e80d57fa
Author: Aviad Cohen <aviadcohen7 at gmail.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
Log Message:
-----------
[nfc][mlir][scf]: Define scf.for lower/upper bounds can be also negative or zero (#117534)
Per the discussion here:
https://github.com/llvm/llvm-project/pull/116748#discussion_r1848680070 , this commit properly declare that lower and upper bounds can be also negative or zero.
Commit: c3276a96d909233b836e839a23a7ad510fae407a
https://github.com/llvm/llvm-project/commit/c3276a96d909233b836e839a23a7ad510fae407a
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M libcxx/test/std/utilities/meta/derived_from_integral_constant.compile.pass.cpp
Log Message:
-----------
[libc++] Disable deprecation warnings in derived_from_integral_constant.compile.pass.cpp
Commit: a999ab44be8994d39d2469c1b4d025c4e1131197
https://github.com/llvm/llvm-project/commit/a999ab44be8994d39d2469c1b4d025c4e1131197
Author: Aaron Puchert <aaron.puchert at sap.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
Log Message:
-----------
Thread safety analysis: Fix substitution for operator calls (#116487)
For operator calls that go to methods we need to substitute the first
parameter for "this" and the following parameters into the function
parameters, instead of substituting all of them into the parameters.
This revealed an issue about lambdas. An existing test accidentally
worked because the substitution bug was covered by a speciality of
lambdas: a CXXThisExpr in a lambda CXXMethodDecl does not refer to the
implicit this argument of the method, but to a captured "this" from the
context the lambda was created in. This can happen for operator calls,
where it worked due to the substitution bug (we treated the implicit
this argument incorrectly as parameter), and for regular calls (i.e.
obj.operator()(args) instead of obj(args)), where it didn't work.
The correct fix seems to be to clear the self-argument on a lambda call.
Lambdas can only capture "this" inside methods, and calls to the lambda
in that scope cannot substitute anything for "this".
Commit: 9ef73d6017584a5ea425f898754bb5d1e03536bb
https://github.com/llvm/llvm-project/commit/9ef73d6017584a5ea425f898754bb5d1e03536bb
Author: David Green <david.green at arm.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
Log Message:
-----------
[AArch64] Fix brackets warning in assert. NFC
Commit: c35108e24488af1db1914ec083439189e6a7fce6
https://github.com/llvm/llvm-project/commit/c35108e24488af1db1914ec083439189e6a7fce6
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[AST] Migrate away from PointerUnion::get (NFC) (#119949)
Note that PointerUnion::get has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Commit: c0849218c43db152259a349aee130eda51057e4e
https://github.com/llvm/llvm-project/commit/c0849218c43db152259a349aee130eda51057e4e
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZOperators.td
Log Message:
-----------
[SystemZ] Use the same PatFrag for all "insert imm" fragments (NFC) (#119962)
Commit: 331c2dd8b482e441d8ccddc09f21a02cc9454786
https://github.com/llvm/llvm-project/commit/331c2dd8b482e441d8ccddc09f21a02cc9454786
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M bolt/lib/Core/DebugNames.cpp
A bolt/test/X86/dwarf5-debug-names-gnu-push-tls-address.s
Log Message:
-----------
[BOLT][DWARF] Add support for DW_OP_GNU_push_tls_address to .debug_names (#119939)
Added support to BOLT for DW_OP_GNU_push_tls_address. So now
DW_TAG_variable with this OP in DW_AT_location will appear in debug
names acceleration table. Although not in the DWARF 5 spec it is similar
to DW_OP_form_tls_address. Without this support llvm-dwarfdump --verify
--debug-names will report errors.
Commit: 0032c151dcbdbf9cdd8982870c7611e6f08c504b
https://github.com/llvm/llvm-project/commit/0032c151dcbdbf9cdd8982870c7611e6f08c504b
Author: David Green <david.green at arm.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/PtrUseVisitor.h
M llvm/include/llvm/Transforms/Utils/SSAUpdater.h
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Utils/SSAUpdater.cpp
M llvm/test/Transforms/SROA/non-capturing-call-readonly.ll
M llvm/test/Transforms/SROA/readonlynocapture.ll
Log Message:
-----------
[SROA] Optimize reloaded values in allocas that escape into readonly nocapture calls. (#116645)
Given an alloca that potentially has many uses in big complex code and
escapes into a call that is readonly+nocapture, we cannot easily split
up the alloca. There are several optimizations that will attempt to take
a value that is stored and a reload, and replace the load with the
original stored value. Instcombine has some simple heuristics, GVN can
sometimes do it, as can CSE in limited situations. They all suffer from
the same issue with complex code - they start from a load/store and need
to prove no-alias for all code between, which in complex cases might be
a lot to look through. Especially if the ptr is an alloca with many uses
that is over the normal escape capture limits.
The pass that does do well with allocas is SROA, as it has a complete
view of all of the uses. This patch adds a case to SROA where it can
detect allocas that are passed into calls that are no-capture readonly.
It can then optimize the reloaded values inside the alloca slice with
the stored value knowing that it is valid no matter the location of the
loads/stores from the no-escaping nature of the alloca.
Commit: e48916f615e0ad2b994b2b785d4fe1b8a98bc322
https://github.com/llvm/llvm-project/commit/e48916f615e0ad2b994b2b785d4fe1b8a98bc322
Author: pzhengqc <55604844+pzhengqc at users.noreply.github.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
A llvm/test/CodeGen/Thumb2/constant-islands-no-split.mir
Log Message:
-----------
[ARM][ConstantIslands] Correct MinNoSplitDisp calculation (#114590)
MinNoSplitDisp was first introduced in D16890 to handle cases where the
ConstantIslands pass fails to converge in the presence of big basic
blocks. However, the computation of the variable seems to be wrong as it
currently computes the offset immediately following UserBB. In other
words, it represents the distance from the beginning of the function to
the end of UserBB. The distance from the beginning of the function does
not seem to be a good indicator of how big the basic block is unless the
basic block is close to the beginning of the function. I think
MinNoSplitDisp should compute the distance between UserOffset and the
end of UserBB instead.
Commit: 9ddcaed3a64c2a187a0cfff4ba8f989c665ae1e5
https://github.com/llvm/llvm-project/commit/9ddcaed3a64c2a187a0cfff4ba8f989c665ae1e5
Author: Davide Italiano <davidino at meta.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
R clang/test/Interpreter/Inputs/vector
M clang/test/Interpreter/crash.cpp
Log Message:
-----------
Revert "[Clang] Interpreter test should not depend on system header (#119903)"
This reverts commit 8ab6912831277d87838518c5f775f79d14616860.
Commit: 61ab36a3e226df32855286dd31a2c3859800475d
https://github.com/llvm/llvm-project/commit/61ab36a3e226df32855286dd31a2c3859800475d
Author: Davide Italiano <davidino at meta.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M clang/lib/Interpreter/Interpreter.cpp
R clang/test/Interpreter/crash.cpp
Log Message:
-----------
Revert "[Clang-REPL] Fix crash during `__run_exit_handlers` with dynamic libraries. (#117475)"
This reverts commit 30ad53b92cec0cff9679d559edcc5b933312ba0c as it breaks
systems that don't have a systemwide libc++ or libstdc++ installed. It should
be rewritten to not invoke the system linker. In the meanwhile, reverting
to unblock the bots.
Commit: b5c5c2b26fd4bd0d0d237aaf77a01ca528810707
https://github.com/llvm/llvm-project/commit/b5c5c2b26fd4bd0d0d237aaf77a01ca528810707
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
M mlir/lib/Analysis/DataFlow/ConstantPropagationAnalysis.cpp
M mlir/lib/Analysis/DataFlow/IntegerRangeAnalysis.cpp
M mlir/lib/Analysis/DataFlow/SparseAnalysis.cpp
Log Message:
-----------
[DataFlow] Migrate away from PointerUnion::{is,get} (NFC) (#119950)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: 2564f1e1991425cbbfcada52ebaa6191d36fdf53
https://github.com/llvm/llvm-project/commit/2564f1e1991425cbbfcada52ebaa6191d36fdf53
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
Log Message:
-----------
[VPlan] Simplify Not(Not(A)) -> A.
Follow-up simplification to 5fae408d3a4c073ee4.
Commit: aaadaee7b228d7010ff7076f5002ebb96b5e03dc
https://github.com/llvm/llvm-project/commit/aaadaee7b228d7010ff7076f5002ebb96b5e03dc
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.cpp
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantAccessSpecifiersCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
Log Message:
-----------
[clang-tidy] remove misuse of `getLocalOrGlobal` for non common used options (#119948)
[RFC](https://discourse.llvm.org/t/rfc-global-option-rules-for-clang-tidy/83647)
Commit: 99354f968f64659cbad5c82b0301d851ae54f057
https://github.com/llvm/llvm-project/commit/99354f968f64659cbad5c82b0301d851ae54f057
Author: Richard Dzenis <richard at dzenis.dev>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M clang/test/SemaCXX/msvc-pragma-function-no-builtin-attr.cpp
Log Message:
-----------
[clang][test] Fix SemaCXX/msvc-pragma-function-no-builtin-attr.cpp for x86 (#119986)
Fix test failure from #119719
84b0f0145887bbfe49fd4dc85490b14108a72cee
Closes #119979
Commit: d33bf2e9df578ff7e44fd22504d6ad5a122b7ee6
https://github.com/llvm/llvm-project/commit/d33bf2e9df578ff7e44fd22504d6ad5a122b7ee6
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M libcxxabi/test/test_demangle.pass.cpp
Log Message:
-----------
NFC: clang-format test_demangle.pass.cpp but keep test "lines"
Add clang-format on/off around test "lines"
Run clang-format without breaking string literals:
clang-format --style='{BasedOnStyle: llvm, BreakStringLiterals: false}'
-i test_demangle.pass.cpp
Add clang-format on/off on fp_literal_cases
Fixups: Split UNSUPPORTED to next line; xfail_cases trailing comma
Replace physical tab
Commit: e2dc0b9b1ec09de2b20387846cd2487362a58322
https://github.com/llvm/llvm-project/commit/e2dc0b9b1ec09de2b20387846cd2487362a58322
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M .git-blame-ignore-revs
Log Message:
-----------
[libc++] Add test_demangle.pass.cpp clang-format to .git-blame-ignore-revs
Commit: 8b02d809d284c8e10b38087431def52c86e3e9e6
https://github.com/llvm/llvm-project/commit/8b02d809d284c8e10b38087431def52c86e3e9e6
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/test/CodeGen/Mips/2008-07-16-SignExtInReg.ll
M llvm/test/CodeGen/Mips/beqzc.ll
M llvm/test/CodeGen/Mips/beqzc1.ll
M llvm/test/CodeGen/Mips/blockaddr.ll
M llvm/test/CodeGen/Mips/brsize3.ll
M llvm/test/CodeGen/Mips/brsize3a.ll
M llvm/test/CodeGen/Mips/ci2.ll
M llvm/test/CodeGen/Mips/const1.ll
M llvm/test/CodeGen/Mips/const4a.ll
M llvm/test/CodeGen/Mips/const6.ll
M llvm/test/CodeGen/Mips/const6a.ll
M llvm/test/CodeGen/Mips/ctlz.ll
M llvm/test/CodeGen/Mips/f16abs.ll
M llvm/test/CodeGen/Mips/fixdfsf.ll
M llvm/test/CodeGen/Mips/fp16instrinsmc.ll
M llvm/test/CodeGen/Mips/fp16mix.ll
M llvm/test/CodeGen/Mips/fpnotneeded.ll
M llvm/test/CodeGen/Mips/funnel-shift-rot.ll
M llvm/test/CodeGen/Mips/funnel-shift.ll
M llvm/test/CodeGen/Mips/helloworld.ll
M llvm/test/CodeGen/Mips/hf16call32.ll
M llvm/test/CodeGen/Mips/hf16call32_body.ll
M llvm/test/CodeGen/Mips/hf1_body.ll
M llvm/test/CodeGen/Mips/hfptrcall.ll
M llvm/test/CodeGen/Mips/i32k.ll
M llvm/test/CodeGen/Mips/l3mc.ll
M llvm/test/CodeGen/Mips/lcb2.ll
M llvm/test/CodeGen/Mips/lcb3c.ll
M llvm/test/CodeGen/Mips/lcb4a.ll
M llvm/test/CodeGen/Mips/lcb5.ll
M llvm/test/CodeGen/Mips/mbrsize4a.ll
M llvm/test/CodeGen/Mips/mips16-hf-attr-2.ll
M llvm/test/CodeGen/Mips/mips16-hf-attr.ll
M llvm/test/CodeGen/Mips/mips16_fpret.ll
M llvm/test/CodeGen/Mips/nomips16.ll
M llvm/test/CodeGen/Mips/powif64_16.ll
M llvm/test/CodeGen/Mips/rotate.ll
M llvm/test/CodeGen/Mips/s2rem.ll
M llvm/test/CodeGen/Mips/sel1c.ll
M llvm/test/CodeGen/Mips/sel2c.ll
M llvm/test/CodeGen/Mips/simplebr.ll
M llvm/test/CodeGen/Mips/small-section-reserve-gp.ll
M llvm/test/CodeGen/Mips/sr1.ll
M llvm/test/CodeGen/Mips/tail16.ll
M llvm/test/CodeGen/Mips/trap1.ll
Log Message:
-----------
[test] Remove redundant -march= in llc -mtriple=
Commit: 8c681a929b8684f5a4ad2ebd4e3e4f20036a9595
https://github.com/llvm/llvm-project/commit/8c681a929b8684f5a4ad2ebd4e3e4f20036a9595
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M clang/unittests/Format/FormatTestJS.cpp
Log Message:
-----------
[clang-format][NFC] Add a TypeScript test case
See #108530.
Commit: e04fde193bc2acbaf3ece851479fbd9928c1e280
https://github.com/llvm/llvm-project/commit/e04fde193bc2acbaf3ece851479fbd9928c1e280
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M lld/MachO/Arch/ARM64.cpp
M lld/MachO/ConcatOutputSection.cpp
M lld/MachO/EhFrame.cpp
M lld/MachO/ICF.cpp
M lld/MachO/InputFiles.cpp
M lld/MachO/InputSection.cpp
M lld/MachO/MarkLive.cpp
M lld/MachO/ObjC.cpp
M lld/MachO/Relocations.cpp
M lld/MachO/SyntheticSections.cpp
M lld/MachO/UnwindInfoSection.cpp
Log Message:
-----------
[lld] Migrate away from PointerUnion::{is,get} (NFC) (#119993)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: fe9f2ac8e763d35bf7dea34063b18865ca26a781
https://github.com/llvm/llvm-project/commit/fe9f2ac8e763d35bf7dea34063b18865ca26a781
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/test/MC/ELF/relocation.s
A llvm/test/MC/X86/elf-reloc-got.s
A llvm/test/MC/X86/elf-reloc-size.s
A llvm/test/MC/X86/elf-reloc-tls.s
Log Message:
-----------
[test] Reorganize some R_X86_64_ tests
Commit: 97f43364cc8599bfc64f4f83fb81c7cd0242a1a4
https://github.com/llvm/llvm-project/commit/97f43364cc8599bfc64f4f83fb81c7cd0242a1a4
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M bolt/test/merge-fdata-mixed-bat-no-lbr.test
M bolt/test/merge-fdata-mixed-mode.test
M bolt/tools/merge-fdata/merge-fdata.cpp
Log Message:
-----------
[BOLT][NFC] Speedup merge-fdata (#119942)
Eliminate splitting the buffer into lines, and use `std::getline`
directly. Simplify no_lbr and boltedcollection handling as well.
Test Plan: For a large fdata file (200MB), fstream version is ~10%
faster.
Commit: 86526084044167b3c753d32ef8dbf79d57cba0c4
https://github.com/llvm/llvm-project/commit/86526084044167b3c753d32ef8dbf79d57cba0c4
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M bolt/test/merge-fdata-lbr-mode.test
M bolt/tools/merge-fdata/merge-fdata.cpp
Log Message:
-----------
[BOLT] Fix counts aggregation in merge-fdata (#119652)
merge-fdata used to consider misprediction count as part of "signature",
or the aggregation key. This prevented it from collapsing profile lines
with different misprediction counts, which resulted in duplicate
`(from, to)` pairs with different misprediction and execution counts.
Fix that by splitting out misprediction count and accumulating it
separately.
Test Plan: updated bolt/test/merge-fdata-lbr-mode.test
Commit: 4c8c1308479166d00b4e1d74ceee7cf0abfe6e72
https://github.com/llvm/llvm-project/commit/4c8c1308479166d00b4e1d74ceee7cf0abfe6e72
Author: David Green <david.green at arm.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/dup.ll
Log Message:
-----------
[AArch64][GlobalISel] Scalarize i128 shufflevector instructions. (#119980)
This, like other operations, scalarizes shuffle vector operations with
types larger than 64bits. ImplicitDef and Freeze are also handled the
same way, to allow them to legalize. The legalization of
fewerElementsVectorShuffle is adjusted to handled scalarization.
Commit: eb1f9cced9e878362aeac18e120895995f759ee3
https://github.com/llvm/llvm-project/commit/eb1f9cced9e878362aeac18e120895995f759ee3
Author: Alex Rønne Petersen <alex at alexrp.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M libunwind/include/__libunwind_config.h
Log Message:
-----------
[libunwind] Fix compilation for the x32 ABI. (#116608)
This would previously fail the static assertions in `UnwindCursor.hpp`
due to `UnwindCursor`'s size not matching `unw_cursor_t`'s size. As is
done for MIPS N32, this just declares the appropriate size in
`__libunwind_config.h`.
Commit: 6b493baec1ada4ef714197803926c37cd9c56e03
https://github.com/llvm/llvm-project/commit/6b493baec1ada4ef714197803926c37cd9c56e03
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M lld/COFF/Chunks.cpp
M lld/COFF/DLL.cpp
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
M lld/COFF/PDB.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Symbols.cpp
Log Message:
-----------
[LLD][COFF] Store reference to SymbolTable instead of COFFLinkerContext in InputFile (NFC) (#119296)
This change prepares for the introduction of separate hybrid namespaces.
Hybrid images will require two `SymbolTable` instances, making it
necessary to associate `InputFile` objects with the relevant one.
Commit: 916bae2d921705c8ce78a4ddec4503c61bc8220c
https://github.com/llvm/llvm-project/commit/916bae2d921705c8ce78a4ddec4503c61bc8220c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] foldShuffleOfBinops - refactor to make it easier to match icmp/fcmp patterns
NFC refactor to make it easier to also use the fold for icmp/fcmp patterns in a future patch - match the Shuffle with general Instruction operands and avoid explicit use of the BinaryOperator matches as much as possible for the general costing / fold.
Commit: 734a204fbd4b790048c57f79351ad8beeb1000ce
https://github.com/llvm/llvm-project/commit/734a204fbd4b790048c57f79351ad8beeb1000ce
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Manage VPWidenIntOrFPInduction debug location via recipe (NFC).
Properly set VPWidenIntOrFpInductionRecipe's debug location in the
recipe and use it, instead of using the debug location of the underlying
IR instruction.
Commit: e1271dd5a7ecf5cee59c8e2684b93501a1aab82d
https://github.com/llvm/llvm-project/commit/e1271dd5a7ecf5cee59c8e2684b93501a1aab82d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
Log Message:
-----------
[clangd] Index reserved symbols from `*intrin.h` system headers (#119735)
Summary:
`clangd` intentionally suppresses indexing symbols from system headers
as these are likely implementation details the user does not want.
Howver, there are plenty of system headers that provide extensions that
we want to index, such as vector intrinsic headers. This patch adds an
extra check for these commonly-named '*intrin.h' headers. This is not
fully inclusive for all symbols the user might want, but it's a good
start.
Fixes: https://github.com/llvm/llvm-project/issues/118684
---------
Co-authored-by: Nathan Ridge <zeratul976 at hotmail.com>
Commit: e85a9f5540f5399b20a32c8d87474e6fc906ad33
https://github.com/llvm/llvm-project/commit/e85a9f5540f5399b20a32c8d87474e6fc906ad33
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M libc/shared/rpc.h
M libc/utils/gpu/loader/Loader.h
M libc/utils/gpu/server/rpc_server.cpp
M offload/plugins-nextgen/common/src/RPC.cpp
Log Message:
-----------
libc: Prefix RPC Status code to avoid conflict in windows build (#119991)
Somehow conflict with define in wingdi.h.
Fix build failures:
[ 52%] Building CXX object
projects/offload/plugins-nextgen/common/CMakeFiles/PluginCommon.dir/src/RPC.cpp.obj
In file included from
...llvm\offload\plugins-nextgen\common\src\RPC.cpp:16:
...\llvm\libc\shared\rpc.h(48,3): error: expected identifier
48 | ERROR = 0x1000,
| ^
c:\Program files (x86)\Windows
Kits\10\include\10.0.22000.0\um\wingdi.h(118,29): note: expanded from
macro 'ERROR'
118 | #define ERROR 0
| ^
...\llvm\offload\plugins-nextgen\common\src\RPC.cpp(75,17): error:
expected unqualified-id
75 | return rpc::ERROR;
| ^
c:\Program files (x86)\Windows
Kits\10\include\10.0.22000.0\um\wingdi.h(118,29): note: expanded from
macro 'ERROR'
118 | #define ERROR 0
| ^
2 errors generated.
Commit: 6c98f70b30408916de6ad5cb82081ca7d9b1c39e
https://github.com/llvm/llvm-project/commit/6c98f70b30408916de6ad5cb82081ca7d9b1c39e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
Log Message:
-----------
[LV] Add test with missing debug location for pointer IV in vector loop.
Commit: 2067e604a49d49ce054d61a0109ec12a724e3db2
https://github.com/llvm/llvm-project/commit/2067e604a49d49ce054d61a0109ec12a724e3db2
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
Log Message:
-----------
[VPlan] Manage VPWidenPointerInduction debug location via recipe.
Update VPWidenPointerInduction to manage its debug location via recipe.
This makes sure we emit a proper debug location for
VPWidenPointerInductionRecipes.
Commit: 49a5ad8e5714fd404210279303acc97b495d66d0
https://github.com/llvm/llvm-project/commit/49a5ad8e5714fd404210279303acc97b495d66d0
Author: Malte Dehling <mdehling at gmail.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M mlir/docs/Dialects/Transform.md
Log Message:
-----------
[mlir] Add DLTI transform ops section (#118153)
Adds missing _DLTI Transform Operations_ section to the transform
dialect documentation.
Co-authored-by: Malte Dehling <m.dehling at samsung.com>
Commit: b0746c68629c26567cd123d8f9b28e796ef26f47
https://github.com/llvm/llvm-project/commit/b0746c68629c26567cd123d8f9b28e796ef26f47
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
M mlir/tools/mlir-tblgen/RewriterGen.cpp
M mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
Log Message:
-----------
[mlir-tblgen] Migrate away from PointerUnion::{is,get} (NFC) (#119994)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: a22578d38c773b3969fc02f80ffd7042dc4ad3e3
https://github.com/llvm/llvm-project/commit/a22578d38c773b3969fc02f80ffd7042dc4ad3e3
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
A llvm/test/Transforms/ConstraintElimination/transfer-samesign-facts.ll
Log Message:
-----------
ConstraintElim: teach fact-transfer about samesign (#115893)
When the samesign flag is present on an icmp, we can transfer all the
facts on the unsigned system to the signed system, and vice-versa: we do
this by specializing transferToOtherSystem when samesign is present.
Commit: 0a9810d32599e515236940ce15631cfa8586d403
https://github.com/llvm/llvm-project/commit/0a9810d32599e515236940ce15631cfa8586d403
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/SymbolTable.cpp
Log Message:
-----------
[LLD][COFF] Factor out LinkerDriver::setMachine (NFC) (#119297)
Commit: d3c485717979add739b90c82b7bc79a1e57f3cd2
https://github.com/llvm/llvm-project/commit/d3c485717979add739b90c82b7bc79a1e57f3cd2
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M lld/COFF/DLL.cpp
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
Log Message:
-----------
[LLD][COFF] Store machine type in SymbolTable (NFC) (#119298)
This change prepares for hybrid ARM64X support, which requires two
`SymbolTable` instances: one for native symbols and one for EC symbols.
In such cases, `config.machine` will remain ARM64X, while the
`SymbolTable` instances will store ARM64 and ARM64EC machine types.
Commit: a8206e7b37929f4754806667680ffba0206eef95
https://github.com/llvm/llvm-project/commit/a8206e7b37929f4754806667680ffba0206eef95
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M lld/COFF/COFFLinkerContext.h
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
M lld/COFF/SymbolTable.h
M lld/test/COFF/arm64ec-codemap.test
M lld/test/COFF/arm64ec-entry-thunk.s
M lld/test/COFF/arm64ec-lib.test
M lld/test/COFF/arm64ec-range-thunks.s
A lld/test/COFF/arm64x-symtab.s
Log Message:
-----------
[LLD][COFF] Introduce hybrid symbol table for EC input files on ARM64X (#119294)
On hybrid ARM64X targets, ARM64 and ARM64EC input files operate in
separate namespaces and cannot reference each other. This change
introduces separate `SymbolTable` instances and associates each
`InputFile` with the appropriate table to reflect this behavior.
Commit: 6a865b6d3d44e53adc9342fb2d80a604f5459707
https://github.com/llvm/llvm-project/commit/6a865b6d3d44e53adc9342fb2d80a604f5459707
Author: wldfngrs <wldfngrs at gmail.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/hdrgen/yaml/math.yaml
M libc/src/math/CMakeLists.txt
A libc/src/math/cosf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/cosf16.cpp
M libc/src/math/generic/cospif16.cpp
M libc/src/math/generic/sinf16.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/cosf16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/cosf16_test.cpp
Log Message:
-----------
[libc][math][c23] Add cosf16 function (#118785)
Commit: 171056ff5778c40df916c5a4cea84ea6320b965f
https://github.com/llvm/llvm-project/commit/171056ff5778c40df916c5a4cea84ea6320b965f
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/M68k/GlobalISel/legalize-add.mir
M llvm/test/CodeGen/M68k/GlobalISel/legalize-and.mir
M llvm/test/CodeGen/M68k/GlobalISel/legalize-load-store.mir
M llvm/test/CodeGen/M68k/GlobalISel/legalize-mul.mir
M llvm/test/CodeGen/M68k/GlobalISel/legalize-sub.mir
M llvm/test/CodeGen/M68k/GlobalISel/legalize-udiv.mir
M llvm/test/CodeGen/MSP430/2009-05-17-Rot.ll
M llvm/test/CodeGen/MSP430/2009-05-17-Shift.ll
M llvm/test/CodeGen/MSP430/2009-05-19-DoubleSplit.ll
M llvm/test/CodeGen/MSP430/2009-10-10-OrImpDef.ll
M llvm/test/CodeGen/MSP430/2009-11-20-NewNode.ll
M llvm/test/CodeGen/MSP430/AddrMode-bis-rx.ll
M llvm/test/CodeGen/MSP430/AddrMode-bis-xr.ll
M llvm/test/CodeGen/MSP430/AddrMode-mov-rx.ll
M llvm/test/CodeGen/MSP430/AddrMode-mov-xr.ll
M llvm/test/CodeGen/MSP430/BranchSelector.ll
M llvm/test/CodeGen/MSP430/DbgValueOtherTargets.test
M llvm/test/CodeGen/MSP430/Inst16mi.ll
M llvm/test/CodeGen/MSP430/Inst16mm.ll
M llvm/test/CodeGen/MSP430/Inst16mr.ll
M llvm/test/CodeGen/MSP430/Inst16ri.ll
M llvm/test/CodeGen/MSP430/Inst16rm.ll
M llvm/test/CodeGen/MSP430/Inst16rr.ll
M llvm/test/CodeGen/MSP430/Inst8mi.ll
M llvm/test/CodeGen/MSP430/Inst8mm.ll
M llvm/test/CodeGen/MSP430/Inst8mr.ll
M llvm/test/CodeGen/MSP430/Inst8ri.ll
M llvm/test/CodeGen/MSP430/Inst8rm.ll
M llvm/test/CodeGen/MSP430/Inst8rr.ll
M llvm/test/CodeGen/MSP430/InstII.ll
M llvm/test/CodeGen/MSP430/bit.ll
M llvm/test/CodeGen/MSP430/flt_rounds.ll
M llvm/test/CodeGen/MSP430/indirectbr.ll
M llvm/test/CodeGen/MSP430/indirectbr2.ll
M llvm/test/CodeGen/MSP430/mult-alt-generic-msp430.ll
M llvm/test/CodeGen/MSP430/select-use-sr.ll
M llvm/test/CodeGen/MSP430/setcc.ll
M llvm/test/CodeGen/MSP430/spill-to-stack.ll
M llvm/test/CodeGen/MSP430/stacksave_restore.ll
M llvm/test/CodeGen/MSP430/umulo-16.ll
Log Message:
-----------
[M68k,MSP430,test] Change llc -march= to -mtriple=
Similar to 806761a7629df268c8aed49657aeccffa6bca449
Commit: 2208c97c1bec2512d4e47b6223db6d95a7037956
https://github.com/llvm/llvm-project/commit/2208c97c1bec2512d4e47b6223db6d95a7037956
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/Hexagon/64bit_tstbit.ll
M llvm/test/CodeGen/Hexagon/Atomics.ll
M llvm/test/CodeGen/Hexagon/BranchPredict.ll
M llvm/test/CodeGen/Hexagon/Halide_vec_cast_trunc1.ll
M llvm/test/CodeGen/Hexagon/Halide_vec_cast_trunc2.ll
M llvm/test/CodeGen/Hexagon/M4_mpyri_addi_global.ll
M llvm/test/CodeGen/Hexagon/M4_mpyrr_addi_global.ll
M llvm/test/CodeGen/Hexagon/NVJumpCmp.ll
M llvm/test/CodeGen/Hexagon/P08214.ll
M llvm/test/CodeGen/Hexagon/PR33749.ll
M llvm/test/CodeGen/Hexagon/SUnit-boundary-prob.ll
M llvm/test/CodeGen/Hexagon/V60-VDblNew.ll
M llvm/test/CodeGen/Hexagon/abi-padding-2.ll
M llvm/test/CodeGen/Hexagon/abi-padding.ll
M llvm/test/CodeGen/Hexagon/abs.ll
M llvm/test/CodeGen/Hexagon/absaddr-store.ll
M llvm/test/CodeGen/Hexagon/absimm.ll
M llvm/test/CodeGen/Hexagon/add-use.ll
M llvm/test/CodeGen/Hexagon/add_int_double.ll
M llvm/test/CodeGen/Hexagon/add_mpi_RRR.ll
M llvm/test/CodeGen/Hexagon/addaddi.ll
M llvm/test/CodeGen/Hexagon/addasl-address.ll
M llvm/test/CodeGen/Hexagon/addh-sext-trunc.ll
M llvm/test/CodeGen/Hexagon/addh-shifted.ll
M llvm/test/CodeGen/Hexagon/addh.ll
M llvm/test/CodeGen/Hexagon/addr-calc-opt.ll
M llvm/test/CodeGen/Hexagon/addr-mode-opt.ll
M llvm/test/CodeGen/Hexagon/addrmode-align.ll
M llvm/test/CodeGen/Hexagon/addrmode-globoff.mir
M llvm/test/CodeGen/Hexagon/addrmode-immop.mir
M llvm/test/CodeGen/Hexagon/addrmode-indoff.ll
M llvm/test/CodeGen/Hexagon/addrmode-keepdeadphis.ll
M llvm/test/CodeGen/Hexagon/addrmode-keepdeadphis.mir
M llvm/test/CodeGen/Hexagon/addrmode-no-rdef.mir
M llvm/test/CodeGen/Hexagon/addrmode-offset.ll
M llvm/test/CodeGen/Hexagon/addrmode-opt-assert.mir
M llvm/test/CodeGen/Hexagon/addrmode-rr-to-io.mir
M llvm/test/CodeGen/Hexagon/addsubcarry.ll
M llvm/test/CodeGen/Hexagon/adjust-latency-stackST.ll
M llvm/test/CodeGen/Hexagon/aggr-antidep-tied.ll
M llvm/test/CodeGen/Hexagon/aggr-copy-order.ll
M llvm/test/CodeGen/Hexagon/aggr-licm.ll
M llvm/test/CodeGen/Hexagon/aggressive_licm.ll
M llvm/test/CodeGen/Hexagon/align_Os.ll
M llvm/test/CodeGen/Hexagon/align_test.ll
M llvm/test/CodeGen/Hexagon/alu64.ll
M llvm/test/CodeGen/Hexagon/always-ext.ll
M llvm/test/CodeGen/Hexagon/anti-dep-partial.mir
M llvm/test/CodeGen/Hexagon/args.ll
M llvm/test/CodeGen/Hexagon/ashift-left-right.ll
M llvm/test/CodeGen/Hexagon/asr-rnd.ll
M llvm/test/CodeGen/Hexagon/asr-rnd64.ll
M llvm/test/CodeGen/Hexagon/assert-postinc-ptr-not-value.ll
M llvm/test/CodeGen/Hexagon/atomic-opaque-basic.ll
M llvm/test/CodeGen/Hexagon/atomic-rmw-add.ll
M llvm/test/CodeGen/Hexagon/atomicrmw-cond-sub-clamp.ll
M llvm/test/CodeGen/Hexagon/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/Hexagon/autohvx/abs.ll
M llvm/test/CodeGen/Hexagon/autohvx/addi-offset-opt-addr-mode.ll
M llvm/test/CodeGen/Hexagon/autohvx/addi-opt-predicated-def-bug.ll
M llvm/test/CodeGen/Hexagon/autohvx/align-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/align-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/align2-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/align2-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/arith-float.ll
M llvm/test/CodeGen/Hexagon/autohvx/arith.ll
M llvm/test/CodeGen/Hexagon/autohvx/bitcount-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/bitcount-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/bitwise-pred-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/bitwise-pred-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/bswap.ll
M llvm/test/CodeGen/Hexagon/autohvx/build-vector-float-type.ll
M llvm/test/CodeGen/Hexagon/autohvx/build-vector-i32-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/build-vector-i32-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/build-vector-i32-type.ll
M llvm/test/CodeGen/Hexagon/autohvx/calling-conv.ll
M llvm/test/CodeGen/Hexagon/autohvx/concat-vectors-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/concat-vectors-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/contract-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/contract-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/conv-fp-fp.ll
M llvm/test/CodeGen/Hexagon/autohvx/conv-fp-int-ieee.ll
M llvm/test/CodeGen/Hexagon/autohvx/ctpop-split.ll
M llvm/test/CodeGen/Hexagon/autohvx/deal-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/deal-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/delta-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/delta-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/delta2-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/extract-element.ll
M llvm/test/CodeGen/Hexagon/autohvx/fp-to-int.ll
M llvm/test/CodeGen/Hexagon/autohvx/funnel-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/hfinsert.ll
M llvm/test/CodeGen/Hexagon/autohvx/hvx-idiom-empty-results.ll
M llvm/test/CodeGen/Hexagon/autohvx/int-to-fp.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-anyext-inreg.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-anyext-pair.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-bitcast-vsplat.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-bitcast-vsplat2.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-bool-vector.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-build-undef.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-build-vector.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-concat-multiple.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-concat-vectors-bool.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-concat-vectors.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-const-splat-bitcast.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-const-splat-imm.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-const-splat.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-const-vector.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-expand-unaligned-loads-noindexed.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-expand-unaligned-loads.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-extractelt-illegal-type.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-hvx-concat-truncate.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-hvx-pred-bitcast.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-insert-subvector-v4i8.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-intrinsics.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-mstore-fp16.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-q-legalization-loop.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-q2v-pair.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-qfalse.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-select-const.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-select-q.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-setcc-pair-fp.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-setcc-pair.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-setcc-v256i1.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-sext-inreg.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-shift-byte.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-shuff-single.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-shuffle-gather.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-shuffle-isdisel.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-shuffle-no-perfect-completion.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-shuffle-pack.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-split-masked.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-store-bitcast-v128i1.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-truncate-legal.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-truncate.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-undef-not-zero.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-vec-ext.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-vpackew.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-vsplat-pair.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-widen-memop.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-widen-store.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-widen-truncate-illegal-elem.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-widen-truncate-op.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-widen-truncate-pair.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-widen-truncate.ll
M llvm/test/CodeGen/Hexagon/autohvx/logical-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/logical-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/lower-insert-elt.ll
M llvm/test/CodeGen/Hexagon/autohvx/masked-vmem-basic.ll
M llvm/test/CodeGen/Hexagon/autohvx/minmax-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/minmax-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/minmax-float.ll
M llvm/test/CodeGen/Hexagon/autohvx/mulh.ll
M llvm/test/CodeGen/Hexagon/autohvx/non-simple-hvx-type.ll
M llvm/test/CodeGen/Hexagon/autohvx/perfect-single.ll
M llvm/test/CodeGen/Hexagon/autohvx/pred-vmem-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/pred-vmem-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/qmul-add-over-32-bit.ll
M llvm/test/CodeGen/Hexagon/autohvx/qmul-chop.ll
M llvm/test/CodeGen/Hexagon/autohvx/qmul.ll
M llvm/test/CodeGen/Hexagon/autohvx/reg-sequence.ll
M llvm/test/CodeGen/Hexagon/autohvx/shift-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/shift-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/shuff-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/shuff-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/shuff-combos-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/shuff-combos-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/shuff-perfect-inverted-pair.ll
M llvm/test/CodeGen/Hexagon/autohvx/shuff-single.ll
M llvm/test/CodeGen/Hexagon/autohvx/shuffle-expanding-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/shuffle-expanding-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/shuffle-half-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/shuffle-half-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/splat.ll
M llvm/test/CodeGen/Hexagon/autohvx/vdd0.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-addr.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-bad-move.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-bad-move3.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-base-type-mismatch.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-basic.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-interleaved.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-only-phi-use.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-order.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-rescale-nonint.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-scalar-mask.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-store-mask.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-store.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-terminator.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-use-in-different-block.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-compare-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-compare-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-compare-float.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-load-store-basic.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-predicate-typecast.ll
M llvm/test/CodeGen/Hexagon/autohvx/vext-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/vext-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/vmpy-parts.ll
M llvm/test/CodeGen/Hexagon/autohvx/vmux-order.ll
M llvm/test/CodeGen/Hexagon/autohvx/widen-ext.ll
M llvm/test/CodeGen/Hexagon/autohvx/widen-setcc.ll
M llvm/test/CodeGen/Hexagon/autohvx/widen-trunc.ll
M llvm/test/CodeGen/Hexagon/avoid-predspill-calleesaved.ll
M llvm/test/CodeGen/Hexagon/avoid-predspill.ll
M llvm/test/CodeGen/Hexagon/avoidVectorLowering.ll
M llvm/test/CodeGen/Hexagon/bank-conflict-load.mir
M llvm/test/CodeGen/Hexagon/bank-conflict.mir
M llvm/test/CodeGen/Hexagon/barrier-flag.ll
M llvm/test/CodeGen/Hexagon/base-offset-addr.ll
M llvm/test/CodeGen/Hexagon/base-offset-post.ll
M llvm/test/CodeGen/Hexagon/base-offset-stv4.ll
M llvm/test/CodeGen/Hexagon/bit-addr-align.mir
M llvm/test/CodeGen/Hexagon/bit-bitsplit-at.ll
M llvm/test/CodeGen/Hexagon/bit-bitsplit-regclass.ll
M llvm/test/CodeGen/Hexagon/bit-bitsplit-src.ll
M llvm/test/CodeGen/Hexagon/bit-bitsplit.ll
M llvm/test/CodeGen/Hexagon/bit-cmp0.mir
M llvm/test/CodeGen/Hexagon/bit-eval.ll
M llvm/test/CodeGen/Hexagon/bit-ext-sat.ll
M llvm/test/CodeGen/Hexagon/bit-extract-off.ll
M llvm/test/CodeGen/Hexagon/bit-extract.ll
M llvm/test/CodeGen/Hexagon/bit-extractu-half.ll
M llvm/test/CodeGen/Hexagon/bit-gen-rseq.ll
M llvm/test/CodeGen/Hexagon/bit-has.ll
M llvm/test/CodeGen/Hexagon/bit-loop-rc-mismatch.ll
M llvm/test/CodeGen/Hexagon/bit-loop.ll
M llvm/test/CodeGen/Hexagon/bit-phi.ll
M llvm/test/CodeGen/Hexagon/bit-rie.ll
M llvm/test/CodeGen/Hexagon/bit-skip-byval.ll
M llvm/test/CodeGen/Hexagon/bit-store-upper-sub-hi.mir
M llvm/test/CodeGen/Hexagon/bit-validate-reg.ll
M llvm/test/CodeGen/Hexagon/bit-visit-flowq.ll
M llvm/test/CodeGen/Hexagon/bitcast-i128-to-v128i1.ll
M llvm/test/CodeGen/Hexagon/bitconvert-vector.ll
M llvm/test/CodeGen/Hexagon/bitmanip.ll
M llvm/test/CodeGen/Hexagon/bkfir.ll
M llvm/test/CodeGen/Hexagon/block-addr.ll
M llvm/test/CodeGen/Hexagon/block-address.ll
M llvm/test/CodeGen/Hexagon/block-ranges-nodef.ll
M llvm/test/CodeGen/Hexagon/blockaddr-fpic.ll
M llvm/test/CodeGen/Hexagon/branch-folder-hoist-kills.mir
M llvm/test/CodeGen/Hexagon/branch-non-mbb.ll
M llvm/test/CodeGen/Hexagon/branchfolder-insert-impdef.mir
M llvm/test/CodeGen/Hexagon/branchfolder-keep-impdef.ll
M llvm/test/CodeGen/Hexagon/brcond-setne.ll
M llvm/test/CodeGen/Hexagon/brev_ld.ll
M llvm/test/CodeGen/Hexagon/brev_st.ll
M llvm/test/CodeGen/Hexagon/bss-local.ll
M llvm/test/CodeGen/Hexagon/bug-aa4463-ifconv-vecpred.ll
M llvm/test/CodeGen/Hexagon/bug-allocframe-size.ll
M llvm/test/CodeGen/Hexagon/bug-hcp-tied-kill.ll
M llvm/test/CodeGen/Hexagon/bug14859-iv-cleanup-lpad.ll
M llvm/test/CodeGen/Hexagon/bug14859-split-const-block-addr.ll
M llvm/test/CodeGen/Hexagon/bug17276.ll
M llvm/test/CodeGen/Hexagon/bug17386.ll
M llvm/test/CodeGen/Hexagon/bug18008.ll
M llvm/test/CodeGen/Hexagon/bug18491-optsize.ll
M llvm/test/CodeGen/Hexagon/bug19076.ll
M llvm/test/CodeGen/Hexagon/bug19119.ll
M llvm/test/CodeGen/Hexagon/bug19254-ifconv-vec.ll
M llvm/test/CodeGen/Hexagon/bug27085.ll
M llvm/test/CodeGen/Hexagon/bug31839.ll
M llvm/test/CodeGen/Hexagon/bug6757-endloop.ll
M llvm/test/CodeGen/Hexagon/bug9049.ll
M llvm/test/CodeGen/Hexagon/bug9963.ll
M llvm/test/CodeGen/Hexagon/bugAsmHWloop.ll
M llvm/test/CodeGen/Hexagon/build-vector-shuffle.ll
M llvm/test/CodeGen/Hexagon/build-vector-v4i8-zext.ll
M llvm/test/CodeGen/Hexagon/builtin-expect.ll
M llvm/test/CodeGen/Hexagon/builtin-prefetch-offset.ll
M llvm/test/CodeGen/Hexagon/builtin-prefetch.ll
M llvm/test/CodeGen/Hexagon/call-long1.ll
M llvm/test/CodeGen/Hexagon/call-ret-i1.ll
M llvm/test/CodeGen/Hexagon/call-v4.ll
M llvm/test/CodeGen/Hexagon/callR_noreturn.ll
M llvm/test/CodeGen/Hexagon/calling-conv-2.ll
M llvm/test/CodeGen/Hexagon/calling-conv.ll
M llvm/test/CodeGen/Hexagon/callr-dep-edge.ll
M llvm/test/CodeGen/Hexagon/cext-check.ll
M llvm/test/CodeGen/Hexagon/cext-ice.ll
M llvm/test/CodeGen/Hexagon/cext-opt-basic.mir
M llvm/test/CodeGen/Hexagon/cext-opt-block-addr.mir
M llvm/test/CodeGen/Hexagon/cext-opt-negative-fi.mir
M llvm/test/CodeGen/Hexagon/cext-opt-numops.mir
M llvm/test/CodeGen/Hexagon/cext-opt-range-assert.mir
M llvm/test/CodeGen/Hexagon/cext-opt-range-offset.mir
M llvm/test/CodeGen/Hexagon/cext-opt-shifted-range.mir
M llvm/test/CodeGen/Hexagon/cext-opt-stack-no-rr.mir
M llvm/test/CodeGen/Hexagon/cext-unnamed-global.mir
M llvm/test/CodeGen/Hexagon/cext-valid-packet1.ll
M llvm/test/CodeGen/Hexagon/cext-valid-packet2.ll
M llvm/test/CodeGen/Hexagon/cext.ll
M llvm/test/CodeGen/Hexagon/cexti16.ll
M llvm/test/CodeGen/Hexagon/cfgopt-fall-through.ll
M llvm/test/CodeGen/Hexagon/cfi-late-and-regpressure-init.ll
M llvm/test/CodeGen/Hexagon/cfi-late.ll
M llvm/test/CodeGen/Hexagon/cfi-offset.ll
M llvm/test/CodeGen/Hexagon/cfi_offset.ll
M llvm/test/CodeGen/Hexagon/cfi_offset2.ll
M llvm/test/CodeGen/Hexagon/check-dot-new.ll
M llvm/test/CodeGen/Hexagon/check-subregister-for-latency.ll
M llvm/test/CodeGen/Hexagon/checktabs.ll
M llvm/test/CodeGen/Hexagon/circ-load-isel.ll
M llvm/test/CodeGen/Hexagon/circ_ld.ll
M llvm/test/CodeGen/Hexagon/circ_ldd_bug.ll
M llvm/test/CodeGen/Hexagon/circ_ldw.ll
M llvm/test/CodeGen/Hexagon/circ_new.ll
M llvm/test/CodeGen/Hexagon/circ_pcr_assert.ll
M llvm/test/CodeGen/Hexagon/circ_st.ll
M llvm/test/CodeGen/Hexagon/clr_set_toggle.ll
M llvm/test/CodeGen/Hexagon/cmp-extend.ll
M llvm/test/CodeGen/Hexagon/cmp-promote.ll
M llvm/test/CodeGen/Hexagon/cmp-to-genreg.ll
M llvm/test/CodeGen/Hexagon/cmp-to-predreg.ll
M llvm/test/CodeGen/Hexagon/cmp_pred.ll
M llvm/test/CodeGen/Hexagon/cmp_pred2.ll
M llvm/test/CodeGen/Hexagon/cmp_pred_reg.ll
M llvm/test/CodeGen/Hexagon/cmpb-dec-imm.ll
M llvm/test/CodeGen/Hexagon/cmpb-eq.ll
M llvm/test/CodeGen/Hexagon/cmpb_gtu.ll
M llvm/test/CodeGen/Hexagon/cmpb_pred.ll
M llvm/test/CodeGen/Hexagon/cmpbeq.ll
M llvm/test/CodeGen/Hexagon/cmph-gtu.ll
M llvm/test/CodeGen/Hexagon/cmpy-round.ll
M llvm/test/CodeGen/Hexagon/coalesce_tfri.ll
M llvm/test/CodeGen/Hexagon/coalescing-hvx-across-calls.ll
M llvm/test/CodeGen/Hexagon/combine-imm-ext.ll
M llvm/test/CodeGen/Hexagon/combine-imm-ext2.ll
M llvm/test/CodeGen/Hexagon/combine.ll
M llvm/test/CodeGen/Hexagon/combine_ir.ll
M llvm/test/CodeGen/Hexagon/combine_lh.ll
M llvm/test/CodeGen/Hexagon/combiner-lts.ll
M llvm/test/CodeGen/Hexagon/common-gep-basic.ll
M llvm/test/CodeGen/Hexagon/common-gep-icm.ll
M llvm/test/CodeGen/Hexagon/common-gep-inbounds.ll
M llvm/test/CodeGen/Hexagon/common-global-addr.ll
M llvm/test/CodeGen/Hexagon/concat-vectors-legalize.ll
M llvm/test/CodeGen/Hexagon/const-combine.ll
M llvm/test/CodeGen/Hexagon/const-pool-tf.ll
M llvm/test/CodeGen/Hexagon/constant_compound.ll
M llvm/test/CodeGen/Hexagon/constext-call.ll
M llvm/test/CodeGen/Hexagon/constext-immstore.ll
M llvm/test/CodeGen/Hexagon/constext-replace.ll
M llvm/test/CodeGen/Hexagon/constp-andir-global.mir
M llvm/test/CodeGen/Hexagon/constp-clb.ll
M llvm/test/CodeGen/Hexagon/constp-combine-neg.ll
M llvm/test/CodeGen/Hexagon/constp-ctb.ll
M llvm/test/CodeGen/Hexagon/constp-extract.ll
M llvm/test/CodeGen/Hexagon/constp-rewrite-branches.ll
M llvm/test/CodeGen/Hexagon/constp-rseq.ll
M llvm/test/CodeGen/Hexagon/constp-vsplat.ll
M llvm/test/CodeGen/Hexagon/convert_const_i1_to_i8.ll
M llvm/test/CodeGen/Hexagon/convertdptoint.ll
M llvm/test/CodeGen/Hexagon/convertdptoll.ll
M llvm/test/CodeGen/Hexagon/convertsptoint.ll
M llvm/test/CodeGen/Hexagon/convertsptoll.ll
M llvm/test/CodeGen/Hexagon/copy-to-combine-const64.mir
M llvm/test/CodeGen/Hexagon/copy-to-combine-dbg.ll
M llvm/test/CodeGen/Hexagon/count_0s.ll
M llvm/test/CodeGen/Hexagon/countbits-basic.ll
M llvm/test/CodeGen/Hexagon/csr-func-usedef.ll
M llvm/test/CodeGen/Hexagon/csr_stub_calls_dwarf_frame_info.ll
M llvm/test/CodeGen/Hexagon/ctor.ll
M llvm/test/CodeGen/Hexagon/dadd.ll
M llvm/test/CodeGen/Hexagon/dag-combine-select-or0.ll
M llvm/test/CodeGen/Hexagon/dag-indexed.ll
M llvm/test/CodeGen/Hexagon/dccleana.ll
M llvm/test/CodeGen/Hexagon/dead-store-stack.ll
M llvm/test/CodeGen/Hexagon/dealloc-store.ll
M llvm/test/CodeGen/Hexagon/dealloc_return.ll
M llvm/test/CodeGen/Hexagon/debug-line_table_start.ll
M llvm/test/CodeGen/Hexagon/debug-prologue-loc.ll
M llvm/test/CodeGen/Hexagon/debug-prologue.ll
M llvm/test/CodeGen/Hexagon/def-undef-deps.ll
M llvm/test/CodeGen/Hexagon/default-align.ll
M llvm/test/CodeGen/Hexagon/deflate.ll
M llvm/test/CodeGen/Hexagon/df-min-max.ll
M llvm/test/CodeGen/Hexagon/dfp.ll
M llvm/test/CodeGen/Hexagon/dhry.ll
M llvm/test/CodeGen/Hexagon/dhry_proc8.ll
M llvm/test/CodeGen/Hexagon/dhry_stall.ll
M llvm/test/CodeGen/Hexagon/disable-const64.ll
M llvm/test/CodeGen/Hexagon/dmul.ll
M llvm/test/CodeGen/Hexagon/dont_rotate_pregs_at_O2.ll
M llvm/test/CodeGen/Hexagon/double.ll
M llvm/test/CodeGen/Hexagon/dsub.ll
M llvm/test/CodeGen/Hexagon/duplex-addi-global-imm.mir
M llvm/test/CodeGen/Hexagon/dwarf-discriminator.ll
M llvm/test/CodeGen/Hexagon/early-if-conv-lifetime.mir
M llvm/test/CodeGen/Hexagon/early-if-conversion-bug1.ll
M llvm/test/CodeGen/Hexagon/early-if-debug.mir
M llvm/test/CodeGen/Hexagon/early-if-low8.mir
M llvm/test/CodeGen/Hexagon/early-if-merge-loop.ll
M llvm/test/CodeGen/Hexagon/early-if-phi-i1.ll
M llvm/test/CodeGen/Hexagon/early-if-predicator.mir
M llvm/test/CodeGen/Hexagon/early-if-spare.ll
M llvm/test/CodeGen/Hexagon/early-if-vecpi.ll
M llvm/test/CodeGen/Hexagon/early-if-vecpred.ll
M llvm/test/CodeGen/Hexagon/early-if.ll
M llvm/test/CodeGen/Hexagon/eh_return-r30.ll
M llvm/test/CodeGen/Hexagon/eh_return.ll
M llvm/test/CodeGen/Hexagon/eh_save_restore.ll
M llvm/test/CodeGen/Hexagon/ehabi.ll
M llvm/test/CodeGen/Hexagon/eliminate-pred-spill.ll
M llvm/test/CodeGen/Hexagon/entryBB-isLoopHdr.ll
M llvm/test/CodeGen/Hexagon/expand-condsets-basic.ll
M llvm/test/CodeGen/Hexagon/expand-condsets-copy-lis.ll
M llvm/test/CodeGen/Hexagon/expand-condsets-dead-bad.ll
M llvm/test/CodeGen/Hexagon/expand-condsets-dead-pred.ll
M llvm/test/CodeGen/Hexagon/expand-condsets-dead.ll
M llvm/test/CodeGen/Hexagon/expand-condsets-def-undef.mir
M llvm/test/CodeGen/Hexagon/expand-condsets-extend.ll
M llvm/test/CodeGen/Hexagon/expand-condsets-imm.mir
M llvm/test/CodeGen/Hexagon/expand-condsets-impuse.mir
M llvm/test/CodeGen/Hexagon/expand-condsets-impuse2.mir
M llvm/test/CodeGen/Hexagon/expand-condsets-phys-reg.mir
M llvm/test/CodeGen/Hexagon/expand-condsets-pred-undef.ll
M llvm/test/CodeGen/Hexagon/expand-condsets-pred-undef2.ll
M llvm/test/CodeGen/Hexagon/expand-condsets-rm-reg.mir
M llvm/test/CodeGen/Hexagon/expand-condsets-rm-segment.ll
M llvm/test/CodeGen/Hexagon/expand-condsets-same-inputs.mir
M llvm/test/CodeGen/Hexagon/expand-condsets-undef2.ll
M llvm/test/CodeGen/Hexagon/expand-condsets-undefvni.ll
M llvm/test/CodeGen/Hexagon/expand-condsets.ll
M llvm/test/CodeGen/Hexagon/expand-copyw-undef.mir
M llvm/test/CodeGen/Hexagon/expand-vselect-kill.mir
M llvm/test/CodeGen/Hexagon/expand-vstorerw-undef.ll
M llvm/test/CodeGen/Hexagon/expand-vstorerw-undef2.ll
M llvm/test/CodeGen/Hexagon/expand-wselect.mir
M llvm/test/CodeGen/Hexagon/extload-combine.ll
M llvm/test/CodeGen/Hexagon/extract-basic.ll
M llvm/test/CodeGen/Hexagon/extract_0bits.ll
M llvm/test/CodeGen/Hexagon/extractu_0bits.ll
M llvm/test/CodeGen/Hexagon/fadd.ll
M llvm/test/CodeGen/Hexagon/fcmp.ll
M llvm/test/CodeGen/Hexagon/feature-compound.ll
M llvm/test/CodeGen/Hexagon/feature-memops.ll
M llvm/test/CodeGen/Hexagon/find-loop-instr.ll
M llvm/test/CodeGen/Hexagon/find-loop.ll
M llvm/test/CodeGen/Hexagon/fixed-spill-mutable.ll
M llvm/test/CodeGen/Hexagon/float-amode.ll
M llvm/test/CodeGen/Hexagon/float-bitcast.ll
M llvm/test/CodeGen/Hexagon/float-const64-G0.ll
M llvm/test/CodeGen/Hexagon/float-gen-cmpop.ll
M llvm/test/CodeGen/Hexagon/float.ll
M llvm/test/CodeGen/Hexagon/floatconvert-ieee-rnd-near.ll
M llvm/test/CodeGen/Hexagon/fltnvjump.ll
M llvm/test/CodeGen/Hexagon/fmadd.ll
M llvm/test/CodeGen/Hexagon/fminmax.ll
M llvm/test/CodeGen/Hexagon/fmul-v67.ll
M llvm/test/CodeGen/Hexagon/fmul.ll
M llvm/test/CodeGen/Hexagon/formal-args-i1.ll
M llvm/test/CodeGen/Hexagon/fp16.ll
M llvm/test/CodeGen/Hexagon/fp_latency.ll
M llvm/test/CodeGen/Hexagon/fpelim-basic.ll
M llvm/test/CodeGen/Hexagon/frame-offset-overflow.ll
M llvm/test/CodeGen/Hexagon/fsel.ll
M llvm/test/CodeGen/Hexagon/fsub.ll
M llvm/test/CodeGen/Hexagon/funnel-shift.ll
M llvm/test/CodeGen/Hexagon/fusedandshift.ll
M llvm/test/CodeGen/Hexagon/generate-const-buildvector32.ll
M llvm/test/CodeGen/Hexagon/getBlockAddress.ll
M llvm/test/CodeGen/Hexagon/global-const-gep.ll
M llvm/test/CodeGen/Hexagon/global-ctor-pcrel.ll
M llvm/test/CodeGen/Hexagon/global64bitbug.ll
M llvm/test/CodeGen/Hexagon/gp-plus-offset-load.ll
M llvm/test/CodeGen/Hexagon/gp-plus-offset-store.ll
M llvm/test/CodeGen/Hexagon/gp-rel.ll
M llvm/test/CodeGen/Hexagon/hasfp-crash1.ll
M llvm/test/CodeGen/Hexagon/hasfp-crash2.ll
M llvm/test/CodeGen/Hexagon/hello-world-v55.ll
M llvm/test/CodeGen/Hexagon/hello-world-v60.ll
M llvm/test/CodeGen/Hexagon/hexagon-cond-jumpr31.ll
M llvm/test/CodeGen/Hexagon/hexagon-copy-hoisting.mir
M llvm/test/CodeGen/Hexagon/hexagon-tfr-add.ll
M llvm/test/CodeGen/Hexagon/hexagon-verify-implicit-use.ll
M llvm/test/CodeGen/Hexagon/hexagon_cfi_offset.ll
M llvm/test/CodeGen/Hexagon/hidden-relocation.ll
M llvm/test/CodeGen/Hexagon/honor-optsize.ll
M llvm/test/CodeGen/Hexagon/hrc-stack-coloring.ll
M llvm/test/CodeGen/Hexagon/hvx-bitcast-v64i1.ll
M llvm/test/CodeGen/Hexagon/hvx-byte-store-double.ll
M llvm/test/CodeGen/Hexagon/hvx-byte-store.ll
M llvm/test/CodeGen/Hexagon/hvx-concat-lower.ll
M llvm/test/CodeGen/Hexagon/hvx-dbl-dual-output.ll
M llvm/test/CodeGen/Hexagon/hvx-double-vzero.ll
M llvm/test/CodeGen/Hexagon/hvx-dual-output.ll
M llvm/test/CodeGen/Hexagon/hvx-isel-vselect-v256i16.ll
M llvm/test/CodeGen/Hexagon/hvx-nontemporal.ll
M llvm/test/CodeGen/Hexagon/hvx-reuse-fi-base.ll
M llvm/test/CodeGen/Hexagon/hvx-vzero.ll
M llvm/test/CodeGen/Hexagon/hwloop-cleanup.ll
M llvm/test/CodeGen/Hexagon/hwloop-const.ll
M llvm/test/CodeGen/Hexagon/hwloop-crit-edge.ll
M llvm/test/CodeGen/Hexagon/hwloop-dbg-register.mir
M llvm/test/CodeGen/Hexagon/hwloop-dbg.ll
M llvm/test/CodeGen/Hexagon/hwloop-ice.ll
M llvm/test/CodeGen/Hexagon/hwloop-le.ll
M llvm/test/CodeGen/Hexagon/hwloop-long.ll
M llvm/test/CodeGen/Hexagon/hwloop-loop1.ll
M llvm/test/CodeGen/Hexagon/hwloop-lt.ll
M llvm/test/CodeGen/Hexagon/hwloop-lt1.ll
M llvm/test/CodeGen/Hexagon/hwloop-missed.ll
M llvm/test/CodeGen/Hexagon/hwloop-ne.ll
M llvm/test/CodeGen/Hexagon/hwloop-noreturn-call.ll
M llvm/test/CodeGen/Hexagon/hwloop-ph-deadcode.ll
M llvm/test/CodeGen/Hexagon/hwloop-phi-subreg.ll
M llvm/test/CodeGen/Hexagon/hwloop-pos-ivbump1.ll
M llvm/test/CodeGen/Hexagon/hwloop-preh.ll
M llvm/test/CodeGen/Hexagon/hwloop-preheader.ll
M llvm/test/CodeGen/Hexagon/hwloop-range.ll
M llvm/test/CodeGen/Hexagon/hwloop-recursion.ll
M llvm/test/CodeGen/Hexagon/hwloop-redef-imm.mir
M llvm/test/CodeGen/Hexagon/hwloop-subreg.ll
M llvm/test/CodeGen/Hexagon/hwloop-swap.ll
M llvm/test/CodeGen/Hexagon/hwloop-with-return-call.ll
M llvm/test/CodeGen/Hexagon/hwloop-wrap.ll
M llvm/test/CodeGen/Hexagon/hwloop-wrap2.ll
M llvm/test/CodeGen/Hexagon/hwloop1.ll
M llvm/test/CodeGen/Hexagon/hwloop2.ll
M llvm/test/CodeGen/Hexagon/hwloop3.ll
M llvm/test/CodeGen/Hexagon/hwloop4.ll
M llvm/test/CodeGen/Hexagon/hwloop5.ll
M llvm/test/CodeGen/Hexagon/hx_V6_lo_hi.ll
M llvm/test/CodeGen/Hexagon/i128-bitop.ll
M llvm/test/CodeGen/Hexagon/i16_VarArg.ll
M llvm/test/CodeGen/Hexagon/i1_VarArg.ll
M llvm/test/CodeGen/Hexagon/i8_VarArg.ll
M llvm/test/CodeGen/Hexagon/idxload-with-zero-offset.ll
M llvm/test/CodeGen/Hexagon/ifcvt-common-kill.mir
M llvm/test/CodeGen/Hexagon/ifcvt-diamond-bad.ll
M llvm/test/CodeGen/Hexagon/ifcvt-diamond-bug-2016-08-26.ll
M llvm/test/CodeGen/Hexagon/ifcvt-diamond-ret.mir
M llvm/test/CodeGen/Hexagon/ifcvt-edge-weight.ll
M llvm/test/CodeGen/Hexagon/ifcvt-impuse-livein.mir
M llvm/test/CodeGen/Hexagon/ifcvt-live-subreg.mir
M llvm/test/CodeGen/Hexagon/ifcvt-simple-bprob.ll
M llvm/test/CodeGen/Hexagon/ignore-terminal-mbb.ll
M llvm/test/CodeGen/Hexagon/imm-range-check.ll
M llvm/test/CodeGen/Hexagon/indirect-br.ll
M llvm/test/CodeGen/Hexagon/initial-exec.ll
M llvm/test/CodeGen/Hexagon/inline-asm-a.ll
M llvm/test/CodeGen/Hexagon/inline-asm-bad-constraint.ll
M llvm/test/CodeGen/Hexagon/inline-asm-clobber-lr.ll
M llvm/test/CodeGen/Hexagon/inline-asm-error.ll
M llvm/test/CodeGen/Hexagon/inline-asm-hexagon.ll
M llvm/test/CodeGen/Hexagon/inline-asm-i1.ll
M llvm/test/CodeGen/Hexagon/inline-asm-qv.ll
M llvm/test/CodeGen/Hexagon/inline-asm-vecpred128.ll
M llvm/test/CodeGen/Hexagon/inline-division-space.ll
M llvm/test/CodeGen/Hexagon/inline-division.ll
M llvm/test/CodeGen/Hexagon/insert-basic.ll
M llvm/test/CodeGen/Hexagon/insert.ll
M llvm/test/CodeGen/Hexagon/insert4.ll
M llvm/test/CodeGen/Hexagon/instrprof-custom.ll
M llvm/test/CodeGen/Hexagon/intrinsics-v60-alu.ll
M llvm/test/CodeGen/Hexagon/intrinsics-v60-misc.ll
M llvm/test/CodeGen/Hexagon/intrinsics-v60-permute.ll
M llvm/test/CodeGen/Hexagon/intrinsics-v60-shift.ll
M llvm/test/CodeGen/Hexagon/intrinsics-v60-vcmp.ll
M llvm/test/CodeGen/Hexagon/intrinsics-v60-vmpy-acc-128B.ll
M llvm/test/CodeGen/Hexagon/intrinsics-v60-vmpy-acc.ll
M llvm/test/CodeGen/Hexagon/intrinsics-v60-vmpy.ll
M llvm/test/CodeGen/Hexagon/intrinsics-v66.ll
M llvm/test/CodeGen/Hexagon/intrinsics-v67.ll
M llvm/test/CodeGen/Hexagon/intrinsics/alu32_alu.ll
M llvm/test/CodeGen/Hexagon/intrinsics/alu32_perm.ll
M llvm/test/CodeGen/Hexagon/intrinsics/atomic_load.ll
M llvm/test/CodeGen/Hexagon/intrinsics/atomic_store.ll
M llvm/test/CodeGen/Hexagon/intrinsics/atomicrmw_addsub_native.ll
M llvm/test/CodeGen/Hexagon/intrinsics/atomicrmw_bitwise_native.ll
M llvm/test/CodeGen/Hexagon/intrinsics/atomicrmw_nand.ll
M llvm/test/CodeGen/Hexagon/intrinsics/byte-store-double.ll
M llvm/test/CodeGen/Hexagon/intrinsics/byte-store.ll
M llvm/test/CodeGen/Hexagon/intrinsics/cr.ll
M llvm/test/CodeGen/Hexagon/intrinsics/fence.ll
M llvm/test/CodeGen/Hexagon/intrinsics/llsc_bundling.ll
M llvm/test/CodeGen/Hexagon/intrinsics/system_user.ll
M llvm/test/CodeGen/Hexagon/intrinsics/v65-gather-double.ll
M llvm/test/CodeGen/Hexagon/intrinsics/v65-gather.ll
M llvm/test/CodeGen/Hexagon/intrinsics/v65-scatter-double.ll
M llvm/test/CodeGen/Hexagon/intrinsics/v65-scatter-gather.ll
M llvm/test/CodeGen/Hexagon/intrinsics/v65-scatter.ll
M llvm/test/CodeGen/Hexagon/intrinsics/v65.ll
M llvm/test/CodeGen/Hexagon/intrinsics/xtype_alu.ll
M llvm/test/CodeGen/Hexagon/intrinsics/xtype_bit.ll
M llvm/test/CodeGen/Hexagon/intrinsics/xtype_complex.ll
M llvm/test/CodeGen/Hexagon/intrinsics/xtype_fp.ll
M llvm/test/CodeGen/Hexagon/intrinsics/xtype_mpy.ll
M llvm/test/CodeGen/Hexagon/intrinsics/xtype_perm.ll
M llvm/test/CodeGen/Hexagon/intrinsics/xtype_pred.ll
M llvm/test/CodeGen/Hexagon/intrinsics/xtype_shift.ll
M llvm/test/CodeGen/Hexagon/invalid-dotnew-attempt.mir
M llvm/test/CodeGen/Hexagon/invalid-memrefs.ll
M llvm/test/CodeGen/Hexagon/is-legal-void.ll
M llvm/test/CodeGen/Hexagon/isel-bitcast-v1i8-i8.ll
M llvm/test/CodeGen/Hexagon/isel-bitcast-v8i1-i8.ll
M llvm/test/CodeGen/Hexagon/isel-bitcast-v8i8-v4i16.ll
M llvm/test/CodeGen/Hexagon/isel-buildvector-v2f16.ll
M llvm/test/CodeGen/Hexagon/isel-combine-half.ll
M llvm/test/CodeGen/Hexagon/isel-dcfetch-intrin-map.ll
M llvm/test/CodeGen/Hexagon/isel-exti1.ll
M llvm/test/CodeGen/Hexagon/isel-extload-i1.ll
M llvm/test/CodeGen/Hexagon/isel-extract-pred.ll
M llvm/test/CodeGen/Hexagon/isel-global-offset-alignment.ll
M llvm/test/CodeGen/Hexagon/isel-hvx-pred-bitcast-order.ll
M llvm/test/CodeGen/Hexagon/isel-i1arg-crash.ll
M llvm/test/CodeGen/Hexagon/isel-insert-pred.ll
M llvm/test/CodeGen/Hexagon/isel-memory-vNi1.ll
M llvm/test/CodeGen/Hexagon/isel-minmax-v64bit.ll
M llvm/test/CodeGen/Hexagon/isel-op-zext-i1.ll
M llvm/test/CodeGen/Hexagon/isel-prefer.ll
M llvm/test/CodeGen/Hexagon/isel-select-v4i8.ll
M llvm/test/CodeGen/Hexagon/isel-setcc-i1.ll
M llvm/test/CodeGen/Hexagon/isel-setcc-legalize-loop.ll
M llvm/test/CodeGen/Hexagon/isel-simplify-crash.ll
M llvm/test/CodeGen/Hexagon/isel-splat-vector-crash.ll
M llvm/test/CodeGen/Hexagon/isel-splat-vector-dag-crash.ll
M llvm/test/CodeGen/Hexagon/isel-splat-vector-neg-i8.ll
M llvm/test/CodeGen/Hexagon/isel-store-rr-i1.ll
M llvm/test/CodeGen/Hexagon/isel-uaddo-1-i64.ll
M llvm/test/CodeGen/Hexagon/isel-uaddo-1.ll
M llvm/test/CodeGen/Hexagon/isel-v3i16.ll
M llvm/test/CodeGen/Hexagon/isel-vacopy.ll
M llvm/test/CodeGen/Hexagon/isel-vlsr-v2i16.ll
M llvm/test/CodeGen/Hexagon/isel-vselect-v4i8.ll
M llvm/test/CodeGen/Hexagon/isel-zext-vNi1.ll
M llvm/test/CodeGen/Hexagon/isel/cmp-i1.ll
M llvm/test/CodeGen/Hexagon/isel/cmp-v2i1.ll
M llvm/test/CodeGen/Hexagon/isel/cmp-v4i1.ll
M llvm/test/CodeGen/Hexagon/isel/cmp-v8i1.ll
M llvm/test/CodeGen/Hexagon/isel/extload-i1.ll
M llvm/test/CodeGen/Hexagon/isel/logical.ll
M llvm/test/CodeGen/Hexagon/isel/mulh-scalar.ll
M llvm/test/CodeGen/Hexagon/isel/select-i1.ll
M llvm/test/CodeGen/Hexagon/isel/select-vec.ll
M llvm/test/CodeGen/Hexagon/isel/trunc-vNi1.ll
M llvm/test/CodeGen/Hexagon/jump-prob.ll
M llvm/test/CodeGen/Hexagon/jump-table-g0.ll
M llvm/test/CodeGen/Hexagon/jump-table-isel.ll
M llvm/test/CodeGen/Hexagon/large-number-of-preds.ll
M llvm/test/CodeGen/Hexagon/late-pred.ll
M llvm/test/CodeGen/Hexagon/late_instr.ll
M llvm/test/CodeGen/Hexagon/lcomm.ll
M llvm/test/CodeGen/Hexagon/ldst_vector_offset.ll
M llvm/test/CodeGen/Hexagon/livephysregs-add-pristines.mir
M llvm/test/CodeGen/Hexagon/livephysregs-lane-masks.mir
M llvm/test/CodeGen/Hexagon/livephysregs-lane-masks2.mir
M llvm/test/CodeGen/Hexagon/livephysregs-regmask-clobber.mir
M llvm/test/CodeGen/Hexagon/load-abs.ll
M llvm/test/CodeGen/Hexagon/load-const-extend-opt.ll
M llvm/test/CodeGen/Hexagon/load-widen.ll
M llvm/test/CodeGen/Hexagon/loadi1-G0.ll
M llvm/test/CodeGen/Hexagon/loadi1-v4-G0.ll
M llvm/test/CodeGen/Hexagon/loadi1-v4.ll
M llvm/test/CodeGen/Hexagon/loadi1.ll
M llvm/test/CodeGen/Hexagon/local-exec.ll
M llvm/test/CodeGen/Hexagon/loop-balign.ll
M llvm/test/CodeGen/Hexagon/loop-prefetch.ll
M llvm/test/CodeGen/Hexagon/loop-rotate-bug.ll
M llvm/test/CodeGen/Hexagon/loop-rotate-liveins.ll
M llvm/test/CodeGen/Hexagon/loop_align_count.ll
M llvm/test/CodeGen/Hexagon/loop_align_count.mir
M llvm/test/CodeGen/Hexagon/loop_correctness.ll
M llvm/test/CodeGen/Hexagon/lower-extract-subvector.ll
M llvm/test/CodeGen/Hexagon/lower-i1.ll
M llvm/test/CodeGen/Hexagon/lsr-post-inc-cross-use-offsets.ll
M llvm/test/CodeGen/Hexagon/lsr-postinc-nested-loop.ll
M llvm/test/CodeGen/Hexagon/machine-cp-clobbers.mir
M llvm/test/CodeGen/Hexagon/machine-sink-float-usr.mir
M llvm/test/CodeGen/Hexagon/machine-sink.ll
M llvm/test/CodeGen/Hexagon/macint.ll
M llvm/test/CodeGen/Hexagon/maddsubu.ll
M llvm/test/CodeGen/Hexagon/mapped_intrinsics.ll
M llvm/test/CodeGen/Hexagon/mask-instr.ll
M llvm/test/CodeGen/Hexagon/maxd.ll
M llvm/test/CodeGen/Hexagon/maxh.ll
M llvm/test/CodeGen/Hexagon/maxud.ll
M llvm/test/CodeGen/Hexagon/maxuw.ll
M llvm/test/CodeGen/Hexagon/maxw.ll
M llvm/test/CodeGen/Hexagon/mem-load-circ.ll
M llvm/test/CodeGen/Hexagon/mem-ops-sub.ll
M llvm/test/CodeGen/Hexagon/mem-ops-sub_01.ll
M llvm/test/CodeGen/Hexagon/mem-ops-sub_i16.ll
M llvm/test/CodeGen/Hexagon/mem-ops-sub_i16_01.ll
M llvm/test/CodeGen/Hexagon/memcmp.ll
M llvm/test/CodeGen/Hexagon/memcpy-likely-aligned.ll
M llvm/test/CodeGen/Hexagon/memcpy-memmove-inline.ll
M llvm/test/CodeGen/Hexagon/memop-bit18.ll
M llvm/test/CodeGen/Hexagon/memops-stack.ll
M llvm/test/CodeGen/Hexagon/memops.ll
M llvm/test/CodeGen/Hexagon/memops1.ll
M llvm/test/CodeGen/Hexagon/memops2.ll
M llvm/test/CodeGen/Hexagon/memops3.ll
M llvm/test/CodeGen/Hexagon/memops_global.ll
M llvm/test/CodeGen/Hexagon/memset-inline.ll
M llvm/test/CodeGen/Hexagon/mind.ll
M llvm/test/CodeGen/Hexagon/minu-zext-16.ll
M llvm/test/CodeGen/Hexagon/minu-zext-8.ll
M llvm/test/CodeGen/Hexagon/minud.ll
M llvm/test/CodeGen/Hexagon/minuw.ll
M llvm/test/CodeGen/Hexagon/minw.ll
M llvm/test/CodeGen/Hexagon/mipi-double-small.ll
M llvm/test/CodeGen/Hexagon/misaligned-access.ll
M llvm/test/CodeGen/Hexagon/misaligned-const-load.ll
M llvm/test/CodeGen/Hexagon/misaligned-const-store.ll
M llvm/test/CodeGen/Hexagon/misaligned_double_vector_store_not_fast.ll
M llvm/test/CodeGen/Hexagon/misched-top-rptracker-sync.ll
M llvm/test/CodeGen/Hexagon/mnaci_v66.ll
M llvm/test/CodeGen/Hexagon/mpy.ll
M llvm/test/CodeGen/Hexagon/mpysin-imm.ll
M llvm/test/CodeGen/Hexagon/mul64-sext.ll
M llvm/test/CodeGen/Hexagon/mul64.ll
M llvm/test/CodeGen/Hexagon/mulh.ll
M llvm/test/CodeGen/Hexagon/mulhs.ll
M llvm/test/CodeGen/Hexagon/multi-cycle.ll
M llvm/test/CodeGen/Hexagon/mux-kill1.mir
M llvm/test/CodeGen/Hexagon/mux-kill2.mir
M llvm/test/CodeGen/Hexagon/mux-kill3.mir
M llvm/test/CodeGen/Hexagon/mux-undef.ll
M llvm/test/CodeGen/Hexagon/muxii-bug.ll
M llvm/test/CodeGen/Hexagon/muxii-crash.ll
M llvm/test/CodeGen/Hexagon/namedreg.ll
M llvm/test/CodeGen/Hexagon/nbench1.ll
M llvm/test/CodeGen/Hexagon/neg.ll
M llvm/test/CodeGen/Hexagon/newify-crash.ll
M llvm/test/CodeGen/Hexagon/newvalueSameReg.ll
M llvm/test/CodeGen/Hexagon/newvaluejump-c4.mir
M llvm/test/CodeGen/Hexagon/newvaluejump-float.mir
M llvm/test/CodeGen/Hexagon/newvaluejump-kill.ll
M llvm/test/CodeGen/Hexagon/newvaluejump-kill2.mir
M llvm/test/CodeGen/Hexagon/newvaluejump-postinc.ll
M llvm/test/CodeGen/Hexagon/newvaluejump-solo.mir
M llvm/test/CodeGen/Hexagon/newvaluejump.ll
M llvm/test/CodeGen/Hexagon/newvaluejump2.ll
M llvm/test/CodeGen/Hexagon/newvaluejump3.ll
M llvm/test/CodeGen/Hexagon/newvaluestore.ll
M llvm/test/CodeGen/Hexagon/newvaluestore2.ll
M llvm/test/CodeGen/Hexagon/no-falign-function-for-size.ll
M llvm/test/CodeGen/Hexagon/no-packets-gather.ll
M llvm/test/CodeGen/Hexagon/no-packets.ll
M llvm/test/CodeGen/Hexagon/noFalignAfterCallAtO2.ll
M llvm/test/CodeGen/Hexagon/no_struct_element.ll
M llvm/test/CodeGen/Hexagon/noreturn-noepilog.ll
M llvm/test/CodeGen/Hexagon/noreturn-notail.ll
M llvm/test/CodeGen/Hexagon/not-op.ll
M llvm/test/CodeGen/Hexagon/notcheap.ll
M llvm/test/CodeGen/Hexagon/ntstbit.ll
M llvm/test/CodeGen/Hexagon/nv_store_vec.ll
M llvm/test/CodeGen/Hexagon/opt-addr-mode-subreg-use.ll
M llvm/test/CodeGen/Hexagon/opt-addr-mode.ll
M llvm/test/CodeGen/Hexagon/opt-fneg.ll
M llvm/test/CodeGen/Hexagon/opt-glob-addrs-000.ll
M llvm/test/CodeGen/Hexagon/opt-glob-addrs-001.ll
M llvm/test/CodeGen/Hexagon/opt-glob-addrs-003.ll
M llvm/test/CodeGen/Hexagon/opt-sext-intrinsics.ll
M llvm/test/CodeGen/Hexagon/opt-spill-volatile.ll
M llvm/test/CodeGen/Hexagon/optimize-mux.ll
M llvm/test/CodeGen/Hexagon/order-stack-object.ll
M llvm/test/CodeGen/Hexagon/packed-store.ll
M llvm/test/CodeGen/Hexagon/packetize-allocframe.ll
M llvm/test/CodeGen/Hexagon/packetize-call-r29.ll
M llvm/test/CodeGen/Hexagon/packetize-cfi-location.ll
M llvm/test/CodeGen/Hexagon/packetize-dccleana.mir
M llvm/test/CodeGen/Hexagon/packetize-debug-loc.mir
M llvm/test/CodeGen/Hexagon/packetize-frame-setup-destroy.mir
M llvm/test/CodeGen/Hexagon/packetize-impdef-1.ll
M llvm/test/CodeGen/Hexagon/packetize-impdef.ll
M llvm/test/CodeGen/Hexagon/packetize-l2fetch.ll
M llvm/test/CodeGen/Hexagon/packetize-load-store-aliasing.mir
M llvm/test/CodeGen/Hexagon/packetize-nvj-no-prune.mir
M llvm/test/CodeGen/Hexagon/packetize-nvstore.mir
M llvm/test/CodeGen/Hexagon/packetize-return-arg.ll
M llvm/test/CodeGen/Hexagon/packetize-tailcall-arg.ll
M llvm/test/CodeGen/Hexagon/packetize-update-offset.mir
M llvm/test/CodeGen/Hexagon/packetize-vgather-slot01.mir
M llvm/test/CodeGen/Hexagon/packetize-volatiles.ll
M llvm/test/CodeGen/Hexagon/packetize_cond_inst.ll
M llvm/test/CodeGen/Hexagon/packetizer-resources.ll
M llvm/test/CodeGen/Hexagon/partword-cmpxchg.ll
M llvm/test/CodeGen/Hexagon/peephole-kill-flags.ll
M llvm/test/CodeGen/Hexagon/peephole-move-phi.ll
M llvm/test/CodeGen/Hexagon/peephole-op-swap.ll
M llvm/test/CodeGen/Hexagon/phi-elim.ll
M llvm/test/CodeGen/Hexagon/pic-jumptables.ll
M llvm/test/CodeGen/Hexagon/pic-local.ll
M llvm/test/CodeGen/Hexagon/pipeliner/swp-phi-start.mir
M llvm/test/CodeGen/Hexagon/plt-rel.ll
M llvm/test/CodeGen/Hexagon/pmpyw_acc.ll
M llvm/test/CodeGen/Hexagon/post-inc-aa-metadata.ll
M llvm/test/CodeGen/Hexagon/post-ra-kill-update.mir
M llvm/test/CodeGen/Hexagon/postinc-aggr-dag-cycle.ll
M llvm/test/CodeGen/Hexagon/postinc-baseoffset.mir
M llvm/test/CodeGen/Hexagon/postinc-load.ll
M llvm/test/CodeGen/Hexagon/postinc-offset.ll
M llvm/test/CodeGen/Hexagon/postinc-order.ll
M llvm/test/CodeGen/Hexagon/postinc-store.ll
M llvm/test/CodeGen/Hexagon/postra-sink-subregs.mir
M llvm/test/CodeGen/Hexagon/pred-absolute-store.ll
M llvm/test/CodeGen/Hexagon/pred-gp.ll
M llvm/test/CodeGen/Hexagon/pred-instrs.ll
M llvm/test/CodeGen/Hexagon/pred-sched.ll
M llvm/test/CodeGen/Hexagon/pred-simp.ll
M llvm/test/CodeGen/Hexagon/pred-taken-jump.ll
M llvm/test/CodeGen/Hexagon/predicate-copy.ll
M llvm/test/CodeGen/Hexagon/predicate-logical.ll
M llvm/test/CodeGen/Hexagon/predicate-rcmp.ll
M llvm/test/CodeGen/Hexagon/predtfrs.ll
M llvm/test/CodeGen/Hexagon/prefetch-intr.ll
M llvm/test/CodeGen/Hexagon/prefetch-shuffler-ice.ll
M llvm/test/CodeGen/Hexagon/prob-types.ll
M llvm/test/CodeGen/Hexagon/prof-early-if.ll
M llvm/test/CodeGen/Hexagon/propagate-vcombine.ll
M llvm/test/CodeGen/Hexagon/ps_call_nr.ll
M llvm/test/CodeGen/Hexagon/rdf-copy-renamable-reserved.mir
M llvm/test/CodeGen/Hexagon/rdf-copy-undef.ll
M llvm/test/CodeGen/Hexagon/rdf-copy-undef2.ll
M llvm/test/CodeGen/Hexagon/rdf-copy.ll
M llvm/test/CodeGen/Hexagon/rdf-cover-use.ll
M llvm/test/CodeGen/Hexagon/rdf-dce-double-cover.mir
M llvm/test/CodeGen/Hexagon/rdf-dead-loop.ll
M llvm/test/CodeGen/Hexagon/rdf-def-mask.ll
M llvm/test/CodeGen/Hexagon/rdf-ehlabel-live.mir
M llvm/test/CodeGen/Hexagon/rdf-extra-livein.ll
M llvm/test/CodeGen/Hexagon/rdf-filter-defs.ll
M llvm/test/CodeGen/Hexagon/rdf-ignore-undef.ll
M llvm/test/CodeGen/Hexagon/rdf-inline-asm-fixed.ll
M llvm/test/CodeGen/Hexagon/rdf-inline-asm.ll
M llvm/test/CodeGen/Hexagon/rdf-kill-last-op.ll
M llvm/test/CodeGen/Hexagon/rdf-multiple-phis-up.ll
M llvm/test/CodeGen/Hexagon/rdf-phi-shadows.ll
M llvm/test/CodeGen/Hexagon/rdf-phi-up.ll
M llvm/test/CodeGen/Hexagon/rdf-reset-kills.ll
M llvm/test/CodeGen/Hexagon/readcyclecounter.ll
M llvm/test/CodeGen/Hexagon/readsteadycounter.ll
M llvm/test/CodeGen/Hexagon/redundant-branching2.ll
M llvm/test/CodeGen/Hexagon/reg-by-name.ll
M llvm/test/CodeGen/Hexagon/reg-eq-cmp.ll
M llvm/test/CodeGen/Hexagon/reg-scav-imp-use-dbl-vec.ll
M llvm/test/CodeGen/Hexagon/reg-scavengebug-2.ll
M llvm/test/CodeGen/Hexagon/reg-scavengebug-3.ll
M llvm/test/CodeGen/Hexagon/reg-scavengebug-4.ll
M llvm/test/CodeGen/Hexagon/reg-scavengebug-5.ll
M llvm/test/CodeGen/Hexagon/reg-scavengebug.ll
M llvm/test/CodeGen/Hexagon/reg-scavenger-valid-slot.ll
M llvm/test/CodeGen/Hexagon/reg_seq.ll
M llvm/test/CodeGen/Hexagon/regalloc-bad-undef.mir
M llvm/test/CodeGen/Hexagon/regalloc-block-overlap.ll
M llvm/test/CodeGen/Hexagon/regalloc-coal-extend-short-subrange.mir
M llvm/test/CodeGen/Hexagon/regalloc-coal-fullreg-undef.mir
M llvm/test/CodeGen/Hexagon/regalloc-liveout-undef.mir
M llvm/test/CodeGen/Hexagon/registerscav-missing-spill-slot.ll
M llvm/test/CodeGen/Hexagon/registerscavenger-fail1.ll
M llvm/test/CodeGen/Hexagon/regp-underflow.ll
M llvm/test/CodeGen/Hexagon/regscav-wrong-super-sub-regs.ll
M llvm/test/CodeGen/Hexagon/regscavenger_fail_hwloop.ll
M llvm/test/CodeGen/Hexagon/regscavengerbug.ll
M llvm/test/CodeGen/Hexagon/remove-endloop.ll
M llvm/test/CodeGen/Hexagon/remove_lsr.ll
M llvm/test/CodeGen/Hexagon/restore-single-reg.ll
M llvm/test/CodeGen/Hexagon/ret-struct-by-val.ll
M llvm/test/CodeGen/Hexagon/retval-redundant-copy.ll
M llvm/test/CodeGen/Hexagon/rotate-multi.ll
M llvm/test/CodeGen/Hexagon/rotate.ll
M llvm/test/CodeGen/Hexagon/rotl-i64.ll
M llvm/test/CodeGen/Hexagon/save-kill-csr.ll
M llvm/test/CodeGen/Hexagon/save-regs-thresh.ll
M llvm/test/CodeGen/Hexagon/sdata-array.ll
M llvm/test/CodeGen/Hexagon/sdata-basic.ll
M llvm/test/CodeGen/Hexagon/sdata-expand-const.ll
M llvm/test/CodeGen/Hexagon/sdata-explicit-section.ll
M llvm/test/CodeGen/Hexagon/sdata-load-size.ll
M llvm/test/CodeGen/Hexagon/sdata-opaque-type.ll
M llvm/test/CodeGen/Hexagon/sdata-stack-guard.ll
M llvm/test/CodeGen/Hexagon/sdiv-minsigned.ll
M llvm/test/CodeGen/Hexagon/sdr-global.mir
M llvm/test/CodeGen/Hexagon/sdr-nosplit1.ll
M llvm/test/CodeGen/Hexagon/sdr-reg-profit.ll
M llvm/test/CodeGen/Hexagon/sdr-shr32.ll
M llvm/test/CodeGen/Hexagon/section_7275.ll
M llvm/test/CodeGen/Hexagon/select-instr-align.ll
M llvm/test/CodeGen/Hexagon/select-vector-pred.ll
M llvm/test/CodeGen/Hexagon/setmemrefs.ll
M llvm/test/CodeGen/Hexagon/sf-min-max.ll
M llvm/test/CodeGen/Hexagon/sffms.ll
M llvm/test/CodeGen/Hexagon/sfmin_dce.ll
M llvm/test/CodeGen/Hexagon/sfmpyacc_scale.ll
M llvm/test/CodeGen/Hexagon/signed_immediates.ll
M llvm/test/CodeGen/Hexagon/signext-inreg.ll
M llvm/test/CodeGen/Hexagon/simpletailcall.ll
M llvm/test/CodeGen/Hexagon/simplify64bitops_7223.ll
M llvm/test/CodeGen/Hexagon/spill-vector-alignment.mir
M llvm/test/CodeGen/Hexagon/split-const32-const64.ll
M llvm/test/CodeGen/Hexagon/split-muxii.ll
M llvm/test/CodeGen/Hexagon/split-vecpred.ll
M llvm/test/CodeGen/Hexagon/stack-align-reset.ll
M llvm/test/CodeGen/Hexagon/stack-align1.ll
M llvm/test/CodeGen/Hexagon/stack-align2.ll
M llvm/test/CodeGen/Hexagon/stack-alloca1.ll
M llvm/test/CodeGen/Hexagon/stack-alloca2.ll
M llvm/test/CodeGen/Hexagon/stack-guard-acceptable-type.ll
M llvm/test/CodeGen/Hexagon/static.ll
M llvm/test/CodeGen/Hexagon/store-AbsSet.ll
M llvm/test/CodeGen/Hexagon/store-abs.ll
M llvm/test/CodeGen/Hexagon/store-const-extend-opt.ll
M llvm/test/CodeGen/Hexagon/store-constant.ll
M llvm/test/CodeGen/Hexagon/store-imm-amode.ll
M llvm/test/CodeGen/Hexagon/store-imm-byte.ll
M llvm/test/CodeGen/Hexagon/store-imm-halword.ll
M llvm/test/CodeGen/Hexagon/store-imm-large-stack.ll
M llvm/test/CodeGen/Hexagon/store-imm-stack-object.ll
M llvm/test/CodeGen/Hexagon/store-imm-word.ll
M llvm/test/CodeGen/Hexagon/store-shift.ll
M llvm/test/CodeGen/Hexagon/store-vector-pred.ll
M llvm/test/CodeGen/Hexagon/store-widen-aliased-load.ll
M llvm/test/CodeGen/Hexagon/store-widen-negv.ll
M llvm/test/CodeGen/Hexagon/store-widen-negv2.ll
M llvm/test/CodeGen/Hexagon/store-widen-subreg.ll
M llvm/test/CodeGen/Hexagon/store-widen.ll
M llvm/test/CodeGen/Hexagon/store1.ll
M llvm/test/CodeGen/Hexagon/store_abs.ll
M llvm/test/CodeGen/Hexagon/storerd-io-over-rr.ll
M llvm/test/CodeGen/Hexagon/storerinewabs.ll
M llvm/test/CodeGen/Hexagon/struct-const.ll
M llvm/test/CodeGen/Hexagon/struct_args.ll
M llvm/test/CodeGen/Hexagon/struct_args_large.ll
M llvm/test/CodeGen/Hexagon/struct_copy.ll
M llvm/test/CodeGen/Hexagon/struct_copy_sched_r16.ll
M llvm/test/CodeGen/Hexagon/sub-add.ll
M llvm/test/CodeGen/Hexagon/subh-shifted.ll
M llvm/test/CodeGen/Hexagon/subh.ll
M llvm/test/CodeGen/Hexagon/subi-asl.ll
M llvm/test/CodeGen/Hexagon/swp-art-deps-rec.ll
M llvm/test/CodeGen/Hexagon/swp-bad-sched.ll
M llvm/test/CodeGen/Hexagon/swp-badorder.ll
M llvm/test/CodeGen/Hexagon/swp-carried-1.ll
M llvm/test/CodeGen/Hexagon/swp-chain-refs.ll
M llvm/test/CodeGen/Hexagon/swp-change-dep-cycle.ll
M llvm/test/CodeGen/Hexagon/swp-change-dep.ll
M llvm/test/CodeGen/Hexagon/swp-change-dep1.ll
M llvm/test/CodeGen/Hexagon/swp-change-deps.ll
M llvm/test/CodeGen/Hexagon/swp-check-offset.ll
M llvm/test/CodeGen/Hexagon/swp-const-tc.ll
M llvm/test/CodeGen/Hexagon/swp-const-tc1.ll
M llvm/test/CodeGen/Hexagon/swp-const-tc2.ll
M llvm/test/CodeGen/Hexagon/swp-const-tc3.ll
M llvm/test/CodeGen/Hexagon/swp-conv3x3-nested.ll
M llvm/test/CodeGen/Hexagon/swp-copytophi-dag.ll
M llvm/test/CodeGen/Hexagon/swp-crash-iter.ll
M llvm/test/CodeGen/Hexagon/swp-cse-phi.ll
M llvm/test/CodeGen/Hexagon/swp-dag-phi.ll
M llvm/test/CodeGen/Hexagon/swp-dag-phi1.ll
M llvm/test/CodeGen/Hexagon/swp-dead-regseq.ll
M llvm/test/CodeGen/Hexagon/swp-dep-neg-offset.ll
M llvm/test/CodeGen/Hexagon/swp-disable-Os.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-numphis.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-phi10.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-phi12.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-phi13.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-phi2.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-phi4.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-phi5.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-phi6.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-phi7.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-phi8.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-phi9.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-reuse-1.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-reuse.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-reuse2.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-reuse3.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-reuse4.ll
M llvm/test/CodeGen/Hexagon/swp-exit-fixup.ll
M llvm/test/CodeGen/Hexagon/swp-fix-last-use.ll
M llvm/test/CodeGen/Hexagon/swp-fix-last-use1.ll
M llvm/test/CodeGen/Hexagon/swp-intreglow8.ll
M llvm/test/CodeGen/Hexagon/swp-kernel-last-use.ll
M llvm/test/CodeGen/Hexagon/swp-kernel-phi1.ll
M llvm/test/CodeGen/Hexagon/swp-large-rec.ll
M llvm/test/CodeGen/Hexagon/swp-listen-loop3.ll
M llvm/test/CodeGen/Hexagon/swp-loop-carried-crash.ll
M llvm/test/CodeGen/Hexagon/swp-loop-carried-unknown.ll
M llvm/test/CodeGen/Hexagon/swp-loop-carried.ll
M llvm/test/CodeGen/Hexagon/swp-loopval.ll
M llvm/test/CodeGen/Hexagon/swp-lots-deps.ll
M llvm/test/CodeGen/Hexagon/swp-matmul-bitext.ll
M llvm/test/CodeGen/Hexagon/swp-max-stage3.ll
M llvm/test/CodeGen/Hexagon/swp-max.ll
M llvm/test/CodeGen/Hexagon/swp-maxstart.ll
M llvm/test/CodeGen/Hexagon/swp-memrefs-epilog.ll
M llvm/test/CodeGen/Hexagon/swp-more-phi.ll
M llvm/test/CodeGen/Hexagon/swp-multi-loops.ll
M llvm/test/CodeGen/Hexagon/swp-multi-phi-refs.ll
M llvm/test/CodeGen/Hexagon/swp-new-phi.ll
M llvm/test/CodeGen/Hexagon/swp-node-order.ll
M llvm/test/CodeGen/Hexagon/swp-order-carried.ll
M llvm/test/CodeGen/Hexagon/swp-order-copies.ll
M llvm/test/CodeGen/Hexagon/swp-order-deps1.ll
M llvm/test/CodeGen/Hexagon/swp-order-deps3.ll
M llvm/test/CodeGen/Hexagon/swp-order-deps4.ll
M llvm/test/CodeGen/Hexagon/swp-order-deps5.ll
M llvm/test/CodeGen/Hexagon/swp-order-deps6.ll
M llvm/test/CodeGen/Hexagon/swp-order-deps7.ll
M llvm/test/CodeGen/Hexagon/swp-order-prec.ll
M llvm/test/CodeGen/Hexagon/swp-order.ll
M llvm/test/CodeGen/Hexagon/swp-order1.ll
M llvm/test/CodeGen/Hexagon/swp-phi-ch-offset.ll
M llvm/test/CodeGen/Hexagon/swp-phi-chains.ll
M llvm/test/CodeGen/Hexagon/swp-phi-def-use.ll
M llvm/test/CodeGen/Hexagon/swp-phi-dep.ll
M llvm/test/CodeGen/Hexagon/swp-phi-dep1.ll
M llvm/test/CodeGen/Hexagon/swp-phi-order.ll
M llvm/test/CodeGen/Hexagon/swp-phi-ref.ll
M llvm/test/CodeGen/Hexagon/swp-phi-ref1.ll
M llvm/test/CodeGen/Hexagon/swp-phi-start.ll
M llvm/test/CodeGen/Hexagon/swp-phi.ll
M llvm/test/CodeGen/Hexagon/swp-physreg.ll
M llvm/test/CodeGen/Hexagon/swp-pragma-disable-bug.ll
M llvm/test/CodeGen/Hexagon/swp-pragma-disable.ii
M llvm/test/CodeGen/Hexagon/swp-pragma-initiation-interval-reset.ii
M llvm/test/CodeGen/Hexagon/swp-pragma-initiation-interval.ii
M llvm/test/CodeGen/Hexagon/swp-prolog-phi.ll
M llvm/test/CodeGen/Hexagon/swp-prolog-phi4.ll
M llvm/test/CodeGen/Hexagon/swp-regseq.ll
M llvm/test/CodeGen/Hexagon/swp-remove-dep-ice.ll
M llvm/test/CodeGen/Hexagon/swp-rename-dead-phi.ll
M llvm/test/CodeGen/Hexagon/swp-rename.ll
M llvm/test/CodeGen/Hexagon/swp-replace-uses1.ll
M llvm/test/CodeGen/Hexagon/swp-resmii-1.ll
M llvm/test/CodeGen/Hexagon/swp-resmii.ll
M llvm/test/CodeGen/Hexagon/swp-reuse-phi-1.ll
M llvm/test/CodeGen/Hexagon/swp-reuse-phi-2.ll
M llvm/test/CodeGen/Hexagon/swp-reuse-phi-4.ll
M llvm/test/CodeGen/Hexagon/swp-reuse-phi-5.ll
M llvm/test/CodeGen/Hexagon/swp-reuse-phi-6.ll
M llvm/test/CodeGen/Hexagon/swp-reuse-phi.ll
M llvm/test/CodeGen/Hexagon/swp-sigma.ll
M llvm/test/CodeGen/Hexagon/swp-stages.ll
M llvm/test/CodeGen/Hexagon/swp-stages3.ll
M llvm/test/CodeGen/Hexagon/swp-stages4.ll
M llvm/test/CodeGen/Hexagon/swp-stages5.ll
M llvm/test/CodeGen/Hexagon/swp-subreg.ll
M llvm/test/CodeGen/Hexagon/swp-swap.ll
M llvm/test/CodeGen/Hexagon/swp-tfri.ll
M llvm/test/CodeGen/Hexagon/swp-vect-dotprod.ll
M llvm/test/CodeGen/Hexagon/swp-vmult.ll
M llvm/test/CodeGen/Hexagon/swp-vsum.ll
M llvm/test/CodeGen/Hexagon/swp-ws-dead-def.mir
M llvm/test/CodeGen/Hexagon/swp-ws-exp-dbg.mir
M llvm/test/CodeGen/Hexagon/swp-ws-exp.mir
M llvm/test/CodeGen/Hexagon/swp-ws-fail-0.mir
M llvm/test/CodeGen/Hexagon/swp-ws-fail-1.mir
M llvm/test/CodeGen/Hexagon/swp-ws-fail-2.mir
M llvm/test/CodeGen/Hexagon/swp-ws-fail-3.mir
M llvm/test/CodeGen/Hexagon/swp-ws-live-intervals.mir
M llvm/test/CodeGen/Hexagon/swp-ws-meta-instr.mir
M llvm/test/CodeGen/Hexagon/swp-ws-phi.mir
M llvm/test/CodeGen/Hexagon/swp-ws-pragma-initiation-interval-fail.mir
M llvm/test/CodeGen/Hexagon/swp-ws-resource-reserve.mir
M llvm/test/CodeGen/Hexagon/swp-ws-sqrt.mir
M llvm/test/CodeGen/Hexagon/swp-ws-stall-cycle.mir
M llvm/test/CodeGen/Hexagon/swp-ws-weak-dep.mir
M llvm/test/CodeGen/Hexagon/swp-ws-zero-cost.mir
M llvm/test/CodeGen/Hexagon/swp-xxh2.ll
M llvm/test/CodeGen/Hexagon/tail-call-mem-intrinsics.ll
M llvm/test/CodeGen/Hexagon/tail-call-trunc.ll
M llvm/test/CodeGen/Hexagon/tail-dup-subreg-abort.ll
M llvm/test/CodeGen/Hexagon/tail-dup-subreg-map.ll
M llvm/test/CodeGen/Hexagon/tailcall_fastcc_ccc.ll
M llvm/test/CodeGen/Hexagon/target-flag-ext.mir
M llvm/test/CodeGen/Hexagon/tc_duplex.ll
M llvm/test/CodeGen/Hexagon/tc_sched.ll
M llvm/test/CodeGen/Hexagon/tc_sched1.ll
M llvm/test/CodeGen/Hexagon/tcm-zext.ll
M llvm/test/CodeGen/Hexagon/testbits.ll
M llvm/test/CodeGen/Hexagon/tfr-cleanup.ll
M llvm/test/CodeGen/Hexagon/tfr-mux-nvj.ll
M llvm/test/CodeGen/Hexagon/tfr-to-combine.ll
M llvm/test/CodeGen/Hexagon/tied_oper.ll
M llvm/test/CodeGen/Hexagon/tiny_bkfir_artdeps.ll
M llvm/test/CodeGen/Hexagon/tiny_bkfir_loop_align.ll
M llvm/test/CodeGen/Hexagon/tinycore.ll
M llvm/test/CodeGen/Hexagon/tls_gd.ll
M llvm/test/CodeGen/Hexagon/tls_pic.ll
M llvm/test/CodeGen/Hexagon/trap-crash.ll
M llvm/test/CodeGen/Hexagon/trap-unreachable.ll
M llvm/test/CodeGen/Hexagon/trivialmemaliascheck.ll
M llvm/test/CodeGen/Hexagon/trunc-mpy.ll
M llvm/test/CodeGen/Hexagon/two-crash.ll
M llvm/test/CodeGen/Hexagon/twoaddressbug.ll
M llvm/test/CodeGen/Hexagon/undef-ret.ll
M llvm/test/CodeGen/Hexagon/undo-dag-shift.ll
M llvm/test/CodeGen/Hexagon/union-1.ll
M llvm/test/CodeGen/Hexagon/unordered-fcmp.ll
M llvm/test/CodeGen/Hexagon/unreachable-mbb-phi-subreg.mir
M llvm/test/CodeGen/Hexagon/upper-mpy.ll
M llvm/test/CodeGen/Hexagon/v5_insns.ll
M llvm/test/CodeGen/Hexagon/v6-haar-balign32.ll
M llvm/test/CodeGen/Hexagon/v6-inlasm1.ll
M llvm/test/CodeGen/Hexagon/v6-inlasm2.ll
M llvm/test/CodeGen/Hexagon/v6-inlasm3.ll
M llvm/test/CodeGen/Hexagon/v6-inlasm4.ll
M llvm/test/CodeGen/Hexagon/v6-shuffl.ll
M llvm/test/CodeGen/Hexagon/v6-spill1.ll
M llvm/test/CodeGen/Hexagon/v6-unaligned-spill.ll
M llvm/test/CodeGen/Hexagon/v6-vecpred-copy.ll
M llvm/test/CodeGen/Hexagon/v60-align.ll
M llvm/test/CodeGen/Hexagon/v60-cur.ll
M llvm/test/CodeGen/Hexagon/v60-haar-postinc.ll
M llvm/test/CodeGen/Hexagon/v60-halide-vcombinei8.ll
M llvm/test/CodeGen/Hexagon/v60-vec-128b-1.ll
M llvm/test/CodeGen/Hexagon/v60-vecpred-spill.ll
M llvm/test/CodeGen/Hexagon/v60-vsel1.ll
M llvm/test/CodeGen/Hexagon/v60-vsel2.ll
M llvm/test/CodeGen/Hexagon/v60Intrins.ll
M llvm/test/CodeGen/Hexagon/v60Vasr.ll
M llvm/test/CodeGen/Hexagon/v60_Q6_P_rol_PI.ll
M llvm/test/CodeGen/Hexagon/v60_sort16.ll
M llvm/test/CodeGen/Hexagon/v60rol-instrs.ll
M llvm/test/CodeGen/Hexagon/v60small.ll
M llvm/test/CodeGen/Hexagon/v62-CJAllSlots.ll
M llvm/test/CodeGen/Hexagon/v62-inlasm4.ll
M llvm/test/CodeGen/Hexagon/v6vassignp.ll
M llvm/test/CodeGen/Hexagon/v6vec-vmemcur-prob.mir
M llvm/test/CodeGen/Hexagon/v6vec-vmemu1.ll
M llvm/test/CodeGen/Hexagon/v6vec-vmemu2.ll
M llvm/test/CodeGen/Hexagon/v6vec-vprint.ll
M llvm/test/CodeGen/Hexagon/v6vec-vshuff.ll
M llvm/test/CodeGen/Hexagon/v6vec_inc1.ll
M llvm/test/CodeGen/Hexagon/v6vec_zero.ll
M llvm/test/CodeGen/Hexagon/v6vect-dbl-fail1.ll
M llvm/test/CodeGen/Hexagon/v6vect-dbl-spill.ll
M llvm/test/CodeGen/Hexagon/v6vect-dbl.ll
M llvm/test/CodeGen/Hexagon/v6vect-dh1.ll
M llvm/test/CodeGen/Hexagon/v6vect-locals1.ll
M llvm/test/CodeGen/Hexagon/v6vect-no-sideeffects.ll
M llvm/test/CodeGen/Hexagon/v6vect-pred2.ll
M llvm/test/CodeGen/Hexagon/v6vect-spill-kill.ll
M llvm/test/CodeGen/Hexagon/v6vect-vmem1.ll
M llvm/test/CodeGen/Hexagon/v6vect-vsplat.ll
M llvm/test/CodeGen/Hexagon/vacopy.ll
M llvm/test/CodeGen/Hexagon/vadd1.ll
M llvm/test/CodeGen/Hexagon/vaddh.ll
M llvm/test/CodeGen/Hexagon/validate-offset.ll
M llvm/test/CodeGen/Hexagon/vararg-deallocate-sp.ll
M llvm/test/CodeGen/Hexagon/vararg-formal.ll
M llvm/test/CodeGen/Hexagon/vararg-linux-abi.ll
M llvm/test/CodeGen/Hexagon/vararg.ll
M llvm/test/CodeGen/Hexagon/vararg_align_check.ll
M llvm/test/CodeGen/Hexagon/vararg_double_onstack.ll
M llvm/test/CodeGen/Hexagon/vararg_named.ll
M llvm/test/CodeGen/Hexagon/varargs-memv.ll
M llvm/test/CodeGen/Hexagon/vassign-to-combine.ll
M llvm/test/CodeGen/Hexagon/vcombine128_to_req_seq.ll
M llvm/test/CodeGen/Hexagon/vcombine_subreg.ll
M llvm/test/CodeGen/Hexagon/vcombine_to_req_seq.ll
M llvm/test/CodeGen/Hexagon/vdmpy-halide-test.ll
M llvm/test/CodeGen/Hexagon/vdotprod.ll
M llvm/test/CodeGen/Hexagon/vec-align.ll
M llvm/test/CodeGen/Hexagon/vec-call-full1.ll
M llvm/test/CodeGen/Hexagon/vec-pred-spill1.ll
M llvm/test/CodeGen/Hexagon/vec-vararg-align.ll
M llvm/test/CodeGen/Hexagon/vecPred2Vec.ll
M llvm/test/CodeGen/Hexagon/vect-any_extend.ll
M llvm/test/CodeGen/Hexagon/vect-dbl-post-inc.ll
M llvm/test/CodeGen/Hexagon/vect-downscale.ll
M llvm/test/CodeGen/Hexagon/vect-set_cc_v2i32.ll
M llvm/test/CodeGen/Hexagon/vect-vd0.ll
M llvm/test/CodeGen/Hexagon/vect-zero_extend.ll
M llvm/test/CodeGen/Hexagon/vect/bit4x8.ll
M llvm/test/CodeGen/Hexagon/vect/build-vect64.ll
M llvm/test/CodeGen/Hexagon/vect/extract-elt-vNi1.ll
M llvm/test/CodeGen/Hexagon/vect/extract-v4i1.ll
M llvm/test/CodeGen/Hexagon/vect/setcc-not.ll
M llvm/test/CodeGen/Hexagon/vect/setcc-v2i32.ll
M llvm/test/CodeGen/Hexagon/vect/setcc-v32.ll
M llvm/test/CodeGen/Hexagon/vect/shuff-32.ll
M llvm/test/CodeGen/Hexagon/vect/shuff-64.ll
M llvm/test/CodeGen/Hexagon/vect/vect-anyextend.ll
M llvm/test/CodeGen/Hexagon/vect/vect-apint-truncate.ll
M llvm/test/CodeGen/Hexagon/vect/vect-bad-bitcast.ll
M llvm/test/CodeGen/Hexagon/vect/vect-bitcast-1.ll
M llvm/test/CodeGen/Hexagon/vect/vect-bitcast.ll
M llvm/test/CodeGen/Hexagon/vect/vect-bool-basic-compile.ll
M llvm/test/CodeGen/Hexagon/vect/vect-bool-isel-crash.ll
M llvm/test/CodeGen/Hexagon/vect/vect-cst-v4i32.ll
M llvm/test/CodeGen/Hexagon/vect/vect-cst-v4i8.ll
M llvm/test/CodeGen/Hexagon/vect/vect-cst.ll
M llvm/test/CodeGen/Hexagon/vect/vect-extract-i1-debug.ll
M llvm/test/CodeGen/Hexagon/vect/vect-extract-i1.ll
M llvm/test/CodeGen/Hexagon/vect/vect-extract.ll
M llvm/test/CodeGen/Hexagon/vect/vect-fma.ll
M llvm/test/CodeGen/Hexagon/vect/vect-illegal-type.ll
M llvm/test/CodeGen/Hexagon/vect/vect-infloop.ll
M llvm/test/CodeGen/Hexagon/vect/vect-insert-extract-elt.ll
M llvm/test/CodeGen/Hexagon/vect/vect-load-1.ll
M llvm/test/CodeGen/Hexagon/vect/vect-load-v4i16.ll
M llvm/test/CodeGen/Hexagon/vect/vect-load.ll
M llvm/test/CodeGen/Hexagon/vect/vect-mul-v2i16.ll
M llvm/test/CodeGen/Hexagon/vect/vect-mul-v2i32.ll
M llvm/test/CodeGen/Hexagon/vect/vect-mul-v4i16.ll
M llvm/test/CodeGen/Hexagon/vect/vect-mul-v4i8.ll
M llvm/test/CodeGen/Hexagon/vect/vect-mul-v8i8.ll
M llvm/test/CodeGen/Hexagon/vect/vect-no-tfrs-1.ll
M llvm/test/CodeGen/Hexagon/vect/vect-no-tfrs.ll
M llvm/test/CodeGen/Hexagon/vect/vect-shift-imm.ll
M llvm/test/CodeGen/Hexagon/vect/vect-shifts.ll
M llvm/test/CodeGen/Hexagon/vect/vect-shuffle.ll
M llvm/test/CodeGen/Hexagon/vect/vect-splat.ll
M llvm/test/CodeGen/Hexagon/vect/vect-store-v2i16.ll
M llvm/test/CodeGen/Hexagon/vect/vect-truncate.ll
M llvm/test/CodeGen/Hexagon/vect/vect-v4i16.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vaddb-1.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vaddb.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vaddh-1.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vaddh.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vaddw.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vaslw.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vshifts.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vsplatb.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vsplath.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vsubb-1.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vsubb.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vsubh-1.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vsubh.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vsubw.ll
M llvm/test/CodeGen/Hexagon/vect/vect-xor.ll
M llvm/test/CodeGen/Hexagon/vect/vect-zeroextend.ll
M llvm/test/CodeGen/Hexagon/vect/vsplat-v8i8.ll
M llvm/test/CodeGen/Hexagon/vect/zext-v4i1.ll
M llvm/test/CodeGen/Hexagon/vect_setcc.ll
M llvm/test/CodeGen/Hexagon/vect_setcc_v2i16.ll
M llvm/test/CodeGen/Hexagon/vector-align.ll
M llvm/test/CodeGen/Hexagon/vector-ext-load.ll
M llvm/test/CodeGen/Hexagon/vector-sint-to-fp.ll
M llvm/test/CodeGen/Hexagon/vector-zext-v4i8.ll
M llvm/test/CodeGen/Hexagon/verify-liveness-at-def.mir
M llvm/test/CodeGen/Hexagon/verify-sink-code.ll
M llvm/test/CodeGen/Hexagon/verify-undef.ll
M llvm/test/CodeGen/Hexagon/vextract-basic.mir
M llvm/test/CodeGen/Hexagon/vgather-opt-addr.ll
M llvm/test/CodeGen/Hexagon/vgather-packetize.mir
M llvm/test/CodeGen/Hexagon/vload-postinc-sel.ll
M llvm/test/CodeGen/Hexagon/vmemu-128.ll
M llvm/test/CodeGen/Hexagon/vmpa-halide-test.ll
M llvm/test/CodeGen/Hexagon/vpack_eo.ll
M llvm/test/CodeGen/Hexagon/vselect-pseudo.ll
M llvm/test/CodeGen/Hexagon/vsplat-ext.ll
M llvm/test/CodeGen/Hexagon/vsplat-isel.ll
M llvm/test/CodeGen/Hexagon/wcsrtomb.ll
M llvm/test/CodeGen/Hexagon/widen-alias.ll
M llvm/test/CodeGen/Hexagon/widen-not-load.ll
M llvm/test/CodeGen/Hexagon/widen-volatile.ll
M llvm/test/CodeGen/Hexagon/zextloadi1.ll
M llvm/test/CodeGen/MIR/Hexagon/addrmode-opt-nonreaching.mir
M llvm/test/CodeGen/MIR/Hexagon/parse-lane-masks.mir
M llvm/test/CodeGen/MIR/Hexagon/target-flags.mir
M llvm/test/MC/Hexagon/extended_relocations.ll
Log Message:
-----------
[Hexagon,test] Change llc -march= to -mtriple=
Similar to 806761a7629df268c8aed49657aeccffa6bca449
-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple, leaving a target triple which
may not make sense.
Therefore, -march= is error-prone and not recommended for tests without a target
triple. The issue has been benign as we recognize $unknown-apple-darwin as ELF instead
of rejecting it outrightly.
Commit: 5240e0b891fc4bf69d362199f70c94c28a7b9465
https://github.com/llvm/llvm-project/commit/5240e0b891fc4bf69d362199f70c94c28a7b9465
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/VE/Packed/vec_fneg.ll
M llvm/test/CodeGen/VE/Packed/vp_add.ll
M llvm/test/CodeGen/VE/Packed/vp_and.ll
M llvm/test/CodeGen/VE/Packed/vp_fadd.ll
M llvm/test/CodeGen/VE/Packed/vp_fdiv.ll
M llvm/test/CodeGen/VE/Packed/vp_fmul.ll
M llvm/test/CodeGen/VE/Packed/vp_fsub.ll
M llvm/test/CodeGen/VE/Packed/vp_mul.ll
M llvm/test/CodeGen/VE/Packed/vp_or.ll
M llvm/test/CodeGen/VE/Packed/vp_sdiv.ll
M llvm/test/CodeGen/VE/Packed/vp_shl.ll
M llvm/test/CodeGen/VE/Packed/vp_sra.ll
M llvm/test/CodeGen/VE/Packed/vp_srl.ll
M llvm/test/CodeGen/VE/Packed/vp_sub.ll
M llvm/test/CodeGen/VE/Packed/vp_udiv.ll
M llvm/test/CodeGen/VE/Packed/vp_xor.ll
M llvm/test/CodeGen/VE/Vector/expand_single_elem_build_vec.ll
M llvm/test/CodeGen/VE/Vector/feature_vpu.ll
M llvm/test/CodeGen/VE/Vector/vec_fma.ll
M llvm/test/CodeGen/VE/Vector/vec_fneg.ll
M llvm/test/CodeGen/VE/Vector/vec_reduce_add.ll
M llvm/test/CodeGen/VE/Vector/vec_reduce_and.ll
M llvm/test/CodeGen/VE/Vector/vec_reduce_or.ll
M llvm/test/CodeGen/VE/Vector/vec_reduce_smax.ll
M llvm/test/CodeGen/VE/Vector/vec_reduce_xor.ll
M llvm/test/CodeGen/VE/Vector/vec_select.ll
M llvm/test/CodeGen/VE/Vector/vp_add.ll
M llvm/test/CodeGen/VE/Vector/vp_and.ll
M llvm/test/CodeGen/VE/Vector/vp_ashr.ll
M llvm/test/CodeGen/VE/Vector/vp_fadd.ll
M llvm/test/CodeGen/VE/Vector/vp_fadd_merge.ll
M llvm/test/CodeGen/VE/Vector/vp_fdiv.ll
M llvm/test/CodeGen/VE/Vector/vp_fdiv_merge.ll
M llvm/test/CodeGen/VE/Vector/vp_fma.ll
M llvm/test/CodeGen/VE/Vector/vp_fma_merge.ll
M llvm/test/CodeGen/VE/Vector/vp_fmul.ll
M llvm/test/CodeGen/VE/Vector/vp_fmul_merge.ll
M llvm/test/CodeGen/VE/Vector/vp_fsub.ll
M llvm/test/CodeGen/VE/Vector/vp_fsub_merge.ll
M llvm/test/CodeGen/VE/Vector/vp_lshr.ll
M llvm/test/CodeGen/VE/Vector/vp_merge.ll
M llvm/test/CodeGen/VE/Vector/vp_mul.ll
M llvm/test/CodeGen/VE/Vector/vp_or.ll
M llvm/test/CodeGen/VE/Vector/vp_reduce_add.ll
M llvm/test/CodeGen/VE/Vector/vp_reduce_and.ll
M llvm/test/CodeGen/VE/Vector/vp_reduce_or.ll
M llvm/test/CodeGen/VE/Vector/vp_reduce_smax.ll
M llvm/test/CodeGen/VE/Vector/vp_reduce_xor.ll
M llvm/test/CodeGen/VE/Vector/vp_sdiv.ll
M llvm/test/CodeGen/VE/Vector/vp_select.ll
M llvm/test/CodeGen/VE/Vector/vp_shl.ll
M llvm/test/CodeGen/VE/Vector/vp_sra.ll
M llvm/test/CodeGen/VE/Vector/vp_srem.ll
M llvm/test/CodeGen/VE/Vector/vp_srl.ll
M llvm/test/CodeGen/VE/Vector/vp_sub.ll
M llvm/test/CodeGen/VE/Vector/vp_udiv.ll
M llvm/test/CodeGen/VE/Vector/vp_urem.ll
M llvm/test/CodeGen/VE/Vector/vp_xor.ll
M llvm/test/CodeGen/VE/null-mctargetstreamer.ll
Log Message:
-----------
[VE,test] Change llc -march= to -mtriple=
Similar to 806761a7629df268c8aed49657aeccffa6bca449
-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple, leaving a target triple which
may not make sense.
Therefore, -march= is error-prone and not recommended for tests without a target
triple. The issue has been benign as we recognize $ve-apple-darwin as ELF instead
of rejecting it outrightly.
Commit: 9ef1d37ffb5f56a9b949a6307bbb16c2ea0130e3
https://github.com/llvm/llvm-project/commit/9ef1d37ffb5f56a9b949a6307bbb16c2ea0130e3
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AVR/PR31344.ll
M llvm/test/CodeGen/AVR/PR31345.ll
M llvm/test/CodeGen/AVR/PR37143.ll
M llvm/test/CodeGen/AVR/add.ll
M llvm/test/CodeGen/AVR/alloca.ll
M llvm/test/CodeGen/AVR/and.ll
M llvm/test/CodeGen/AVR/atomics/fence.ll
M llvm/test/CodeGen/AVR/atomics/load-store-16-unexpected-register-bug.ll
M llvm/test/CodeGen/AVR/atomics/load16.ll
M llvm/test/CodeGen/AVR/atomics/load32.ll
M llvm/test/CodeGen/AVR/atomics/load64.ll
M llvm/test/CodeGen/AVR/atomics/load8.ll
M llvm/test/CodeGen/AVR/atomics/store.ll
M llvm/test/CodeGen/AVR/atomics/store16.ll
M llvm/test/CodeGen/AVR/atomics/swap.ll
M llvm/test/CodeGen/AVR/avr-rust-issue-123.ll
M llvm/test/CodeGen/AVR/block-address-is-in-progmem-space.ll
M llvm/test/CodeGen/AVR/branch-relaxation-long.ll
M llvm/test/CodeGen/AVR/branch-relaxation.ll
M llvm/test/CodeGen/AVR/brind.ll
M llvm/test/CodeGen/AVR/calling-conv/c/call.ll
M llvm/test/CodeGen/AVR/calling-conv/c/call_aggr.ll
M llvm/test/CodeGen/AVR/calling-conv/c/return.ll
M llvm/test/CodeGen/AVR/calling-conv/c/return_aggr.ll
M llvm/test/CodeGen/AVR/clear-bss.ll
M llvm/test/CodeGen/AVR/cmp.ll
M llvm/test/CodeGen/AVR/copy-data-to-ram.ll
M llvm/test/CodeGen/AVR/ctlz.ll
M llvm/test/CodeGen/AVR/ctpop.ll
M llvm/test/CodeGen/AVR/cttz.ll
M llvm/test/CodeGen/AVR/directmem.ll
M llvm/test/CodeGen/AVR/div.ll
M llvm/test/CodeGen/AVR/dynalloca.ll
M llvm/test/CodeGen/AVR/eor.ll
M llvm/test/CodeGen/AVR/expand-integer-failure.ll
M llvm/test/CodeGen/AVR/features/avr25.ll
M llvm/test/CodeGen/AVR/features/xmega_io.ll
M llvm/test/CodeGen/AVR/frame.ll
M llvm/test/CodeGen/AVR/frmidx-iterator-bug.ll
M llvm/test/CodeGen/AVR/high-pressure-on-ptrregs.ll
M llvm/test/CodeGen/AVR/icall-func-pointer-correct-addr-space.ll
M llvm/test/CodeGen/AVR/impossible-reg-to-reg-copy.ll
M llvm/test/CodeGen/AVR/inline-asm/inline-asm.ll
M llvm/test/CodeGen/AVR/inline-asm/inline-asm2.ll
M llvm/test/CodeGen/AVR/integration/blink.ll
M llvm/test/CodeGen/AVR/interrupts.ll
M llvm/test/CodeGen/AVR/intrinsics/named-reg-alloc.ll
M llvm/test/CodeGen/AVR/intrinsics/named-reg-special.ll
M llvm/test/CodeGen/AVR/intrinsics/stacksave-restore.ll
M llvm/test/CodeGen/AVR/io.ll
M llvm/test/CodeGen/AVR/issue-cannot-select-bswap.ll
M llvm/test/CodeGen/AVR/issue-regalloc-stackframe-folding-earlyclobber.ll
M llvm/test/CodeGen/AVR/large-return-size.ll
M llvm/test/CodeGen/AVR/ldd-immediate-overflow.ll
M llvm/test/CodeGen/AVR/load.ll
M llvm/test/CodeGen/AVR/lower-formal-args-struct-return.ll
M llvm/test/CodeGen/AVR/lower-formal-arguments-assertion.ll
M llvm/test/CodeGen/AVR/no-clear-bss.ll
M llvm/test/CodeGen/AVR/no-copy-data.ll
M llvm/test/CodeGen/AVR/no-print-operand-twice.ll
M llvm/test/CodeGen/AVR/or.ll
M llvm/test/CodeGen/AVR/pre-schedule.ll
M llvm/test/CodeGen/AVR/progmem-extended.ll
M llvm/test/CodeGen/AVR/progmem.ll
M llvm/test/CodeGen/AVR/pseudo/LDDWRdYQ.mir
M llvm/test/CodeGen/AVR/rem.ll
M llvm/test/CodeGen/AVR/runtime-trig.ll
M llvm/test/CodeGen/AVR/rust-avr-bug-112.ll
M llvm/test/CodeGen/AVR/rust-avr-bug-37.ll
M llvm/test/CodeGen/AVR/rust-avr-bug-95.ll
M llvm/test/CodeGen/AVR/rust-avr-bug-99.ll
M llvm/test/CodeGen/AVR/rust-bug-98167.ll
M llvm/test/CodeGen/AVR/select-must-add-unconditional-jump.ll
M llvm/test/CodeGen/AVR/sext.ll
M llvm/test/CodeGen/AVR/shift.ll
M llvm/test/CodeGen/AVR/sign-extension.ll
M llvm/test/CodeGen/AVR/smul-with-overflow.ll
M llvm/test/CodeGen/AVR/software-mul.ll
M llvm/test/CodeGen/AVR/std-immediate-overflow.ll
M llvm/test/CodeGen/AVR/std-ldd-immediate-overflow.ll
M llvm/test/CodeGen/AVR/stdwstk.ll
M llvm/test/CodeGen/AVR/store-undef.ll
M llvm/test/CodeGen/AVR/store.ll
M llvm/test/CodeGen/AVR/sub.ll
M llvm/test/CodeGen/AVR/trunc.ll
M llvm/test/CodeGen/AVR/umul-with-overflow.ll
M llvm/test/CodeGen/AVR/umul.with.overflow.i16-bug.ll
M llvm/test/CodeGen/AVR/unaligned-atomic-ops.ll
M llvm/test/CodeGen/AVR/varargs.ll
M llvm/test/CodeGen/AVR/xor.ll
M llvm/test/CodeGen/AVR/zeroreg.ll
M llvm/test/CodeGen/AVR/zext.ll
Log Message:
-----------
[AVR,test] Change llc -march= to -mtriple=
Similar to 806761a7629df268c8aed49657aeccffa6bca449
-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple, leaving a target triple which
may not make sense.
Therefore, -march= is error-prone and not recommended for tests without a target
triple. The issue has been benign as we recognize avr-apple-darwin as ELF instead
of rejecting it outrightly.
Commit: 728490257ecc09ada707a0390303bd3c61027a53
https://github.com/llvm/llvm-project/commit/728490257ecc09ada707a0390303bd3c61027a53
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/SPARC/2006-01-22-BitConvertLegalize.ll
M llvm/test/CodeGen/SPARC/2007-05-09-JumpTables.ll
M llvm/test/CodeGen/SPARC/2007-07-05-LiveIntervalAssert.ll
M llvm/test/CodeGen/SPARC/2008-10-10-InlineAsmMemoryOperand.ll
M llvm/test/CodeGen/SPARC/2008-10-10-InlineAsmRegOperand.ll
M llvm/test/CodeGen/SPARC/2009-08-28-PIC.ll
M llvm/test/CodeGen/SPARC/2009-08-28-WeakLinkage.ll
M llvm/test/CodeGen/SPARC/2011-01-11-CC.ll
M llvm/test/CodeGen/SPARC/2011-01-11-Call.ll
M llvm/test/CodeGen/SPARC/2011-01-11-FrameAddr.ll
M llvm/test/CodeGen/SPARC/2011-01-19-DelaySlot.ll
M llvm/test/CodeGen/SPARC/2011-01-21-ByValArgs.ll
M llvm/test/CodeGen/SPARC/2011-01-22-SRet.ll
M llvm/test/CodeGen/SPARC/2011-12-03-TailDuplication.ll
M llvm/test/CodeGen/SPARC/2013-05-17-CallFrame.ll
M llvm/test/CodeGen/SPARC/32abi.ll
M llvm/test/CodeGen/SPARC/64abi.ll
M llvm/test/CodeGen/SPARC/64atomics.ll
M llvm/test/CodeGen/SPARC/64bit.ll
M llvm/test/CodeGen/SPARC/64spill.ll
M llvm/test/CodeGen/SPARC/DbgValueOtherTargets.test
M llvm/test/CodeGen/SPARC/LeonCASAInstructionUT.ll
M llvm/test/CodeGen/SPARC/LeonDetectRoundChangePassUT.ll
M llvm/test/CodeGen/SPARC/LeonFixAllFDIVSQRTPassUT.ll
M llvm/test/CodeGen/SPARC/LeonInsertNOPLoadPassUT.ll
M llvm/test/CodeGen/SPARC/LeonItinerariesUT.ll
M llvm/test/CodeGen/SPARC/LeonSMACUMACInstructionUT.ll
M llvm/test/CodeGen/SPARC/alloca-align.ll
M llvm/test/CodeGen/SPARC/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/SPARC/atomics.ll
M llvm/test/CodeGen/SPARC/basictest.ll
M llvm/test/CodeGen/SPARC/cast-sret-func.ll
M llvm/test/CodeGen/SPARC/ctpop.ll
M llvm/test/CodeGen/SPARC/cttz.ll
M llvm/test/CodeGen/SPARC/data-align.ll
M llvm/test/CodeGen/SPARC/disable-fsmuld-fmuls.ll
M llvm/test/CodeGen/SPARC/float-constants.ll
M llvm/test/CodeGen/SPARC/float.ll
M llvm/test/CodeGen/SPARC/fp128.ll
M llvm/test/CodeGen/SPARC/inlineasm-bad.ll
M llvm/test/CodeGen/SPARC/inlineasm-v9.ll
M llvm/test/CodeGen/SPARC/inlineasm.ll
M llvm/test/CodeGen/SPARC/leafproc.ll
M llvm/test/CodeGen/SPARC/mult-alt-generic-sparc.ll
M llvm/test/CodeGen/SPARC/multiple-div.ll
M llvm/test/CodeGen/SPARC/parts.ll
M llvm/test/CodeGen/SPARC/private.ll
M llvm/test/CodeGen/SPARC/readcycle.ll
M llvm/test/CodeGen/SPARC/reg64.ll
M llvm/test/CodeGen/SPARC/register-clobber.ll
M llvm/test/CodeGen/SPARC/reserved-regs.ll
M llvm/test/CodeGen/SPARC/salvage-debug-isel.ll
M llvm/test/CodeGen/SPARC/select-mask.ll
M llvm/test/CodeGen/SPARC/setjmp.ll
M llvm/test/CodeGen/SPARC/soft-float.ll
M llvm/test/CodeGen/SPARC/soft-mul-div.ll
M llvm/test/CodeGen/SPARC/spill.ll
M llvm/test/CodeGen/SPARC/sret-secondary.ll
M llvm/test/CodeGen/SPARC/stack-align.ll
M llvm/test/CodeGen/SPARC/tn0009.mir
M llvm/test/CodeGen/SPARC/tn0010.mir
M llvm/test/CodeGen/SPARC/tn0012.mir
M llvm/test/CodeGen/SPARC/tn0013.mir
M llvm/test/CodeGen/SPARC/vector-call.ll
M llvm/test/CodeGen/SPARC/vector-extract-elt.ll
M llvm/test/CodeGen/SPARC/zerostructcall.ll
Log Message:
-----------
[Sparc,test] Change llc -march= to -mtriple=
Similar to 806761a7629df268c8aed49657aeccffa6bca449
-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple (e.g. Windows, macOS),
leaving a target triple which may not make sense.
Therefore, -march= is error-prone and not recommended for tests without a target
triple. The issue has been benign as we recognize sparc*-apple-darwin as ELF instead
of rejecting it outrightly.
Commit: f1987c74ee5637ec248675a9a7070654167a5260
https://github.com/llvm/llvm-project/commit/f1987c74ee5637ec248675a9a7070654167a5260
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/XCore/2008-11-17-Shl64.ll
M llvm/test/CodeGen/XCore/2009-01-08-Crash.ll
M llvm/test/CodeGen/XCore/2009-01-14-Remat-Crash.ll
M llvm/test/CodeGen/XCore/2009-03-27-v2f64-param.ll
M llvm/test/CodeGen/XCore/2009-07-15-store192.ll
M llvm/test/CodeGen/XCore/2010-02-25-LSR-Crash.ll
M llvm/test/CodeGen/XCore/2011-01-31-DAGCombineBug.ll
M llvm/test/CodeGen/XCore/2011-08-01-DynamicAllocBug.ll
M llvm/test/CodeGen/XCore/DbgValueOtherTargets.test
M llvm/test/CodeGen/XCore/addsub64.ll
M llvm/test/CodeGen/XCore/aliases.ll
M llvm/test/CodeGen/XCore/align.ll
M llvm/test/CodeGen/XCore/alignment.ll
M llvm/test/CodeGen/XCore/ashr.ll
M llvm/test/CodeGen/XCore/atomic.ll
M llvm/test/CodeGen/XCore/basictest.ll
M llvm/test/CodeGen/XCore/bigstructret.ll
M llvm/test/CodeGen/XCore/bitrev.ll
M llvm/test/CodeGen/XCore/byVal.ll
M llvm/test/CodeGen/XCore/call.ll
M llvm/test/CodeGen/XCore/constants.ll
M llvm/test/CodeGen/XCore/events.ll
M llvm/test/CodeGen/XCore/exception.ll
M llvm/test/CodeGen/XCore/fneg.ll
M llvm/test/CodeGen/XCore/getid.ll
M llvm/test/CodeGen/XCore/globals.ll
M llvm/test/CodeGen/XCore/indirectbr.ll
M llvm/test/CodeGen/XCore/inline-asm.ll
M llvm/test/CodeGen/XCore/inlineasm-output-template.ll
M llvm/test/CodeGen/XCore/ladd_lsub_combine.ll
M llvm/test/CodeGen/XCore/licm-ldwcp.ll
M llvm/test/CodeGen/XCore/linkage.ll
M llvm/test/CodeGen/XCore/llvm-intrinsics.ll
M llvm/test/CodeGen/XCore/load.ll
M llvm/test/CodeGen/XCore/memcpy.ll
M llvm/test/CodeGen/XCore/misc-intrinsics.ll
M llvm/test/CodeGen/XCore/mkmsk.ll
M llvm/test/CodeGen/XCore/mul64.ll
M llvm/test/CodeGen/XCore/offset_folding.ll
M llvm/test/CodeGen/XCore/private.ll
M llvm/test/CodeGen/XCore/ps-intrinsics.ll
M llvm/test/CodeGen/XCore/resources.ll
M llvm/test/CodeGen/XCore/resources_combine.ll
M llvm/test/CodeGen/XCore/section-name.ll
M llvm/test/CodeGen/XCore/sext.ll
M llvm/test/CodeGen/XCore/shedulingPreference.ll
M llvm/test/CodeGen/XCore/sr-intrinsics.ll
M llvm/test/CodeGen/XCore/store.ll
M llvm/test/CodeGen/XCore/switch.ll
M llvm/test/CodeGen/XCore/switch_long.ll
M llvm/test/CodeGen/XCore/tls.ll
M llvm/test/CodeGen/XCore/trampoline.ll
M llvm/test/CodeGen/XCore/trap.ll
M llvm/test/CodeGen/XCore/unaligned_load.ll
M llvm/test/CodeGen/XCore/unaligned_store.ll
M llvm/test/CodeGen/XCore/unaligned_store_combine.ll
M llvm/test/CodeGen/XCore/varargs.ll
M llvm/test/CodeGen/XCore/zext.ll
M llvm/test/CodeGen/XCore/zextfree.ll
Log Message:
-----------
[XCore,test] Change llc -march= to -mtriple=
Similar to 806761a7629df268c8aed49657aeccffa6bca449
-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple (e.g. Windows, macOS),
leaving a target triple which may not make sense.
Therefore, -march= is error-prone and not recommended for tests without a target
triple. The issue has been benign as we recognize xcore-apple-darwin as ELF instead
of rejecting it outrightly.
Commit: b279f6b098d3849f7f1c1f539b108307d5f8ae2d
https://github.com/llvm/llvm-project/commit/b279f6b098d3849f7f1c1f539b108307d5f8ae2d
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/MIR/NVPTX/expected-floating-point-literal.mir
M llvm/test/CodeGen/MIR/NVPTX/floating-point-immediate-operands.mir
M llvm/test/CodeGen/MIR/NVPTX/floating-point-invalid-type-error.mir
M llvm/test/CodeGen/NVPTX/APIntLoadStore.ll
M llvm/test/CodeGen/NVPTX/APIntParam.ll
M llvm/test/CodeGen/NVPTX/APIntSextParam.ll
M llvm/test/CodeGen/NVPTX/APIntZextParam.ll
M llvm/test/CodeGen/NVPTX/access-non-generic.ll
M llvm/test/CodeGen/NVPTX/activemask.ll
M llvm/test/CodeGen/NVPTX/add-sub-128bit.ll
M llvm/test/CodeGen/NVPTX/addr-mode.ll
M llvm/test/CodeGen/NVPTX/addrspacecast-gvar.ll
M llvm/test/CodeGen/NVPTX/addrspacecast.ll
M llvm/test/CodeGen/NVPTX/aggr-param.ll
M llvm/test/CodeGen/NVPTX/aggregate-return.ll
M llvm/test/CodeGen/NVPTX/alias-errors.ll
M llvm/test/CodeGen/NVPTX/alias.ll
M llvm/test/CodeGen/NVPTX/annotations.ll
M llvm/test/CodeGen/NVPTX/anonymous-fn-param.ll
M llvm/test/CodeGen/NVPTX/arg-lowering.ll
M llvm/test/CodeGen/NVPTX/arithmetic-fp-sm20.ll
M llvm/test/CodeGen/NVPTX/arithmetic-int.ll
M llvm/test/CodeGen/NVPTX/async-copy.ll
M llvm/test/CodeGen/NVPTX/atomicrmw-expand.ll
M llvm/test/CodeGen/NVPTX/atomics-sm60.ll
M llvm/test/CodeGen/NVPTX/atomics-sm70.ll
M llvm/test/CodeGen/NVPTX/atomics-sm90.ll
M llvm/test/CodeGen/NVPTX/atomics-with-scope.ll
M llvm/test/CodeGen/NVPTX/atomics.ll
M llvm/test/CodeGen/NVPTX/barrier.ll
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/bf16.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions-approx.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/bfe.ll
M llvm/test/CodeGen/NVPTX/boolean-patterns.ll
M llvm/test/CodeGen/NVPTX/branch-fold.ll
M llvm/test/CodeGen/NVPTX/branch-fold.mir
M llvm/test/CodeGen/NVPTX/brkpt.ll
M llvm/test/CodeGen/NVPTX/bswap.ll
M llvm/test/CodeGen/NVPTX/bug17709.ll
M llvm/test/CodeGen/NVPTX/bug21465.ll
M llvm/test/CodeGen/NVPTX/bug22246.ll
M llvm/test/CodeGen/NVPTX/bug22322.ll
M llvm/test/CodeGen/NVPTX/bug26185-2.ll
M llvm/test/CodeGen/NVPTX/bug26185.ll
M llvm/test/CodeGen/NVPTX/bug52623.ll
M llvm/test/CodeGen/NVPTX/bypass-div.ll
M llvm/test/CodeGen/NVPTX/call-with-alloca-buffer.ll
M llvm/test/CodeGen/NVPTX/call_bitcast_byval.ll
M llvm/test/CodeGen/NVPTX/callchain.ll
M llvm/test/CodeGen/NVPTX/calling-conv.ll
M llvm/test/CodeGen/NVPTX/calls-with-phi.ll
M llvm/test/CodeGen/NVPTX/cluster-dim.ll
M llvm/test/CodeGen/NVPTX/cmpxchg.ll
M llvm/test/CodeGen/NVPTX/combine-min-max.ll
M llvm/test/CodeGen/NVPTX/common-linkage.ll
M llvm/test/CodeGen/NVPTX/compare-int.ll
M llvm/test/CodeGen/NVPTX/compute-ptx-value-vts.ll
M llvm/test/CodeGen/NVPTX/constant-vectors.ll
M llvm/test/CodeGen/NVPTX/convert-fp.ll
M llvm/test/CodeGen/NVPTX/convert-int-sm20.ll
M llvm/test/CodeGen/NVPTX/convert-sm80.ll
M llvm/test/CodeGen/NVPTX/convert-sm89.ll
M llvm/test/CodeGen/NVPTX/copysign.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-prefetch.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-reduce.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-s2g.ll
M llvm/test/CodeGen/NVPTX/ctlz.ll
M llvm/test/CodeGen/NVPTX/ctpop.ll
M llvm/test/CodeGen/NVPTX/cttz.ll
M llvm/test/CodeGen/NVPTX/dag-cse.ll
M llvm/test/CodeGen/NVPTX/demote-vars.ll
M llvm/test/CodeGen/NVPTX/disable-opt.ll
M llvm/test/CodeGen/NVPTX/div-ri.ll
M llvm/test/CodeGen/NVPTX/div.ll
M llvm/test/CodeGen/NVPTX/divrem-combine.ll
M llvm/test/CodeGen/NVPTX/dot-product.ll
M llvm/test/CodeGen/NVPTX/dynamic-stackalloc-regression.ll
M llvm/test/CodeGen/NVPTX/dynamic_stackalloc.ll
M llvm/test/CodeGen/NVPTX/elect.ll
M llvm/test/CodeGen/NVPTX/empty-type.ll
M llvm/test/CodeGen/NVPTX/envreg.ll
M llvm/test/CodeGen/NVPTX/extloadv.ll
M llvm/test/CodeGen/NVPTX/extractelement.ll
M llvm/test/CodeGen/NVPTX/f16-ex2.ll
M llvm/test/CodeGen/NVPTX/fast-math.ll
M llvm/test/CodeGen/NVPTX/fcos-no-fast-math.ll
M llvm/test/CodeGen/NVPTX/fence-proxy-tensormap.ll
M llvm/test/CodeGen/NVPTX/fence-sm-90.ll
M llvm/test/CodeGen/NVPTX/fence.ll
M llvm/test/CodeGen/NVPTX/filetype-null.ll
M llvm/test/CodeGen/NVPTX/fma-assoc.ll
M llvm/test/CodeGen/NVPTX/fma-disable.ll
M llvm/test/CodeGen/NVPTX/fma-relu-contract.ll
M llvm/test/CodeGen/NVPTX/fma-relu-fma-intrinsic.ll
M llvm/test/CodeGen/NVPTX/fma-relu-instruction-flag.ll
M llvm/test/CodeGen/NVPTX/fma.ll
M llvm/test/CodeGen/NVPTX/fminimum-fmaximum.ll
M llvm/test/CodeGen/NVPTX/fns.ll
M llvm/test/CodeGen/NVPTX/fp-contract.ll
M llvm/test/CodeGen/NVPTX/fp-literals.ll
M llvm/test/CodeGen/NVPTX/fp16.ll
M llvm/test/CodeGen/NVPTX/fsin-no-fast-math.ll
M llvm/test/CodeGen/NVPTX/function-align.ll
M llvm/test/CodeGen/NVPTX/funnel-shift-clamp.ll
M llvm/test/CodeGen/NVPTX/generic-to-nvvm.ll
M llvm/test/CodeGen/NVPTX/global-addrspace.ll
M llvm/test/CodeGen/NVPTX/global-ctor-empty.ll
M llvm/test/CodeGen/NVPTX/global-ctor.ll
M llvm/test/CodeGen/NVPTX/global-dtor.ll
M llvm/test/CodeGen/NVPTX/global-incomplete-init.ll
M llvm/test/CodeGen/NVPTX/global-ordering.ll
M llvm/test/CodeGen/NVPTX/global-visibility.ll
M llvm/test/CodeGen/NVPTX/globals_init.ll
M llvm/test/CodeGen/NVPTX/gvar-init.ll
M llvm/test/CodeGen/NVPTX/half.ll
M llvm/test/CodeGen/NVPTX/i1-array-global.ll
M llvm/test/CodeGen/NVPTX/i1-ext-load.ll
M llvm/test/CodeGen/NVPTX/i1-global.ll
M llvm/test/CodeGen/NVPTX/i1-icmp.ll
M llvm/test/CodeGen/NVPTX/i1-int-to-fp.ll
M llvm/test/CodeGen/NVPTX/i1-load-lower.ll
M llvm/test/CodeGen/NVPTX/i1-param.ll
M llvm/test/CodeGen/NVPTX/i128-global.ll
M llvm/test/CodeGen/NVPTX/i128-param.ll
M llvm/test/CodeGen/NVPTX/i128-retval.ll
M llvm/test/CodeGen/NVPTX/i128-struct.ll
M llvm/test/CodeGen/NVPTX/i8-param.ll
M llvm/test/CodeGen/NVPTX/idioms.ll
M llvm/test/CodeGen/NVPTX/imad.ll
M llvm/test/CodeGen/NVPTX/indirect_byval.ll
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test1.ll
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test2.ll
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test3.ll
M llvm/test/CodeGen/NVPTX/inline-asm.ll
M llvm/test/CodeGen/NVPTX/inlineasm-output-template.ll
M llvm/test/CodeGen/NVPTX/intrinsic-old.ll
M llvm/test/CodeGen/NVPTX/intrinsics-sm90.ll
M llvm/test/CodeGen/NVPTX/intrinsics.ll
M llvm/test/CodeGen/NVPTX/isspacep.ll
M llvm/test/CodeGen/NVPTX/kernel-param-align.ll
M llvm/test/CodeGen/NVPTX/ld-addrspace.ll
M llvm/test/CodeGen/NVPTX/ld-generic.ll
M llvm/test/CodeGen/NVPTX/ld-st-addrrspace.py
M llvm/test/CodeGen/NVPTX/ldg-invariant.ll
M llvm/test/CodeGen/NVPTX/ldparam-v4.ll
M llvm/test/CodeGen/NVPTX/ldu-i8.ll
M llvm/test/CodeGen/NVPTX/ldu-ldg.ll
M llvm/test/CodeGen/NVPTX/ldu-reg-plus-offset.ll
M llvm/test/CodeGen/NVPTX/load-sext-i1.ll
M llvm/test/CodeGen/NVPTX/load-store-sm-70.ll
M llvm/test/CodeGen/NVPTX/load-store-sm-90.ll
M llvm/test/CodeGen/NVPTX/load-store.ll
M llvm/test/CodeGen/NVPTX/load-with-non-coherent-cache.ll
M llvm/test/CodeGen/NVPTX/local-stack-frame.ll
M llvm/test/CodeGen/NVPTX/lower-aggr-copies.ll
M llvm/test/CodeGen/NVPTX/lower-alloca.ll
M llvm/test/CodeGen/NVPTX/lower-kernel-ptr-arg.ll
M llvm/test/CodeGen/NVPTX/machine-sink.ll
M llvm/test/CodeGen/NVPTX/managed.ll
M llvm/test/CodeGen/NVPTX/match.ll
M llvm/test/CodeGen/NVPTX/math-intrins-sm53-ptx42.ll
M llvm/test/CodeGen/NVPTX/math-intrins-sm80-ptx70-autoupgrade.ll
M llvm/test/CodeGen/NVPTX/math-intrins-sm80-ptx70.ll
M llvm/test/CodeGen/NVPTX/math-intrins-sm86-ptx72-autoupgrade.ll
M llvm/test/CodeGen/NVPTX/math-intrins-sm86-ptx72.ll
M llvm/test/CodeGen/NVPTX/max-align.ll
M llvm/test/CodeGen/NVPTX/maxclusterrank.ll
M llvm/test/CodeGen/NVPTX/mbarrier.ll
M llvm/test/CodeGen/NVPTX/minmax-negative.ll
M llvm/test/CodeGen/NVPTX/misaligned-vector-ldst.ll
M llvm/test/CodeGen/NVPTX/misched_func_call.ll
M llvm/test/CodeGen/NVPTX/mma-no-sink-after-laneid-check.ll
M llvm/test/CodeGen/NVPTX/module-inline-asm.ll
M llvm/test/CodeGen/NVPTX/mulwide.ll
M llvm/test/CodeGen/NVPTX/named-barriers.ll
M llvm/test/CodeGen/NVPTX/nanosleep.ll
M llvm/test/CodeGen/NVPTX/no-extra-parens.ll
M llvm/test/CodeGen/NVPTX/nofunc.ll
M llvm/test/CodeGen/NVPTX/noreturn.ll
M llvm/test/CodeGen/NVPTX/nounroll.ll
M llvm/test/CodeGen/NVPTX/nvcl-param-align.ll
M llvm/test/CodeGen/NVPTX/nvvm-reflect-arch-O0.ll
M llvm/test/CodeGen/NVPTX/packed-aggr.ll
M llvm/test/CodeGen/NVPTX/param-align.ll
M llvm/test/CodeGen/NVPTX/param-load-store.ll
M llvm/test/CodeGen/NVPTX/param-overalign.ll
M llvm/test/CodeGen/NVPTX/pass-name.ll
M llvm/test/CodeGen/NVPTX/pow2_mask_cmp.ll
M llvm/test/CodeGen/NVPTX/pr13291-i1-store.ll
M llvm/test/CodeGen/NVPTX/pr16278.ll
M llvm/test/CodeGen/NVPTX/pr17529.ll
M llvm/test/CodeGen/NVPTX/proxy-reg-erasure-ptx.ll
M llvm/test/CodeGen/NVPTX/proxy-reg-erasure.mir
M llvm/test/CodeGen/NVPTX/rcp-opt.ll
M llvm/test/CodeGen/NVPTX/read-global-variable-constant.ll
M llvm/test/CodeGen/NVPTX/redux-sync.ll
M llvm/test/CodeGen/NVPTX/refl1.ll
M llvm/test/CodeGen/NVPTX/reg-copy.ll
M llvm/test/CodeGen/NVPTX/reg-types.ll
M llvm/test/CodeGen/NVPTX/rotate_64.ll
M llvm/test/CodeGen/NVPTX/rsqrt-opt.ll
M llvm/test/CodeGen/NVPTX/rsqrt.ll
M llvm/test/CodeGen/NVPTX/sched1.ll
M llvm/test/CodeGen/NVPTX/sched2.ll
M llvm/test/CodeGen/NVPTX/setmaxnreg.ll
M llvm/test/CodeGen/NVPTX/sext-in-reg.ll
M llvm/test/CodeGen/NVPTX/sext-params.ll
M llvm/test/CodeGen/NVPTX/sext-setcc.ll
M llvm/test/CodeGen/NVPTX/shfl-p.ll
M llvm/test/CodeGen/NVPTX/shfl-sync-p.ll
M llvm/test/CodeGen/NVPTX/shfl-sync.ll
M llvm/test/CodeGen/NVPTX/shfl.ll
M llvm/test/CodeGen/NVPTX/shift-parts.ll
M llvm/test/CodeGen/NVPTX/short-ptr.ll
M llvm/test/CodeGen/NVPTX/shuffle-vec-undef-init.ll
M llvm/test/CodeGen/NVPTX/simple-call.ll
M llvm/test/CodeGen/NVPTX/sm-version.ll
M llvm/test/CodeGen/NVPTX/sqrt-approx.ll
M llvm/test/CodeGen/NVPTX/st-addrspace.ll
M llvm/test/CodeGen/NVPTX/st-generic.ll
M llvm/test/CodeGen/NVPTX/st-param-imm.ll
M llvm/test/CodeGen/NVPTX/stacksaverestore.ll
M llvm/test/CodeGen/NVPTX/store-undef.ll
M llvm/test/CodeGen/NVPTX/surf-read-cuda.ll
M llvm/test/CodeGen/NVPTX/surf-write-cuda.ll
M llvm/test/CodeGen/NVPTX/symbol-naming.ll
M llvm/test/CodeGen/NVPTX/tex-read-cuda.ll
M llvm/test/CodeGen/NVPTX/texsurf-queries.ll
M llvm/test/CodeGen/NVPTX/tid-range.ll
M llvm/test/CodeGen/NVPTX/unaligned-param-load-store.ll
M llvm/test/CodeGen/NVPTX/unreachable.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
M llvm/test/CodeGen/NVPTX/vec-param-load.ll
M llvm/test/CodeGen/NVPTX/vec8.ll
M llvm/test/CodeGen/NVPTX/vector-args.ll
M llvm/test/CodeGen/NVPTX/vector-call.ll
M llvm/test/CodeGen/NVPTX/vector-compare.ll
M llvm/test/CodeGen/NVPTX/vector-global.ll
M llvm/test/CodeGen/NVPTX/vector-loads.ll
M llvm/test/CodeGen/NVPTX/vector-returns.ll
M llvm/test/CodeGen/NVPTX/vector-select.ll
M llvm/test/CodeGen/NVPTX/vector-stores.ll
M llvm/test/CodeGen/NVPTX/vote.ll
M llvm/test/CodeGen/NVPTX/weak-global.ll
M llvm/test/CodeGen/NVPTX/weak-linkage.ll
M llvm/test/CodeGen/NVPTX/wmma-ptx60-sm70.py
M llvm/test/CodeGen/NVPTX/wmma-ptx61-sm70.py
M llvm/test/CodeGen/NVPTX/wmma-ptx63-sm72.py
M llvm/test/CodeGen/NVPTX/wmma-ptx63-sm75.py
M llvm/test/CodeGen/NVPTX/wmma-ptx64-sm70.py
M llvm/test/CodeGen/NVPTX/wmma-ptx65-sm75.py
M llvm/test/CodeGen/NVPTX/wmma-ptx71-sm80.py
M llvm/test/CodeGen/NVPTX/zeroext-32bit.ll
Log Message:
-----------
[NVPTX,test] Change llc -march= to -mtriple=
Similar to 806761a7629df268c8aed49657aeccffa6bca449
-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple (e.g. Windows, macOS),
leaving a target triple which may not make sense.
Therefore, -march= is error-prone and not recommended for tests without
a target triple. The issue has been benign as we recognize
nvptx{,64}-apple-darwin as ELF instead of rejecting it outrightly.
Commit: e64650d702f23674f5a7995a0bb6bd56a604b291
https://github.com/llvm/llvm-project/commit/e64650d702f23674f5a7995a0bb6bd56a604b291
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
Log Message:
-----------
[VPlan] Get types and step from VPWidenPointerInductionRecipe (NFC).
Use information directly from operands instead of going through
IVDescriptor.
Commit: 9afaf9c6c89efb22bccab39677e8dff47da91a00
https://github.com/llvm/llvm-project/commit/9afaf9c6c89efb22bccab39677e8dff47da91a00
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/mmra.ll
M llvm/test/CodeGen/AMDGPU/bf16-conversions.ll
M llvm/test/CodeGen/AMDGPU/bitreverse-inline-immediates.ll
M llvm/test/CodeGen/AMDGPU/invalid-inline-asm-constraint-crash.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bitop3.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.read.tr.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.prng.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.prefetch.data.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.prefetch.data.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.gfx90a.ll
M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
M llvm/test/CodeGen/AMDGPU/load-store-opt-addc0.mir
M llvm/test/CodeGen/AMDGPU/mai-hazards-mfma-scale.gfx950.mir
M llvm/test/CodeGen/AMDGPU/mmra.ll
M llvm/test/CodeGen/AMDGPU/v_swap_b16.ll
M llvm/test/MachineVerifier/AMDGPU/fix-illegal-vector-copies.mir
Log Message:
-----------
[AMDGPU,test] Change llc -march= to -mtriple=
Follow-up to 806761a7629df268c8aed49657aeccffa6bca449
Commit: c5037db4acd95790a0ca5061c8fa79c5c291607e
https://github.com/llvm/llvm-project/commit/c5037db4acd95790a0ca5061c8fa79c5c291607e
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/BPF/32-bit-subreg-alu.ll
M llvm/test/CodeGen/BPF/32-bit-subreg-cond-select.ll
M llvm/test/CodeGen/BPF/32-bit-subreg-load-store.ll
M llvm/test/CodeGen/BPF/32-bit-subreg-peephole-phi-1.ll
M llvm/test/CodeGen/BPF/32-bit-subreg-peephole-phi-2.ll
M llvm/test/CodeGen/BPF/32-bit-subreg-peephole-phi-3.ll
M llvm/test/CodeGen/BPF/32-bit-subreg-peephole.ll
M llvm/test/CodeGen/BPF/32-bit-subreg-zext.ll
M llvm/test/CodeGen/BPF/BTF/array-1d-char.ll
M llvm/test/CodeGen/BPF/BTF/array-1d-int.ll
M llvm/test/CodeGen/BPF/BTF/array-2d-int.ll
M llvm/test/CodeGen/BPF/BTF/array-size-0.ll
M llvm/test/CodeGen/BPF/BTF/array-typedef.ll
M llvm/test/CodeGen/BPF/BTF/atomics.ll
M llvm/test/CodeGen/BPF/BTF/char-no-debuginfo.ll
M llvm/test/CodeGen/BPF/BTF/char.ll
M llvm/test/CodeGen/BPF/BTF/double.ll
M llvm/test/CodeGen/BPF/BTF/empty-btf.ll
M llvm/test/CodeGen/BPF/BTF/enum-basic.ll
M llvm/test/CodeGen/BPF/BTF/extern-builtin.ll
M llvm/test/CodeGen/BPF/BTF/extern-func-arg.ll
M llvm/test/CodeGen/BPF/BTF/extern-func-ptr.ll
M llvm/test/CodeGen/BPF/BTF/extern-global-var.ll
M llvm/test/CodeGen/BPF/BTF/extern-var-func-weak-section.ll
M llvm/test/CodeGen/BPF/BTF/extern-var-func-weak.ll
M llvm/test/CodeGen/BPF/BTF/extern-var-func.ll
M llvm/test/CodeGen/BPF/BTF/extern-var-func2.ll
M llvm/test/CodeGen/BPF/BTF/extern-var-section.ll
M llvm/test/CodeGen/BPF/BTF/extern-var-struct-weak.ll
M llvm/test/CodeGen/BPF/BTF/extern-var-struct.ll
M llvm/test/CodeGen/BPF/BTF/extern-var-weak-section.ll
M llvm/test/CodeGen/BPF/BTF/filename.ll
M llvm/test/CodeGen/BPF/BTF/float.ll
M llvm/test/CodeGen/BPF/BTF/func-func-ptr.ll
M llvm/test/CodeGen/BPF/BTF/func-non-void.ll
M llvm/test/CodeGen/BPF/BTF/func-source.ll
M llvm/test/CodeGen/BPF/BTF/func-typedef.ll
M llvm/test/CodeGen/BPF/BTF/func-unused-arg.ll
M llvm/test/CodeGen/BPF/BTF/func-void.ll
M llvm/test/CodeGen/BPF/BTF/fwd-no-define.ll
M llvm/test/CodeGen/BPF/BTF/fwd-with-define.ll
M llvm/test/CodeGen/BPF/BTF/global-var-bss-and-data.ll
M llvm/test/CodeGen/BPF/BTF/global-var-inited.ll
M llvm/test/CodeGen/BPF/BTF/global-var-sec-readonly.ll
M llvm/test/CodeGen/BPF/BTF/global-var-sec.ll
M llvm/test/CodeGen/BPF/BTF/incomplete-debuginfo.ll
M llvm/test/CodeGen/BPF/BTF/int.ll
M llvm/test/CodeGen/BPF/BTF/local-var-readonly-1.ll
M llvm/test/CodeGen/BPF/BTF/local-var-readonly-2.ll
M llvm/test/CodeGen/BPF/BTF/local-var.ll
M llvm/test/CodeGen/BPF/BTF/longlong.ll
M llvm/test/CodeGen/BPF/BTF/map-def-2.ll
M llvm/test/CodeGen/BPF/BTF/map-def-3.ll
M llvm/test/CodeGen/BPF/BTF/map-def.ll
M llvm/test/CodeGen/BPF/BTF/pruning-const.ll
M llvm/test/CodeGen/BPF/BTF/pruning-dup-ptr-struct.ll
M llvm/test/CodeGen/BPF/BTF/pruning-multi-derived-type.ll
M llvm/test/CodeGen/BPF/BTF/pruning-typedef.ll
M llvm/test/CodeGen/BPF/BTF/ptr-const-void.ll
M llvm/test/CodeGen/BPF/BTF/ptr-func-1.ll
M llvm/test/CodeGen/BPF/BTF/ptr-func-2.ll
M llvm/test/CodeGen/BPF/BTF/ptr-func-3.ll
M llvm/test/CodeGen/BPF/BTF/ptr-int.ll
M llvm/test/CodeGen/BPF/BTF/ptr-prune-type.ll
M llvm/test/CodeGen/BPF/BTF/ptr-void.ll
M llvm/test/CodeGen/BPF/BTF/ptr-volatile-const-void.ll
M llvm/test/CodeGen/BPF/BTF/ptr-volatile-void.ll
M llvm/test/CodeGen/BPF/BTF/restrict-ptr.ll
M llvm/test/CodeGen/BPF/BTF/short.ll
M llvm/test/CodeGen/BPF/BTF/static-func.ll
M llvm/test/CodeGen/BPF/BTF/static-var-derived-type.ll
M llvm/test/CodeGen/BPF/BTF/static-var-inited-sec.ll
M llvm/test/CodeGen/BPF/BTF/static-var-inited.ll
M llvm/test/CodeGen/BPF/BTF/static-var-readonly-sec.ll
M llvm/test/CodeGen/BPF/BTF/static-var-readonly.ll
M llvm/test/CodeGen/BPF/BTF/static-var-sec.ll
M llvm/test/CodeGen/BPF/BTF/static-var-zerolen-array.ll
M llvm/test/CodeGen/BPF/BTF/static-var.ll
M llvm/test/CodeGen/BPF/BTF/struct-anon-2.ll
M llvm/test/CodeGen/BPF/BTF/struct-anon.ll
M llvm/test/CodeGen/BPF/BTF/struct-basic.ll
M llvm/test/CodeGen/BPF/BTF/struct-bitfield-typedef.ll
M llvm/test/CodeGen/BPF/BTF/struct-enum.ll
M llvm/test/CodeGen/BPF/BTF/tag-1.ll
M llvm/test/CodeGen/BPF/BTF/tag-2.ll
M llvm/test/CodeGen/BPF/BTF/tag-extern-func.ll
M llvm/test/CodeGen/BPF/BTF/tag-typedef.ll
M llvm/test/CodeGen/BPF/BTF/type-tag-fixup-fwd.ll
M llvm/test/CodeGen/BPF/BTF/type-tag-fixup-resolved.ll
M llvm/test/CodeGen/BPF/BTF/type-tag-var.ll
M llvm/test/CodeGen/BPF/BTF/uchar.ll
M llvm/test/CodeGen/BPF/BTF/uint.ll
M llvm/test/CodeGen/BPF/BTF/ulonglong.ll
M llvm/test/CodeGen/BPF/BTF/union-array-typedef.ll
M llvm/test/CodeGen/BPF/BTF/ushort.ll
M llvm/test/CodeGen/BPF/BTF/weak-global-2.ll
M llvm/test/CodeGen/BPF/BTF/weak-global-3.ll
M llvm/test/CodeGen/BPF/BTF/weak-global.ll
M llvm/test/CodeGen/BPF/CORE/field-reloc-st-imm.ll
M llvm/test/CodeGen/BPF/CORE/simplifypatable-nullptr.ll
M llvm/test/CodeGen/BPF/addr-space-cast.ll
M llvm/test/CodeGen/BPF/addr-space-globals.ll
M llvm/test/CodeGen/BPF/addr-space-globals2.ll
M llvm/test/CodeGen/BPF/alu8.ll
M llvm/test/CodeGen/BPF/atomics.ll
M llvm/test/CodeGen/BPF/atomics_2.ll
M llvm/test/CodeGen/BPF/atomics_mem_order_v1.ll
M llvm/test/CodeGen/BPF/atomics_mem_order_v3.ll
M llvm/test/CodeGen/BPF/atomics_sub64_relaxed_v1.ll
M llvm/test/CodeGen/BPF/basictest.ll
M llvm/test/CodeGen/BPF/bpf-fastcall-1.ll
M llvm/test/CodeGen/BPF/bpf-fastcall-2.ll
M llvm/test/CodeGen/BPF/bpf-fastcall-3.ll
M llvm/test/CodeGen/BPF/bpf-fastcall-4.ll
M llvm/test/CodeGen/BPF/bpf-fastcall-5.ll
M llvm/test/CodeGen/BPF/bpf-fastcall-regmask-1.ll
M llvm/test/CodeGen/BPF/bswap.ll
M llvm/test/CodeGen/BPF/byval.ll
M llvm/test/CodeGen/BPF/callx.ll
M llvm/test/CodeGen/BPF/cc_args.ll
M llvm/test/CodeGen/BPF/cc_args_be.ll
M llvm/test/CodeGen/BPF/cc_ret.ll
M llvm/test/CodeGen/BPF/cmp.ll
M llvm/test/CodeGen/BPF/cttz-ctlz.ll
M llvm/test/CodeGen/BPF/dwarfdump.ll
M llvm/test/CodeGen/BPF/ex1.ll
M llvm/test/CodeGen/BPF/fi_ri.ll
M llvm/test/CodeGen/BPF/gotol.ll
M llvm/test/CodeGen/BPF/i128.ll
M llvm/test/CodeGen/BPF/inline_asm.ll
M llvm/test/CodeGen/BPF/inlineasm-wreg.ll
M llvm/test/CodeGen/BPF/intrinsics.ll
M llvm/test/CodeGen/BPF/is_trunc_free.ll
M llvm/test/CodeGen/BPF/is_zext_free.ll
M llvm/test/CodeGen/BPF/ldsx.ll
M llvm/test/CodeGen/BPF/load.ll
M llvm/test/CodeGen/BPF/loops.ll
M llvm/test/CodeGen/BPF/many_args1.ll
M llvm/test/CodeGen/BPF/many_args2.ll
M llvm/test/CodeGen/BPF/mem_offset.ll
M llvm/test/CodeGen/BPF/mem_offset_be.ll
M llvm/test/CodeGen/BPF/memcmp.ll
M llvm/test/CodeGen/BPF/memcpy-expand-in-order.ll
M llvm/test/CodeGen/BPF/movsx.ll
M llvm/test/CodeGen/BPF/no-merge-attr.ll
M llvm/test/CodeGen/BPF/optnone-1.ll
M llvm/test/CodeGen/BPF/optnone-2.ll
M llvm/test/CodeGen/BPF/remove_truncate_1.ll
M llvm/test/CodeGen/BPF/remove_truncate_2.ll
M llvm/test/CodeGen/BPF/remove_truncate_3.ll
M llvm/test/CodeGen/BPF/remove_truncate_4.ll
M llvm/test/CodeGen/BPF/remove_truncate_5.ll
M llvm/test/CodeGen/BPF/remove_truncate_6.ll
M llvm/test/CodeGen/BPF/remove_truncate_7.ll
M llvm/test/CodeGen/BPF/remove_truncate_8.ll
M llvm/test/CodeGen/BPF/remove_truncate_9.ll
M llvm/test/CodeGen/BPF/rodata_1.ll
M llvm/test/CodeGen/BPF/rodata_2.ll
M llvm/test/CodeGen/BPF/rodata_3.ll
M llvm/test/CodeGen/BPF/rodata_4.ll
M llvm/test/CodeGen/BPF/rodata_5.ll
M llvm/test/CodeGen/BPF/rodata_6.ll
M llvm/test/CodeGen/BPF/rodata_7.ll
M llvm/test/CodeGen/BPF/sdiv_smod.ll
M llvm/test/CodeGen/BPF/sdiv_to_mul.ll
M llvm/test/CodeGen/BPF/select_ri.ll
M llvm/test/CodeGen/BPF/selectiondag-bug.ll
M llvm/test/CodeGen/BPF/setcc.ll
M llvm/test/CodeGen/BPF/shifts.ll
M llvm/test/CodeGen/BPF/sockex2.ll
M llvm/test/CodeGen/BPF/spill-alu32.ll
M llvm/test/CodeGen/BPF/store_imm.ll
M llvm/test/CodeGen/BPF/struct-arg.ll
M llvm/test/CodeGen/BPF/struct_ret1.ll
M llvm/test/CodeGen/BPF/struct_ret2.ll
M llvm/test/CodeGen/BPF/undef.ll
M llvm/test/CodeGen/BPF/vararg1.ll
M llvm/test/CodeGen/BPF/warn-call.ll
M llvm/test/CodeGen/BPF/warn-stack.ll
M llvm/test/CodeGen/BPF/xadd.ll
M llvm/test/CodeGen/BPF/xadd_legal.ll
M llvm/test/CodeGen/BPF/xaddd_v1.ll
Log Message:
-----------
[BPF,test] Change llc -march= to -mtriple=
Similar to 806761a7629df268c8aed49657aeccffa6bca449
-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple (e.g. Windows, macOS),
leaving a target triple which may not make sense.
Therefore, -march= is error-prone and not recommended for tests without
a target triple. The issue has been benign as we recognize
bpf*-apple-darwin as ELF instead of rejecting it outrightly.
Commit: 50046221b8e913ec6506eb96ce4c0cd267a5cc99
https://github.com/llvm/llvm-project/commit/50046221b8e913ec6506eb96ce4c0cd267a5cc99
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/Solaris.cpp
Log Message:
-----------
Revert "[Driver] Cache SanitizerArgs (NFC) (#119442)"
This reverts commit bae383ba6b53b0d8257c83f99ceecdd751d0a378.
Prerequisite to reverting #119071.
Commit: 1464b8ec8a675fd11dc7280db1c56aac03771b0a
https://github.com/llvm/llvm-project/commit/1464b8ec8a675fd11dc7280db1c56aac03771b0a
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/sanitizer-ld.c
M compiler-rt/lib/msan/msan_interceptors.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
R compiler-rt/test/msan/Linux/dn_expand.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/b64.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/dn_expand.cpp
Log Message:
-----------
Revert "Move interceptors for libresolv functions to MSan (#119071)"
This reverts commit f5f965058a5f9b835382f96bd4041bc7e608ece0.
Breaks a test on some bots, see
https://github.com/llvm/llvm-project/pull/119071#issuecomment-2544000926
Commit: 40a4cbb0f200e5e0bafbd58d55c2da6daab9515d
https://github.com/llvm/llvm-project/commit/40a4cbb0f200e5e0bafbd58d55c2da6daab9515d
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/MIR/X86/basic-block-liveins.mir
M llvm/test/CodeGen/MIR/X86/basic-block-not-at-start-of-line-error.mir
M llvm/test/CodeGen/MIR/X86/block-address-operands.mir
M llvm/test/CodeGen/MIR/X86/callee-saved-info.mir
M llvm/test/CodeGen/MIR/X86/cfi-def-cfa-offset.mir
M llvm/test/CodeGen/MIR/X86/cfi-def-cfa-register.mir
M llvm/test/CodeGen/MIR/X86/cfi-offset.mir
M llvm/test/CodeGen/MIR/X86/constant-pool-item-redefinition-error.mir
M llvm/test/CodeGen/MIR/X86/constant-pool.mir
M llvm/test/CodeGen/MIR/X86/constant-value-error.mir
M llvm/test/CodeGen/MIR/X86/copyIRflags.mir
M llvm/test/CodeGen/MIR/X86/dead-register-flag.mir
M llvm/test/CodeGen/MIR/X86/def-register-already-tied-error.mir
M llvm/test/CodeGen/MIR/X86/duplicate-memory-operand-flag.mir
M llvm/test/CodeGen/MIR/X86/duplicate-register-flag-error.mir
M llvm/test/CodeGen/MIR/X86/early-clobber-register-flag.mir
M llvm/test/CodeGen/MIR/X86/exception-function-state.mir
M llvm/test/CodeGen/MIR/X86/expected-align-in-memory-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-alignment-after-align-in-memory-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-basic-block-at-start-of-body.mir
M llvm/test/CodeGen/MIR/X86/expected-block-reference-in-blockaddress.mir
M llvm/test/CodeGen/MIR/X86/expected-comma-after-cfi-register.mir
M llvm/test/CodeGen/MIR/X86/expected-comma-after-memory-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-different-implicit-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-different-implicit-register-flag.mir
M llvm/test/CodeGen/MIR/X86/expected-function-reference-after-blockaddress.mir
M llvm/test/CodeGen/MIR/X86/expected-global-value-after-blockaddress.mir
M llvm/test/CodeGen/MIR/X86/expected-integer-after-offset-sign.mir
M llvm/test/CodeGen/MIR/X86/expected-integer-after-tied-def.mir
M llvm/test/CodeGen/MIR/X86/expected-integer-in-successor-weight.mir
M llvm/test/CodeGen/MIR/X86/expected-load-or-store-in-memory-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-machine-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-metadata-node-after-debug-location.mir
M llvm/test/CodeGen/MIR/X86/expected-metadata-node-after-exclaim.mir
M llvm/test/CodeGen/MIR/X86/expected-metadata-node-in-stack-object.mir
M llvm/test/CodeGen/MIR/X86/expected-named-register-in-allocation-hint.mir
M llvm/test/CodeGen/MIR/X86/expected-named-register-in-callee-saved-register.mir
M llvm/test/CodeGen/MIR/X86/expected-named-register-in-functions-livein.mir
M llvm/test/CodeGen/MIR/X86/expected-named-register-livein.mir
M llvm/test/CodeGen/MIR/X86/expected-newline-at-end-of-list.mir
M llvm/test/CodeGen/MIR/X86/expected-number-after-bb.mir
M llvm/test/CodeGen/MIR/X86/expected-offset-after-cfi-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-pointer-value-in-memory-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-positive-alignment-after-align.mir
M llvm/test/CodeGen/MIR/X86/expected-power-of-2-after-align.mir
M llvm/test/CodeGen/MIR/X86/expected-register-after-cfi-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-register-after-flags.mir
M llvm/test/CodeGen/MIR/X86/expected-size-integer-after-memory-operation.mir
M llvm/test/CodeGen/MIR/X86/expected-size-integer-after-memory-operation2.mir
M llvm/test/CodeGen/MIR/X86/expected-stack-object-function-context.mir
M llvm/test/CodeGen/MIR/X86/expected-stack-object.mir
M llvm/test/CodeGen/MIR/X86/expected-subregister-after-colon.mir
M llvm/test/CodeGen/MIR/X86/expected-target-flag-name.mir
M llvm/test/CodeGen/MIR/X86/expected-tied-def-after-lparen.mir
M llvm/test/CodeGen/MIR/X86/expected-value-in-memory-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-virtual-register-in-functions-livein.mir
M llvm/test/CodeGen/MIR/X86/external-symbol-operands.mir
M llvm/test/CodeGen/MIR/X86/fastmath.mir
M llvm/test/CodeGen/MIR/X86/frame-info-save-restore-points.mir
M llvm/test/CodeGen/MIR/X86/frame-info-stack-references.mir
M llvm/test/CodeGen/MIR/X86/frame-setup-instruction-flag.mir
M llvm/test/CodeGen/MIR/X86/function-liveins.mir
M llvm/test/CodeGen/MIR/X86/generic-instr-type.mir
M llvm/test/CodeGen/MIR/X86/global-value-operands.mir
M llvm/test/CodeGen/MIR/X86/immediate-operands.mir
M llvm/test/CodeGen/MIR/X86/implicit-register-flag.mir
M llvm/test/CodeGen/MIR/X86/inline-asm-registers.mir
M llvm/test/CodeGen/MIR/X86/instr-cfi-type.mir
M llvm/test/CodeGen/MIR/X86/instr-heap-alloc-operands.mir
M llvm/test/CodeGen/MIR/X86/instr-pcsections.mir
M llvm/test/CodeGen/MIR/X86/instr-symbols-and-mcsymbol-operands.mir
M llvm/test/CodeGen/MIR/X86/instructions-debug-location.mir
M llvm/test/CodeGen/MIR/X86/invalid-constant-pool-item.mir
M llvm/test/CodeGen/MIR/X86/invalid-metadata-node-type.mir
M llvm/test/CodeGen/MIR/X86/invalid-target-flag-name.mir
M llvm/test/CodeGen/MIR/X86/invalid-tied-def-index-error.mir
M llvm/test/CodeGen/MIR/X86/jump-table-info.mir
M llvm/test/CodeGen/MIR/X86/jump-table-redefinition-error.mir
M llvm/test/CodeGen/MIR/X86/killed-register-flag.mir
M llvm/test/CodeGen/MIR/X86/large-cfi-offset-number-error.mir
M llvm/test/CodeGen/MIR/X86/large-immediate-operand-error.mir
M llvm/test/CodeGen/MIR/X86/large-index-number-error.mir
M llvm/test/CodeGen/MIR/X86/large-offset-number-error.mir
M llvm/test/CodeGen/MIR/X86/large-size-in-memory-operand-error.mir
M llvm/test/CodeGen/MIR/X86/liveout-register-mask.mir
M llvm/test/CodeGen/MIR/X86/load-with-max-alignment.mir
M llvm/test/CodeGen/MIR/X86/machine-basic-block-operands.mir
M llvm/test/CodeGen/MIR/X86/machine-instructions.mir
M llvm/test/CodeGen/MIR/X86/machine-verifier-address.mir
M llvm/test/CodeGen/MIR/X86/machine-verifier.mir
M llvm/test/CodeGen/MIR/X86/memory-operands.mir
M llvm/test/CodeGen/MIR/X86/metadata-operands.mir
M llvm/test/CodeGen/MIR/X86/mircanon-flags.mir
M llvm/test/CodeGen/MIR/X86/missing-closing-quote.mir
M llvm/test/CodeGen/MIR/X86/missing-comma.mir
M llvm/test/CodeGen/MIR/X86/missing-implicit-operand.mir
M llvm/test/CodeGen/MIR/X86/named-registers.mir
M llvm/test/CodeGen/MIR/X86/newline-handling.mir
M llvm/test/CodeGen/MIR/X86/null-register-operands.mir
M llvm/test/CodeGen/MIR/X86/register-mask-operands.mir
M llvm/test/CodeGen/MIR/X86/register-operand-class-invalid0.mir
M llvm/test/CodeGen/MIR/X86/register-operand-class-invalid1.mir
M llvm/test/CodeGen/MIR/X86/register-operand-class.mir
M llvm/test/CodeGen/MIR/X86/register-operands-target-flag-error.mir
M llvm/test/CodeGen/MIR/X86/renamable-register-flag.mir
M llvm/test/CodeGen/MIR/X86/simple-register-allocation-hints.mir
M llvm/test/CodeGen/MIR/X86/spill-slot-fixed-stack-object-aliased.mir
M llvm/test/CodeGen/MIR/X86/spill-slot-fixed-stack-object-immutable.mir
M llvm/test/CodeGen/MIR/X86/spill-slot-fixed-stack-objects.mir
M llvm/test/CodeGen/MIR/X86/stack-object-debug-info.mir
M llvm/test/CodeGen/MIR/X86/stack-object-invalid-name.mir
M llvm/test/CodeGen/MIR/X86/stack-object-operand-name-mismatch-error.mir
M llvm/test/CodeGen/MIR/X86/stack-object-redefinition-error.mir
M llvm/test/CodeGen/MIR/X86/stack-objects.mir
M llvm/test/CodeGen/MIR/X86/standalone-register-error.mir
M llvm/test/CodeGen/MIR/X86/subreg-on-physreg.mir
M llvm/test/CodeGen/MIR/X86/subregister-index-operands.mir
M llvm/test/CodeGen/MIR/X86/subregister-operands.mir
M llvm/test/CodeGen/MIR/X86/successor-basic-blocks-weights.mir
M llvm/test/CodeGen/MIR/X86/successor-basic-blocks.mir
M llvm/test/CodeGen/MIR/X86/tied-def-operand-invalid.mir
M llvm/test/CodeGen/MIR/X86/tied-physical-regs-match.mir
M llvm/test/CodeGen/MIR/X86/undef-register-flag.mir
M llvm/test/CodeGen/MIR/X86/undefined-fixed-stack-object.mir
M llvm/test/CodeGen/MIR/X86/undefined-global-value.mir
M llvm/test/CodeGen/MIR/X86/undefined-ir-block-in-blockaddress.mir
M llvm/test/CodeGen/MIR/X86/undefined-ir-block-slot-in-blockaddress.mir
M llvm/test/CodeGen/MIR/X86/undefined-jump-table-id.mir
M llvm/test/CodeGen/MIR/X86/undefined-named-global-value.mir
M llvm/test/CodeGen/MIR/X86/undefined-register-class.mir
M llvm/test/CodeGen/MIR/X86/undefined-stack-object.mir
M llvm/test/CodeGen/MIR/X86/undefined-value-in-memory-operand.mir
M llvm/test/CodeGen/MIR/X86/undefined-virtual-register.mir
M llvm/test/CodeGen/MIR/X86/unexpected-type-phys.mir
M llvm/test/CodeGen/MIR/X86/unknown-instruction.mir
M llvm/test/CodeGen/MIR/X86/unknown-machine-basic-block.mir
M llvm/test/CodeGen/MIR/X86/unknown-metadata-keyword.mir
M llvm/test/CodeGen/MIR/X86/unknown-metadata-node.mir
M llvm/test/CodeGen/MIR/X86/unknown-named-machine-basic-block.mir
M llvm/test/CodeGen/MIR/X86/unknown-register.mir
M llvm/test/CodeGen/MIR/X86/unknown-subregister-index-op.mir
M llvm/test/CodeGen/MIR/X86/unknown-subregister-index.mir
M llvm/test/CodeGen/MIR/X86/unrecognized-character.mir
M llvm/test/CodeGen/MIR/X86/variable-sized-stack-object-size-error.mir
M llvm/test/CodeGen/MIR/X86/variable-sized-stack-objects.mir
M llvm/test/CodeGen/MIR/X86/virtual-register-redefinition-error.mir
M llvm/test/CodeGen/MIR/X86/virtual-registers.mir
M llvm/test/DebugInfo/MIR/InstrRef/instr-ref-roundtrip.mir
M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_illegal_locs.mir
M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_instrref_tolocs.mir
M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_recover_clobbers.mir
M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_stackslot_subregs.mir
M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_subreg_substitutions.mir
M llvm/test/DebugInfo/MIR/InstrRef/memory-operand-tracking.mir
M llvm/test/DebugInfo/MIR/InstrRef/no-duplicates.mir
M llvm/test/DebugInfo/MIR/InstrRef/no-metainstrs.mir
M llvm/test/DebugInfo/MIR/InstrRef/out-of-scope-blocks.mir
M llvm/test/DebugInfo/MIR/InstrRef/pretty-print.mir
M llvm/test/DebugInfo/MIR/InstrRef/single-assign-propagation.mir
M llvm/test/DebugInfo/MIR/InstrRef/substitusions-roundtrip.mir
M llvm/test/DebugInfo/MIR/X86/dbginfo-entryvals.mir
M llvm/test/DebugInfo/MIR/X86/live-debug-values-restore.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues-ignores-metaInstructions.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_match_clobber.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_match_move.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_one_clobber.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_one_move.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_loop.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb_clobbered.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb_move_to_clobber.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_load_in_loop.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_break.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_break_clobbered.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_clobbered.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond_clobber.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond_move.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_early_clobber.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_terminated.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_two_backedge.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_two_backedge_clobbered.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_clobbered.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_moved.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_outer_moved.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_many_loop_heads.mir
M llvm/test/DebugInfo/MIR/X86/multiple-param-dbg-value-entry.mir
M llvm/test/DebugInfo/MIR/X86/no-cfi-loc.mir
Log Message:
-----------
[MIR,test] Change llc -march=x86-64 to -mtriple=x86_64
Similar to 806761a7629df268c8aed49657aeccffa6bca449
-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple (e.g. Windows, macOS).
Therefore, -march= is error-prone and not recommended for tests without
a target triple. The issue has been benign as these MIR tests do not
utilize object file format specific detail, but it's good to change
these tests to neighbor files that use -mtriple=x86_64
Commit: e339f0a9daf2e61bd24414c99e49e0170c9a486e
https://github.com/llvm/llvm-project/commit/e339f0a9daf2e61bd24414c99e49e0170c9a486e
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/MIR/X86/dbg-value-list.mir
M llvm/test/DebugInfo/MIR/X86/backup-entry-values-usage.mir
M llvm/test/DebugInfo/MIR/X86/complex-entryvalue.mir
M llvm/test/DebugInfo/MIR/X86/entry-value-of-modified-param.mir
M llvm/test/DebugInfo/MIR/X86/entry-value-of-modified-param2.mir
M llvm/test/DebugInfo/MIR/X86/entry-values-diamond-bbs.mir
M llvm/test/DebugInfo/MIR/X86/kill-entry-value-after-diamond-bbs.mir
M llvm/test/DebugInfo/MIR/X86/kill-entry-value-after-diamond-bbs2.mir
M llvm/test/DebugInfo/MIR/X86/live-debug-values-3preds.mir
M llvm/test/DebugInfo/MIR/X86/live-debug-values-spill.mir
M llvm/test/DebugInfo/MIR/X86/live-debug-values.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues-limit.mir
M llvm/test/DebugInfo/MIR/X86/piece-entryval.mir
M llvm/test/DebugInfo/MIR/X86/propagate-entry-value-cross-bbs.mir
M llvm/test/DebugInfo/MIR/X86/remove-entry-value-from-loop.mir
Log Message:
-----------
[test] Remove redundant -march=x86-64 when target triple is specified in IR
Commit: 6e8718c3e32225c579a3a974be003c7f38c32a05
https://github.com/llvm/llvm-project/commit/6e8718c3e32225c579a3a974be003c7f38c32a05
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/ARC/addrmode.ll
M llvm/test/CodeGen/ARC/alu.ll
M llvm/test/CodeGen/ARC/brcc.ll
M llvm/test/CodeGen/ARC/call.ll
M llvm/test/CodeGen/ARC/intrinsics.ll
M llvm/test/CodeGen/ARC/ldst.ll
Log Message:
-----------
[ARC,test] Change llc -march= to -mtriple=
Similar to 806761a7629df268c8aed49657aeccffa6bca449
-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple (e.g. Windows, macOS),
leaving a target triple which may not make sense.
Therefore, -march= is error-prone and not recommended for tests without
a target triple. The issue has been benign as we recognize
arc-apple-darwin as ELF instead of rejecting it outrightly.
Commit: 133352feb30605ec51b15f77826ed3a2fbf8db56
https://github.com/llvm/llvm-project/commit/133352feb30605ec51b15f77826ed3a2fbf8db56
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/stack-tagging-ex-2.ll
M llvm/test/CodeGen/Hexagon/autohvx/float-cost.ll
M llvm/test/CodeGen/Hexagon/autohvx/interleave.ll
M llvm/test/CodeGen/Hexagon/autohvx/maximize-bandwidth.ll
M llvm/test/CodeGen/Hexagon/bug15515-shuffle.ll
M llvm/test/CodeGen/Hexagon/const-pool-tf.ll
M llvm/test/CodeGen/Hexagon/glob-align-volatile.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-infinite-loop.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-long-loop.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-mod.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-shiftconv-fail.ll
M llvm/test/CodeGen/Hexagon/vcombine_zero_diff_ptrs.ll
M llvm/test/CodeGen/Lanai/delay_filler.ll
M llvm/test/CodeGen/Lanai/lowering-128.ll
M llvm/test/CodeGen/NVPTX/surf-read.ll
M llvm/test/CodeGen/NVPTX/surf-write.ll
M llvm/test/CodeGen/NVPTX/tex-read.ll
M llvm/test/CodeGen/PowerPC/ppc64le-aggregates.ll
M llvm/test/CodeGen/Thumb2/bug-subw.ll
M llvm/test/DebugInfo/NVPTX/debug-ptx-symbols.ll
M llvm/test/DebugInfo/X86/instr-ref-flag.ll
M llvm/test/DebugInfo/X86/no-entry-values-with-O0.ll
M llvm/test/DebugInfo/X86/single-dbg_value.ll
M llvm/test/Transforms/LoadStoreVectorizer/NVPTX/propagate-invariance-metadata.ll
M llvm/test/Transforms/StraightLineStrengthReduce/NVPTX/reassociate-geps-and-slsr.ll
M llvm/test/Transforms/StraightLineStrengthReduce/NVPTX/speculative-slsr.ll
Log Message:
-----------
[test] Remove redundant -march= when target triple is specified in IR
Commit: 43045051d4114f2490bf0e6b01a7969d5c27ee04
https://github.com/llvm/llvm-project/commit/43045051d4114f2490bf0e6b01a7969d5c27ee04
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/icmp-uniforms.ll
M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[VPlan] Modernize VPWidenIntOrFpInductionRecipe printing (NFC).
Modernize VPWidenIntOrFpInductionRecipe printing by including the result
VPValue and all operand VPValues, similar to VPScalarIVStepsRecipe and
VPDerivedIVRecipe.
Commit: 8d550aa0f027eb2cf32850f3905dc1db22317587
https://github.com/llvm/llvm-project/commit/8d550aa0f027eb2cf32850f3905dc1db22317587
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/X86/stack-frame-layout-remarks.ll
Log Message:
-----------
[test] Replace -march=x86 -mcpu=i386 with -mtriple
Commit: cd12922235f14a78eeed25fabf364950d02cb786
https://github.com/llvm/llvm-project/commit/cd12922235f14a78eeed25fabf364950d02cb786
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/Analysis/CostModel/X86/scalarize.ll
M llvm/test/CodeGen/MIR/X86/fixed-stack-memory-operands.mir
M llvm/test/CodeGen/MIR/X86/fixed-stack-object-redefinition-error.mir
M llvm/test/CodeGen/MIR/X86/fixed-stack-objects.mir
M llvm/test/CodeGen/MIR/X86/stack-object-operands.mir
M llvm/test/CodeGen/X86/2006-10-02-BoolRetCrash.ll
M llvm/test/MachineVerifier/test_copy_physregs_x86.mir
M llvm/test/MachineVerifier/verify-regops.mir
M llvm/test/Transforms/NaryReassociate/NVPTX/nary-slsr.ll
Log Message:
-----------
[test] Change llc -march= to -mtriple=
Similar to 806761a7629df268c8aed49657aeccffa6bca449
-march= is error-prone when running on a host whose OS is different.
Commit: 7168de5ca7a09b929006bd0fb5c3d9510c0ba058
https://github.com/llvm/llvm-project/commit/7168de5ca7a09b929006bd0fb5c3d9510c0ba058
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M lld/COFF/COFFLinkerContext.h
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
M lld/COFF/SymbolTable.h
M lld/test/COFF/arm64ec-codemap.test
M lld/test/COFF/arm64ec-entry-thunk.s
M lld/test/COFF/arm64ec-lib.test
M lld/test/COFF/arm64ec-range-thunks.s
R lld/test/COFF/arm64x-symtab.s
Log Message:
-----------
Revert "[LLD][COFF] Introduce hybrid symbol table for EC input files on ARM64X (#119294)"
This reverts commit a8206e7b37929f4754806667680ffba0206eef95 due to sanitizer failures.
Commit: e86910337f98e57f5b9253f7d80d5b916eb1d97e
https://github.com/llvm/llvm-project/commit/e86910337f98e57f5b9253f7d80d5b916eb1d97e
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
Log Message:
-----------
[webkit.UncountedLambdaCapturesChecker] Add a fallback for checking lambda captures (#119800)
Commit: 938cdd60d4938e32a7f4f1620e3d9c11aabc4af5
https://github.com/llvm/llvm-project/commit/938cdd60d4938e32a7f4f1620e3d9c11aabc4af5
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Transform/Transforms/CheckUses.cpp
M mlir/test/Dialect/Transform/check-use-after-free.mlir
Log Message:
-----------
correctly check uses of pattern descriptor transform ops (#118791)
In the transform dialect use-after-free chcker pass, account for pattern
descriptor operations that intentionally have no declared side effects.
They are not destroying any handles.
Closes #118761.
Commit: 1c352e66e7bac03a654cbd4c13c3bec6ed346048
https://github.com/llvm/llvm-project/commit/1c352e66e7bac03a654cbd4c13c3bec6ed346048
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/test/Dialect/Transform/test-interpreter.mlir
Log Message:
-----------
make transform.split_handle accept any handle kind (#118752)
It can now split value and parameter handles in addition to operation
handles. This is a generally useful functionality.
Commit: d072ca1a496cc3f4ad0adf6f7d43f76406a704d6
https://github.com/llvm/llvm-project/commit/d072ca1a496cc3f4ad0adf6f7d43f76406a704d6
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Func/IR/FuncOps.td
M mlir/lib/Dialect/Func/Extensions/InlinerExtension.cpp
M mlir/test/Transforms/inlining.mlir
Log Message:
-----------
[mlir] add noinline attribute to func.func/call (#119970)
This allows for inlining to be somewhat controlled by the user instead
of always inlining everything. External heuristics may be used to place
`no_inline` attributes on invidiual calls or functions to prevent
inlining.
Commit: 8345a95a404cb490918201274da877b8ca2edf51
https://github.com/llvm/llvm-project/commit/8345a95a404cb490918201274da877b8ca2edf51
Author: William Moses <gh at wsmoses.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/lib/CAPI/Dialect/LLVM.cpp
Log Message:
-----------
MLIR-C: Add accessor for LLVM array type (#119998)
Commit: 646ad49eacea19cfd656145cd41ae5ef99029a97
https://github.com/llvm/llvm-project/commit/646ad49eacea19cfd656145cd41ae5ef99029a97
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[llvm-jitlink] Avoid some SymbolStringPtr copies.
Commit: 8daf4f16fa08b5d876e98108721dd1743a360326
https://github.com/llvm/llvm-project/commit/8daf4f16fa08b5d876e98108721dd1743a360326
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M compiler-rt/lib/orc/CMakeLists.txt
A compiler-rt/lib/orc/sysv_reenter.x86-64.S
M compiler-rt/test/orc/TestCases/Generic/lazy-link.ll
M llvm/include/llvm/ExecutionEngine/JITLink/x86_64.h
M llvm/lib/ExecutionEngine/JITLink/x86_64.cpp
M llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
Log Message:
-----------
[ORC][ORC-RT] Add ORC-RT based lazy compilation support for x86-64.
Adds support for the ORC-RT based lazy compilation scheme that was introduced
in 570ecdcf8b4.
Commit: f86f4574bbab9cb8c998f9e6560c68696c45f90f
https://github.com/llvm/llvm-project/commit/f86f4574bbab9cb8c998f9e6560c68696c45f90f
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M bolt/test/X86/linux-static-keys.s
Log Message:
-----------
[BOLT][Linux] Fix static keys test case (#119771)
The key address in the static keys jump table was incorrectly encoded as
an absolute value instead of PC-relative causing incorrect
interpretation of the "likely" property of the key.
Commit: ca60ee2b8c57034175f590f0aff5978a066569a0
https://github.com/llvm/llvm-project/commit/ca60ee2b8c57034175f590f0aff5978a066569a0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/test/MachineVerifier/test_abd_su.mir
Log Message:
-----------
[GISel] Remove unnecessary MachineVerifier checks for G_ABDS/G_ABDU. (#120014)
These are declared to use a single type index for all operands in
GenericOpcodes.td and the verifier knows how to check that all operands
with the same type index match.
Commit: 73eecb70c2abb1c6149647ec213cb9312c398569
https://github.com/llvm/llvm-project/commit/73eecb70c2abb1c6149647ec213cb9312c398569
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenTarget.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.h
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Don't use std::optional with pointers (NFC) (#120026)
Pointers already have a well-defined null value.
Commit: bb18e49edb2c4bbb7dd70ee0b5946598822a4e2a
https://github.com/llvm/llvm-project/commit/bb18e49edb2c4bbb7dd70ee0b5946598822a4e2a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/DiagnosticInfo.h
M llvm/lib/CodeGen/RegAllocBase.cpp
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/lib/IR/DiagnosticInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-anyregcc-crash.ll
M llvm/test/CodeGen/AMDGPU/illegal-eviction-assert.mir
M llvm/test/CodeGen/AMDGPU/issue48473.mir
A llvm/test/CodeGen/AMDGPU/ran-out-of-registers-error-all-regs-reserved.ll
A llvm/test/CodeGen/AMDGPU/ran-out-of-registers-errors.ll
M llvm/test/CodeGen/AMDGPU/remaining-virtual-register-operands.ll
M llvm/test/CodeGen/PowerPC/ppc64-anyregcc-crash.ll
M llvm/test/CodeGen/X86/anyregcc-crash.ll
Log Message:
-----------
RegAlloc: Use DiagnosticInfo to report register allocation failures (#119492)
Improve the non-fatal cases to use DiagnosticInfo, which will now
provide a location. The allocators attempt to report different errors
if it happens to see inline assembly is involved (this detection is
quite unreliable) using srcloc instead of dbgloc. For now, leave this
behavior unchanged. I think reporting the full location and context
function would be more useful.
Commit: 61f99a1c75e9dc84b70d6f2a660e99c1ac182e5b
https://github.com/llvm/llvm-project/commit/61f99a1c75e9dc84b70d6f2a660e99c1ac182e5b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/RegAllocBase.cpp
M llvm/lib/CodeGen/RegAllocBase.h
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/lib/CodeGen/VirtRegMap.cpp
M llvm/test/CodeGen/AMDGPU/alloc-all-regs-reserved-in-class.mir
M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-error-all-regs-reserved.ll
M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-errors.ll
M llvm/test/CodeGen/AMDGPU/regalloc-illegal-eviction-assert.ll
Log Message:
-----------
RegAlloc: Do not fatal error if there are no registers in the alloc order (#119640)
Try to use DiagnosticInfo if every register in the class is reserved
by forcing assignment to a reserved register. Also reduces the number
of redundant errors emitted, particularly with fast.
This is still broken in the case of undef uses. There are additional
complications in greedy and fast, so leave it for a separate fix.
Commit: 818bffcb1c454da8ec778327bde3d974dfe44550
https://github.com/llvm/llvm-project/commit/818bffcb1c454da8ec778327bde3d974dfe44550
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-error-all-regs-reserved.ll
Log Message:
-----------
RegAlloc: Fix failure on undef use when all registers are reserved (#119647)
Greedy and fast would hit different assertions on undef uses if all
registers in a class were reserved.
Commit: 58cd17d960462c63c3a964efe539ae15774a6c66
https://github.com/llvm/llvm-project/commit/58cd17d960462c63c3a964efe539ae15774a6c66
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
Log Message:
-----------
[ORC] Add comments to ResourceManager to clarify locking rules.
Commit: 4914b188998deb50402405567d5a98186bf0a155
https://github.com/llvm/llvm-project/commit/4914b188998deb50402405567d5a98186bf0a155
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/LazyObjectLinkingLayer.h
Log Message:
-----------
[ORC] Fix / add comments for LazyObjectLinkingLayer. NFC.
Also remove some redundant namespace qualification.
Commit: f8ad6e0cdae3cbc1618b19c3c7b41021070c0e94
https://github.com/llvm/llvm-project/commit/f8ad6e0cdae3cbc1618b19c3c7b41021070c0e94
Author: Luke Lau <luke at igalia.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
Log Message:
-----------
[RISCV][VLOPT] Get MachineInstr from MachineOperand in getOperandInfo. NFC (#119838)
IICU MI should be MO's parent, so just use MachineOperand::getParent().
Commit: 4746395bd75bc234dfd026bad672613b99e87e7a
https://github.com/llvm/llvm-project/commit/4746395bd75bc234dfd026bad672613b99e87e7a
Author: Luke Lau <luke at igalia.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/mask-index-type.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll
Log Message:
-----------
[VPlan] Omit zero add in VPWidenIntOrFpInductionRecipe (#119668)
I'm not sure if getStepVector was used for other things in the past
where StartIdx was non-zero, but nowadays VPWidenIntOrFpInductionRecipe
is the only user of it, and just passes zero to it. I presume
InstCombine was already catching this so hopefully removing this won't
affect codegen.
Commit: 9571d2023bee35f7c0e60a931ce5a4074d034635
https://github.com/llvm/llvm-project/commit/9571d2023bee35f7c0e60a931ce5a4074d034635
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
Log Message:
-----------
[RISCV] Add tune info for postra scheduling direction (#115864)
The results differ on different platforms so it is really hard to
determine a common default value.
Tune info for postra scheduling direction is added and CPUs can
set their own preferable postra scheduling direction.
Commit: de1a423c2356d2040cab74e657ed024bf9ce8517
https://github.com/llvm/llvm-project/commit/de1a423c2356d2040cab74e657ed024bf9ce8517
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-threeway-cmp.mir
M llvm/test/CodeGen/AArch64/scmp.ll
M llvm/test/CodeGen/AArch64/ucmp.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-threeway-cmp-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-threeway-cmp-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/scmp.ll
M llvm/test/CodeGen/RISCV/GlobalISel/ucmp.ll
Log Message:
-----------
[GISel][RISCV][AArch64] Support legalizing G_SCMP/G_UCMP to sub(isgt,islt). (#119265)
Convert the LLT to EVT and call
TargetLowering::shouldExpandCmpUsingSelects to determine if we should do
this.
We don't have a getSetccResultType, so I'm boolean extending the
compares to the result type and using that. If the compares legalize to
the same type, these extends will get removed. Unfortunately, if the
compares legalize to a different type, we end up with truncates or
extends that might not be optimally placed.
Commit: e4fb30205f1df5156328b234ff2a2866b7035fef
https://github.com/llvm/llvm-project/commit/e4fb30205f1df5156328b234ff2a2866b7035fef
Author: hev <wangrui at loongson.cn>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchOptWInstrs.cpp
M llvm/test/CodeGen/LoongArch/sextw-removal.ll
Log Message:
-----------
[LoongArch] Adds support for vectors in OptWInstrs (#118935)
Commit: f420d26e9dd7ff6aed435f86e7d6768501a29741
https://github.com/llvm/llvm-project/commit/f420d26e9dd7ff6aed435f86e7d6768501a29741
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
Log Message:
-----------
[ORC] Make ObjectLinkingLayerJITLinkContext a private nested class.
This class is an implementation detail, so doesn't need a publicly accessible
name.
Commit: 9ba7e2da009d7128c81e16f5a8e60c9abcb0e83d
https://github.com/llvm/llvm-project/commit/9ba7e2da009d7128c81e16f5a8e60c9abcb0e83d
Author: David Green <david.green at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-ext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-and.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-merge-values.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-or.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-shuffle-vector.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-xor.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-zext.mir
Log Message:
-----------
[GlobalISel] Use replaceRegOrBuildCopy when legalizer-combining s/zext(undef) (#119850)
Similar to #119721, this helps remove some of the COPYs created by the
CSE builder.
Commit: b446c208a5f0e2ad7193cc23e70642d207db4d13
https://github.com/llvm/llvm-project/commit/b446c208a5f0e2ad7193cc23e70642d207db4d13
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibFunc.h
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-image-function-signatures.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ldexp.ll
Log Message:
-----------
AMDGPU: Verify function type matches when matching libcalls (#119043)
Previously this would recognize a call to a mangled ldexp(float, float)
as a candidate to replace with the intrinsic. We need to verify the second
parameter is in fact an integer.
Fixes: SWDEV-501389
Commit: 1100d6a995fe392b3885b8d2bd5afed2bd57e80c
https://github.com/llvm/llvm-project/commit/1100d6a995fe392b3885b8d2bd5afed2bd57e80c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/test/CodeGenOpenCL/opencl_types.cl
M llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-image-function-signatures.ll
Log Message:
-----------
AMDGPU: Fix libcall recognition of image array types (#119832)
Add tests with get_image_width as a sample for all of the non-extension
image types. The transform doesn't do anything, but this runs through
all the mangled libfunc parsing and shows it does not crash. It would
probably be smarter to check for exact match of the types, rather than
checking the prefix.
Commit: 6dc24f6a2fcf0a199e007dc127ca5a4901a3a24e
https://github.com/llvm/llvm-project/commit/6dc24f6a2fcf0a199e007dc127ca5a4901a3a24e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/test/MachineVerifier/test_uscmp.mir
Log Message:
-----------
[GISel] Improve MachineVerifier for G_SCMP/UCMP. (#120017)
-Ensure destination type is at least 2 bits.
-Remove unnecessary check that both sources are the same type. The
verifier already handles this generically.
Commit: 8476ba71f20a6c260c8b55822ce02db45f8252be
https://github.com/llvm/llvm-project/commit/8476ba71f20a6c260c8b55822ce02db45f8252be
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/Transforms/PGOProfile/memprof_match_hot_cold_new_calls.ll
Log Message:
-----------
[memprof] YAMLify one test (NFC) (#119955)
This patch replaces the raw binary profile with a YAML profile.
I've trimmed the profile by removing all MemProfRecords except the one
for _Z3foov.
This patch demonstrates that we can see !memprof generated even with a
YAML profile.
Commit: 62cd735db36c1ba41ba627c8336dfa643ff703af
https://github.com/llvm/llvm-project/commit/62cd735db36c1ba41ba627c8336dfa643ff703af
Author: Yuhao Gu <49391101+yhgu2000 at users.noreply.github.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
Log Message:
-----------
[docs] remove some out-of-date content in LLVM Programmer's Manual. (#119565)
Remove the part about implicit conversion from an iterator to a pointer.
This part of the manual was written 14 years ago, in:
https://github.com/llvm/llvm-project/commit/37027c30ec526afe3bb571df6f8701bf0d322f22
There do exist a type casting operator in `ilist` then:
https://github.com/llvm/llvm-project/blob/37027c30ec526afe3bb571df6f8701bf0d322f22/llvm/include/llvm/ADT/ilist.h#L192-L194
But it has been remove since 2016:
https://github.com/llvm/llvm-project/commit/f197b1f78f854d8513ef617b8cfc61860f7b4b84
So I think it makes sense to remove this part to avoid mislead new
contributors.
Commit: 115872902b9b056d42e24273f93a2be7c93d2f54
https://github.com/llvm/llvm-project/commit/115872902b9b056d42e24273f93a2be7c93d2f54
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/double-arith.ll
M llvm/test/CodeGen/RISCV/GlobalISel/double-convert.ll
M llvm/test/CodeGen/RISCV/GlobalISel/double-fcmp.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-arith.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-convert.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-fcmp.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-intrinsics.ll
M llvm/test/CodeGen/RISCV/GlobalISel/fp128.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-addo-subo-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-icmp-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-sat-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-umax-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-umin-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/ucmp.ll
Log Message:
-----------
[GISel][RISCV] Use isSExtCheaperThanZExt when widening G_ICMP. (#120032)
Sign extending i32->i64 is more efficient than zero extend for RV64.
Commit: 54dac27c57d05d3f5c33bd4ec878bcb0a9c7cb71
https://github.com/llvm/llvm-project/commit/54dac27c57d05d3f5c33bd4ec878bcb0a9c7cb71
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-umax-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-umin-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
Log Message:
-----------
[GISel][RISCV] Use isSExtCheaperThanZExt when widening G_UMAX/G_UMIN. (#120041)
Similar to what we do for unsigned comparisons after #120032.
Commit: f65a21a4ecc2e712c700c59842b6b9a1d2a9a060
https://github.com/llvm/llvm-project/commit/f65a21a4ecc2e712c700c59842b6b9a1d2a9a060
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/ptrauth-module-flags.c
M llvm/include/llvm/CodeGen/MachineModuleInfoImpls.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp
M llvm/lib/CodeGen/MachineModuleInfoImpls.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
M llvm/lib/Target/TargetLoweringObjectFile.cpp
A llvm/test/CodeGen/AArch64/ptrauth-sign-personality.ll
Log Message:
-----------
[PAC][ELF][AArch64] Support signed personality function pointer (#119361)
Re-apply #113148 after revert in #119331
If function pointer signing is enabled, sign personality function
pointer stored in `.DW.ref.__gxx_personality_v0` section with IA key,
0x7EAD = `ptrauth_string_discriminator("personality")` constant
discriminator and address diversity enabled.
Commit: a3db5910b434d746c9c0585a092100ff7abcd1a0
https://github.com/llvm/llvm-project/commit/a3db5910b434d746c9c0585a092100ff7abcd1a0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/RegAllocBase.cpp
Log Message:
-----------
RegAllocBase: Avoid using temporary DiagnosticInfo (#120046)
Commit: 003fb2aeb49dc7440cab7e009bd264f8f42fc8dc
https://github.com/llvm/llvm-project/commit/003fb2aeb49dc7440cab7e009bd264f8f42fc8dc
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
A llvm/test/Transforms/ConstraintElimination/sub-nsw.ll
Log Message:
-----------
[ConstraintElim] Decompose `sub nsw` (#118219)
Closes https://github.com/llvm/llvm-project/issues/118211.
Commit: b4c1f0cc492f1597397dcf0b06b816fa0a2135f1
https://github.com/llvm/llvm-project/commit/b4c1f0cc492f1597397dcf0b06b816fa0a2135f1
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M lldb/test/API/CMakeLists.txt
Log Message:
-----------
[lldb][test] Prefer gmake to make and warn for potentially non-GNU make (#119573)
System make on FreeBSD is missing some GNU make features so out of the
box you get a lot of:
```
make: "<...>/Makefile.rules" line 569: Invalid line type
```
To solve this, you can install gmake which is a port of GNU make.
However because we prefer 'make', gmake won't be used unless you set
LLDB_TEST_MAKE.
To fix that, prefer 'gmake'. Also check (as best we can) that the make
we found is GNU make. This won't be perfect but it's better than the
cryptic error shown above.
```
-- Found make: /usr/bin/make
CMake Warning at /home/ec2-user/llvm-project/lldb/test/API/CMakeLists.txt:63 (message):
'make' tool /usr/bin/make may not be GNU make compatible. Some tests may
fail to build. Provide a GNU compatible 'make' tool by setting
LLDB_TEST_MAKE.
```
When a make isn't found at all, the warning message will show the names
we tried:
```
-- Did not find one of: gmake make
CMake Warning at /home/ec2-user/llvm-project/lldb/test/API/CMakeLists.txt:69 (message):
Many LLDB API tests require a 'make' tool. Please provide it in Path or
pass via LLDB_TEST_MAKE.
```
Commit: a35db2880a488b62a16f269972ad885fd58033f7
https://github.com/llvm/llvm-project/commit/a35db2880a488b62a16f269972ad885fd58033f7
Author: David Green <david.green at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp
M llvm/lib/CodeGen/MIRCanonicalizerPass.cpp
M llvm/lib/CodeGen/MachineCombiner.cpp
M llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/ModuloSchedule.cpp
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp
Log Message:
-----------
[NFC] Remove some unnecessary semicolons
All inside LLVM_DEBUG, some of which have been cleaned up by adding block
scopes to allow them to format more nicely.
Commit: a24645463bd8a758005f4e5fdcd78971f87e3ba1
https://github.com/llvm/llvm-project/commit/a24645463bd8a758005f4e5fdcd78971f87e3ba1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[CI] Only upload test results if buildkite-agent is present (#119954)
This patch modifies the monolithic shell scrips to only run if the
buildkite-agent application is present. This allows for running the
scripts to completion outside of buildkite (eg inside of a GHA
pipeline).
Commit: 2503a6659621e27e6b4c5946c3acff7a5b9dadca
https://github.com/llvm/llvm-project/commit/2503a6659621e27e6b4c5946c3acff7a5b9dadca
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/shifts.cpp
Log Message:
-----------
Reapply "[clang][bytecode] Fix some shift edge cases (#119895)"
This reverts commit a6636ce4d124176856c3913d4bf6c3ceff1f5a1f.
This original commit failed on hosts with signed wchar_t. Care for
this in the test.
Commit: 92a4f4dda5796049b6dbeb5ed89384380bff97d9
https://github.com/llvm/llvm-project/commit/92a4f4dda5796049b6dbeb5ed89384380bff97d9
Author: Vadim D. <vvd170501 at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/lib/Tooling/Inclusions/Stdlib/StdSpecialSymbolMap.inc
M clang/lib/Tooling/Inclusions/Stdlib/StdSymbolMap.inc
Log Message:
-----------
[Tooling/Inclusion] Update std symbol mapping (#118174)
This adds new symbols to the generated mapping and removes special
mappings for missing symbols introduced in #113612, as these symbols are
now included in the generated mapping.
Commit: e0fb3acd8a0b2a9340b9b2ae370c84c98f1a5cc2
https://github.com/llvm/llvm-project/commit/e0fb3acd8a0b2a9340b9b2ae370c84c98f1a5cc2
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M compiler-rt/lib/builtins/aarch64/sme-abi.S
M compiler-rt/lib/builtins/aarch64/sme-libc-mem-routines.S
Log Message:
-----------
[compiler-rt][AArch64] Allow platform-specific mangling of SME routines. (#119864)
Support platform-specific mangling to avoid the compiler emitting a call
to a function that is mangled differently than the definition in the
runtime library.
Commit: ace87ec04cd588e5fbe393c3b642bd759a7abadb
https://github.com/llvm/llvm-project/commit/ace87ec04cd588e5fbe393c3b642bd759a7abadb
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/test/CodeGen/AMDGPU/gfx12_scalar_subword_loads.ll
Log Message:
-----------
[AMDGPU][AMDGPURegBankInfo] Map S_BUFFER_LOAD_XXX to its corresponding BUFFER_LOAD_XXX (#117574)
In one test code generation diverged between GISEL and DAG
For example, this intrinsic
> %ld = call i8 @llvm.amdgcn.s.buffer.load.u8(<4 x i32> %src, i32
%offset, i32 0)
would be lowered into these two cases:
* `buffer_load_u8 v2, v2, s[0:3], null offen`
* `buffer_load_b32 v2, v2, s[0:3], null offen`
This patch fixes this issue.
Commit: 978de2d6664a74864471d62244700c216fdc6741
https://github.com/llvm/llvm-project/commit/978de2d6664a74864471d62244700c216fdc6741
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCCodeEmitter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.h
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_float_controls2/exec_mode_float_control_empty.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_float_controls2/exec_mode_float_control_intel.ll
M llvm/test/CodeGen/SPIRV/instructions/integer-casts.ll
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/constrained-arithmetic.ll
Log Message:
-----------
[SPIR-V] Add saturation and float rounding mode decorations, a subset of arithmetic constrained floating-point intrinsics, and SPV_INTEL_float_controls2 extension (#119862)
This PR adds the following features:
* saturation and float rounding mode decorations,
* arithmetic constrained floating-point intrinsics (strict_fadd,
strict_fsub, strict_fmul, strict_fdiv, strict_frem, strict_fma and
strict_fldexp),
* and SPV_INTEL_float_controls2 extension,
* using recent improvements of emit-intrinsics step, this PR also
simplifies pre- and post-legalizer steps and improves instruction
selection.
Commit: 95e509a98993e84ef987accb2ed7109c3810281e
https://github.com/llvm/llvm-project/commit/95e509a98993e84ef987accb2ed7109c3810281e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
Log Message:
-----------
[VPlan] Add VPWidenInduction recipe as common base class (NFC). (#120008)
This helps to simplify some existing code and new code
(https://github.com/llvm/llvm-project/pull/112145)
PR: https://github.com/llvm/llvm-project/pull/120008
Commit: aff3e68d6f10dd3087c29a09865683b9d35a362e
https://github.com/llvm/llvm-project/commit/aff3e68d6f10dd3087c29a09865683b9d35a362e
Author: Shao-Ce SUN <sunshaoce at outlook.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/MC/TargetRegistry.cpp
M llvm/test/tools/llc/invalid-target.ll
M llvm/tools/llc/llc.cpp
Log Message:
-----------
[LLVM][tools] Remove unnecessary newline from error message (#120037)
The previous missing a newline:
```shell
$ llc --mattr=help
llc: error: unable to get target for 'unknown', see --version and --triple.$
```
Commit: 3b17d041dd775e033cca499f2a25548c8c22bb86
https://github.com/llvm/llvm-project/commit/3b17d041dd775e033cca499f2a25548c8c22bb86
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/sve-load-store-strict-align.ll
A llvm/test/CodeGen/AArch64/sve-unaligned-load-store-strict-align.ll
Log Message:
-----------
[AArch64][SVE] Don't require 16-byte aligned SVE loads/stores with +strict-align (#119732)
Instead, allow any alignment >= the element size (in bytes). This is all
that is needed for (predicated) vector loads even if unaligned accesses
are disabled.
See:
https://developer.arm.com/documentation/ddi0602/2024-09/Shared-Pseudocode/aarch64-functions-memory?lang=en#impl-aarch64.Mem.read.3
Specifically:
```
// Check alignment on size of element accessed, not overall access size.
constant integer alignment = if accdesc.ispair then size DIV 2 else size;
```
The `size` passed to `Mem` by SVE load/store instructions is the element
size.
Commit: 9455ea740d8ef91f73e0c7d4e1fc04a705d37ad8
https://github.com/llvm/llvm-project/commit/9455ea740d8ef91f73e0c7d4e1fc04a705d37ad8
Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
A llvm/test/MC/ARM/idiv-2op.s
M llvm/test/MC/ARM/idiv.s
Log Message:
-----------
[ARM][Thumb2] Allow 2-operand variants of `[us]div` (#119976)
Fixes #119963
Commit: e31c70d9fa9ba4e61ecf0b34fbc6da2785e60eb6
https://github.com/llvm/llvm-project/commit/e31c70d9fa9ba4e61ecf0b34fbc6da2785e60eb6
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
Log Message:
-----------
[AArch64] Add immediate range checks for more MTE instructions (#119216)
This would have turned the bug fixed in #117146 from a miscompilation
into an assertion failure.
Commit: 0dbdc23e78ac1f34a5b563f2db73f9ca64714fac
https://github.com/llvm/llvm-project/commit/0dbdc23e78ac1f34a5b563f2db73f9ca64714fac
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M lldb/include/lldb/Core/Progress.h
M lldb/source/Core/Progress.cpp
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/unittests/Core/ProgressReportTest.cpp
Log Message:
-----------
[lldb] Add ability to rate-limit progress reports (#119377)
For high-frequency multithreaded progress reports, the contention of
taking the progress mutex and the overhead of generating event can
significantly slow down the operation whose progress we are reporting.
This patch adds an (optional) capability to rate-limit them. It's
optional because this approach has one drawback: if the progress
reporting has a pattern where it generates a burst of activity and then
blocks (without reporting anything) for a large amount of time, it can
appear as if less progress was made that it actually was (because we
only reported the first event from the burst and dropped the other
ones).
I've also made a small refactor of the Progress class to better
distinguish between const (don't need protection), atomic (are used on
the hot path) and other (need mutex protection) members.
Commit: 6414d6174198689f00ff325e667fff9eb1c0d9de
https://github.com/llvm/llvm-project/commit/6414d6174198689f00ff325e667fff9eb1c0d9de
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M mlir/unittests/Analysis/Presburger/CMakeLists.txt
M mlir/unittests/Bytecode/CMakeLists.txt
M mlir/unittests/Conversion/PDLToPDLInterp/CMakeLists.txt
M mlir/unittests/Debug/CMakeLists.txt
M mlir/unittests/Dialect/AMDGPU/CMakeLists.txt
M mlir/unittests/Dialect/ArmSME/CMakeLists.txt
M mlir/unittests/Dialect/CMakeLists.txt
M mlir/unittests/Dialect/Index/CMakeLists.txt
M mlir/unittests/Dialect/LLVMIR/CMakeLists.txt
M mlir/unittests/Dialect/MemRef/CMakeLists.txt
M mlir/unittests/Dialect/OpenACC/CMakeLists.txt
M mlir/unittests/Dialect/Polynomial/CMakeLists.txt
M mlir/unittests/Dialect/SCF/CMakeLists.txt
M mlir/unittests/Dialect/SPIRV/CMakeLists.txt
M mlir/unittests/Dialect/SparseTensor/CMakeLists.txt
M mlir/unittests/Dialect/Transform/CMakeLists.txt
M mlir/unittests/Dialect/Utils/CMakeLists.txt
M mlir/unittests/ExecutionEngine/CMakeLists.txt
M mlir/unittests/IR/CMakeLists.txt
M mlir/unittests/Interfaces/CMakeLists.txt
M mlir/unittests/Parser/CMakeLists.txt
M mlir/unittests/Pass/CMakeLists.txt
M mlir/unittests/Rewrite/CMakeLists.txt
M mlir/unittests/Support/CMakeLists.txt
M mlir/unittests/Target/LLVM/CMakeLists.txt
M mlir/unittests/Tools/lsp-server-support/CMakeLists.txt
M mlir/unittests/Transforms/CMakeLists.txt
Log Message:
-----------
[mlir] Use mlir_target_link_libraries for unit tests (#119858)
This is a followup to https://github.com/llvm/llvm-project/pull/119408,
which switches unit test binaries to also use
mlir_target_link_libraries() where necessary. This allows them to link
against against the MLIR dylib.
Commit: 3ad2399148953837622d78d18ae9fd0db6ad0557
https://github.com/llvm/llvm-project/commit/3ad2399148953837622d78d18ae9fd0db6ad0557
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/ARM/dagcombine-ld-op-st.ll
M llvm/test/CodeGen/X86/apx/or.ll
M llvm/test/CodeGen/X86/illegal-bitfield-loadstore.ll
M llvm/test/CodeGen/X86/pr35763.ll
M llvm/test/CodeGen/X86/store_op_load_fold.ll
Log Message:
-----------
[DAGCombiner] Refactor and improve ReduceLoadOpStoreWidth (#119564)
This patch make a couple of improvements to ReduceLoadOpStoreWidth.
When determining the minimum size of "NewBW" we now take byte boundaries
into account. If we for example touch bits 6-10 we shouldn't accept
NewBW=8, because we would fail later when detecting that we can't access
bits from two different bytes in memory using a single load. Instead we
make sure to align LSB/MSB according to byte size boundaries up front
before searching for a viable "NewBW".
In the past we only tried to find a "ShAmt" that was a multiple of
"NewBW", but now we use a sliding window technique to scan for a viable
"ShAmt" that is a multiple of the byte size. This can help out finding
more opportunities for optimization (specially if the original type
isn't byte sized, and for big-endian targets when the original
load/store is aligned on the most significant bit).
Commit: 02328e0465c256293950542f1a85eb55bcbc9d45
https://github.com/llvm/llvm-project/commit/02328e0465c256293950542f1a85eb55bcbc9d45
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/IR/ConstantFold.cpp
M llvm/lib/IR/Constants.cpp
M llvm/test/Transforms/InstCombine/clamp-to-minmax.ll
M llvm/test/Transforms/InstCombine/fabs-fneg-fold.ll
M llvm/test/Transforms/InstCombine/fadd.ll
M llvm/test/Transforms/InstCombine/fdiv.ll
M llvm/test/Transforms/InstCombine/fmul.ll
M llvm/test/Transforms/InstCombine/fneg.ll
Log Message:
-----------
[LLVM][ConstantFold] Remove remaining uses of ConstantInt/FP::get(LLVMContext... (#119912)
This extends the constant folds to support vector ConstantInt/FP.
Commit: d280a9c5e22662fd24708245add50b152ab10fc8
https://github.com/llvm/llvm-project/commit/d280a9c5e22662fd24708245add50b152ab10fc8
Author: Shao-Ce SUN <sunshaoce at outlook.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/test/Driver/print-enabled-extensions/riscv-rocket-rv64.c
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/lib/Target/RISCV/RISCVFeatures.td
A llvm/test/CodeGen/RISCV/features-info.ll
Log Message:
-----------
[NFC] [RISCV] Refactor class RISCVExtension (#120040)
I think typo can be avoided by reducing the number of times we re-enter
the extension name.
Commit: 2df48fa78b496a2d276aa848598634bb2aad6857
https://github.com/llvm/llvm-project/commit/2df48fa78b496a2d276aa848598634bb2aad6857
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M bolt/include/bolt/Passes/ADRRelaxationPass.h
M bolt/lib/Rewrite/BinaryPassManager.cpp
Log Message:
-----------
[BOLT][AArch64] Enable function print after ADRRelaxation (#119869)
Introduce `--print-adr-relaxation` to print after ADR Relaxation pass.
Commit: 03847f19f2e462a339e1afa1093f253ec8a23765
https://github.com/llvm/llvm-project/commit/03847f19f2e462a339e1afa1093f253ec8a23765
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
A llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.cpp
A llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.h
M llvm/lib/Target/AMDGPU/CMakeLists.txt
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/R600Subtarget.cpp
M llvm/lib/Target/AMDGPU/R600Subtarget.h
M llvm/lib/Target/Mips/CMakeLists.txt
A llvm/lib/Target/Mips/MipsSelectionDAGInfo.cpp
A llvm/lib/Target/Mips/MipsSelectionDAGInfo.h
M llvm/lib/Target/Mips/MipsSubtarget.cpp
M llvm/lib/Target/Mips/MipsSubtarget.h
M llvm/lib/Target/NVPTX/CMakeLists.txt
A llvm/lib/Target/NVPTX/NVPTXSelectionDAGInfo.cpp
A llvm/lib/Target/NVPTX/NVPTXSelectionDAGInfo.h
M llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/lib/Target/PowerPC/CMakeLists.txt
A llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.cpp
A llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.h
M llvm/lib/Target/PowerPC/PPCSubtarget.cpp
M llvm/lib/Target/PowerPC/PPCSubtarget.h
M llvm/lib/Target/RISCV/CMakeLists.txt
A llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.cpp
A llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.h
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/RISCV/RISCVTargetMachine.h
Log Message:
-----------
[SelectionDAG] Add empty implementation of SelectionDAGInfo to some targets (#119968)
#119969 adds a couple of new methods to this class, which will need to
be overridden by these targets.
Part of #119709.
Pull Request: https://github.com/llvm/llvm-project/pull/119968
Commit: 671095b452365826b1ccb65483d6ae890a2a81f7
https://github.com/llvm/llvm-project/commit/671095b452365826b1ccb65483d6ae890a2a81f7
Author: Nicholas <45984215+liusy58 at users.noreply.github.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M bolt/lib/Passes/LongJmp.cpp
A bolt/test/AArch64/long-jmp-one-stub.s
Log Message:
-----------
[BOLT][AArch64] Check Last Element Instead of Returning `nullptr` in `lookupStubFromGroup` (#114015)
The current implementation of `lookupStubFromGroup` is incorrect. The
function is intended to find and return the closest stub using
`lower_bound`, which identifies the first element in a sorted range that
is not less than a specified value. However, if such an element is not
found within `Candidates` and the list is not empty, the function
returns `nullptr`. Instead, it should check whether the last element
satisfies the condition.
Commit: 38b3d87bd384a469a6618ec6a971352cb4f813ba
https://github.com/llvm/llvm-project/commit/38b3d87bd384a469a6618ec6a971352cb4f813ba
Author: Dmitry Polukhin <34227995+dmpolukhin at users.noreply.github.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
A clang/test/Headers/crash-instantiated-in-scope-cxx-modules4.cpp
A clang/test/Modules/friend-inline-function-body.cpp
Log Message:
-----------
[C++20][Modules] Load function body from the module that gives canonical decl (#111992)
Summary:
Fix crash from reproducer provided in
https://github.com/llvm/llvm-project/pull/109167#issuecomment-2405289565
Also fix issues with merged inline friend functions merged during deserialization.
Test Plan: check-clang
Commit: 90968794e26709957d49dd660e4e453235d393e8
https://github.com/llvm/llvm-project/commit/90968794e26709957d49dd660e4e453235d393e8
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/test/Preprocessor/predefined-arch-macros.c
M llvm/lib/Target/X86/X86.td
M llvm/lib/TargetParser/X86TargetParser.cpp
Log Message:
-----------
[X86] Add missing feature USERMSR to DiamondRapids (#120061)
Ref.: https://cdrdv2.intel.com/v1/dl/getContent/671368
Commit: dd6f6a096a59892ce1f9c454461aa5ed4c2aa971
https://github.com/llvm/llvm-project/commit/dd6f6a096a59892ce1f9c454461aa5ed4c2aa971
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Handle builtin_wmemcmp (#120070)
Commit: 24238aacd9e67072f2bd7bebe4c41b52c7881e65
https://github.com/llvm/llvm-project/commit/24238aacd9e67072f2bd7bebe4c41b52c7881e65
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/Mips/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/NVPTX/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/PowerPC/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
Log Message:
-----------
[gn build] Port 03847f19f2e4
Commit: 8dd27d4569555c181a92f2c3914d3ea16aa1a741
https://github.com/llvm/llvm-project/commit/8dd27d4569555c181a92f2c3914d3ea16aa1a741
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
A llvm/test/Transforms/VectorCombine/X86/shuffle-of-cmps.ll
Log Message:
-----------
[VectorCombine] Add test coverage for shuffle(cmp,cmp) fold patterns
Commit: 7d25bcef0937e454bb2d3cf3b4ed615257951120
https://github.com/llvm/llvm-project/commit/7d25bcef0937e454bb2d3cf3b4ed615257951120
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select.ll
Log Message:
-----------
[InstCombine] Recursively replace condition with constant in select arms (#120011)
This patch is proposed to reduce the number of selects with undefs
introduced by https://github.com/llvm/llvm-project/pull/119884.
Commit: ef4b597015db0e558f3a75f2f75d471a1cabe0b6
https://github.com/llvm/llvm-project/commit/ef4b597015db0e558f3a75f2f75d471a1cabe0b6
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp8_fdot.c
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fp8_fdot.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/test/CodeGen/AArch64/sme2-intrinsics-fp8-fdot.ll
Log Message:
-----------
[AArch64] Add intrinsics for SME FP8 FDOT single and multi instructions (#119845)
Add support for the following SME 8 bit floating-point dot-product intrinsics:
```
// Only if __ARM_FEATURE_SME_F8F16 != 0
void svdot[_single]_za16[_mf8]_vg1x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svdot[_single]_za16[_mf8]_vg1x4_fpm(uint32_t slice, svmfloat8x4_t zn,
svmfloat8_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svdot_za16[_mf8]_vg1x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8x2_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svdot_za16[_mf8]_vg1x4_fpm(uint32_t slice, svmfloat8x4_t zn,
svmfloat8x4_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
// Only if __ARM_FEATURE_SME_F8F32 != 0
void svdot[_single]_za32[_mf8]_vg1x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svdot[_single]_za32[_mf8]_vg1x4_fpm(uint32_t slice, svmfloat8x4_t zn,
svmfloat8_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svdot_za32[_mf8]_vg1x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8x2_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svdot_za32[_mf8]_vg1x4_fpm(uint32_t slice, svmfloat8x4_t zn,
svmfloat8x4_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
```
These intrinsics are extracted from:
https://github.com/ARM-software/acle/pull/323/
Co-authored-by: Momchil Velikov <momchil.velikov at arm.com>
Co-authored-by: Marian Lukac <marian.lukac at arm.com>
Commit: 93fab6e362a3124af76c6e82f90ca1385aea6d1f
https://github.com/llvm/llvm-project/commit/93fab6e362a3124af76c6e82f90ca1385aea6d1f
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/test/CodeGen/NVPTX/nvcl-param-align.ll
Log Message:
-----------
[NVPTX] fix nvcl-param-align test triple
for b279f6b098d3849f7f1c1f539b108307d5f8ae2d
Commit: d866005f6928a2a97e67866bedb26139d8cc27d9
https://github.com/llvm/llvm-project/commit/d866005f6928a2a97e67866bedb26139d8cc27d9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-unexpected-types.ll
Log Message:
-----------
AMDGPU: Do not assert on unhandled types when demangling libcalls (#120068)
Commit: 3c3094b60d3587b1db8ef35b3bf54e73ac5894d9
https://github.com/llvm/llvm-project/commit/3c3094b60d3587b1db8ef35b3bf54e73ac5894d9
Author: macurtis-amd <macurtis at amd.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M flang/lib/Parser/parsing.cpp
M flang/test/Preprocessing/pp132.f90
Log Message:
-----------
[flang] Ensure directive sentinels are in cols 1-5 in pp output (#119406)
Preprocessor output is intended to be valid fixed form.
Commit: 8380bafaed84cb5799feef70bf34387d6f15acff
https://github.com/llvm/llvm-project/commit/8380bafaed84cb5799feef70bf34387d6f15acff
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp8_fvdot.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fp8_fvdot.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-fp8-fvdot.ll
Log Message:
-----------
[AArch64] Add intrinsics for SME FP8 FVDOT, FVDOTB and FVDOTT intrinsics (#119922)
Add support for the following SME 8 bit floating-point dot-product
intrinsics:
```
// Only if __ARM_FEATURE_SME_F8F16 != 0
void svvdot_lane_za16[_mf8]_vg1x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8_t zm, uint64_t imm_idx,
fpm_t fpm) __arm_streaming __arm_inout("za");
// Only if __ARM_FEATURE_SME_F8F32 != 0
void svvdott_lane_za32[_mf8]_vg1x4_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8_t zm, uint64_t imm_idx,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svvdotb_lane_za32[_mf8]_vg1x4_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8_t zm, uint64_t imm_idx,
fpm_t fpm) __arm_streaming __arm_inout("za");
```
---------
Co-authored-by: Momchil Velikov <momchil.velikov at arm.com>
Co-authored-by: Marian Lukac <marian.lukac at arm.com>
Commit: 1ab81f8e7f77110c4a752dd7d2cc39fb5148760c
https://github.com/llvm/llvm-project/commit/1ab81f8e7f77110c4a752dd7d2cc39fb5148760c
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
A clang/test/SemaOpenACC/data-construct-delete-ast.cpp
A clang/test/SemaOpenACC/data-construct-delete-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement 'delete' AST/Sema for 'exit data' construct
'delete' is another clause that has very little compile-time
implication, but needs a full AST that takes a var list. This patch
ipmlements it fully, plus adds sufficient test coverage.
Commit: 65e00315c92f53895c1d88912de8838d7790c3f0
https://github.com/llvm/llvm-project/commit/65e00315c92f53895c1d88912de8838d7790c3f0
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/test/Fir/CUDA/cuda-target-rewrite.mlir
Log Message:
-----------
[flang][cuda] Adapt TargetRewrite to support gpu.launch_func (#119933)
Commit: 6a4750d227420cad8406d0ee1ea9d8ce05cca10f
https://github.com/llvm/llvm-project/commit/6a4750d227420cad8406d0ee1ea9d8ce05cca10f
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir] Fix crash when folding tensor.dim(tensor.collapse()) on out-of-bound dim (#119941)
Addresses one of the cases described in #119866
Commit: cedc9bf94a6c40561c4ecb292126352d49c9129b
https://github.com/llvm/llvm-project/commit/cedc9bf94a6c40561c4ecb292126352d49c9129b
Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVSubtarget.h
Log Message:
-----------
[RISCV] Add MIPSP8700 RISCVProcFamilyEnum (#120073)
Commit: 9cb68b4ddad84f8c1f3a96ca3304d9916f3ee7da
https://github.com/llvm/llvm-project/commit/9cb68b4ddad84f8c1f3a96ca3304d9916f3ee7da
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M libc/shared/rpc.h
M libc/shared/rpc_util.h
Log Message:
-----------
[libc] Make the RPC headers work when included from CUDA or HIP (#120016)
Summary:
In order for this to work with CUDA we need to declare functions as
__host__ and __device__ while also making sure we only call the GPU
functions during the CUDA / HIP compile stage.
Commit: 6d1a51303edd33faab34732a77a874f3eb74dbfd
https://github.com/llvm/llvm-project/commit/6d1a51303edd33faab34732a77a874f3eb74dbfd
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M libc/docs/gpu/rpc.rst
M libc/docs/gpu/using.rst
Log Message:
-----------
[libc][Docs] Update `libc` documentation for RPC and others (#120018)
Summary:
A few of these were out of date, update them now that the C library
interface into RPC was deleted.
Commit: b3d392af5b2706d46fea086579ffdf1dda5c648b
https://github.com/llvm/llvm-project/commit/b3d392af5b2706d46fea086579ffdf1dda5c648b
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M mlir/test/lib/Dialect/Test/TestOpsSyntax.td
M mlir/test/mlir-tblgen/op-format.mlir
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[mlir][tblgen] Fix bug around parsing optional prop-dict keys (#120045)
The printer for prop-dict would elide properties that had their default
value, such as optional properties that were not present. The parser
would similarly not raise an error if such a key was missing. However,
after not raising an error, the parser would attempt to convert the null
attribute to a property anyway, causing failures.
This commit fixes the issue and adds tests.
Commit: 5c5f66937fa7fbc6721ba2203b0874966640a05f
https://github.com/llvm/llvm-project/commit/5c5f66937fa7fbc6721ba2203b0874966640a05f
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add ISAInfoTest tests for a few XQCI extensions (#120060)
Missed out adding rv32 only support test checks for a few of the
extensions.
Commit: 76f258920d3baf32be297f60bee5b8520f195c25
https://github.com/llvm/llvm-project/commit/76f258920d3baf32be297f60bee5b8520f195c25
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
Log Message:
-----------
[MLGO] Do not include urgent LRs in max cascade calculation (#120052)
A previous PR introduced a threshold where we would mask out a LR that
had been evicted a certain number of times to combat pathological
compile time cases with a somewhat adversarial model. However, this
patch did not take into account urgent LRs which led to compilation
failures when greedy would expect us to provide an eviction and we could
not due to the newly introduced logic.
Commit: 35d4f20098538a0d2ac6b870eeae2b0ead7d2982
https://github.com/llvm/llvm-project/commit/35d4f20098538a0d2ac6b870eeae2b0ead7d2982
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
Log Message:
-----------
[CMake] Use correct exports file for MLIR tools (#120079)
llvm_add_tool() currently does not respect the passed project and puts
all tools into LLVMExports.cmake. This means that we end up with
binaries like mlir-opt in LLVMExports.cmake instead of
MLIRTargets.cmake, where they should be.
Adjust llvm_add_tool() to take the project into account.
Commit: 4104906a2336aa03361537d93bb58033c59592da
https://github.com/llvm/llvm-project/commit/4104906a2336aa03361537d93bb58033c59592da
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
R libcxx/test/std/utilities/meta/derived_from_integral_constant.compile.pass.cpp
Log Message:
-----------
[libc++] Revert new test for integral_constant that breaks CI
This commit reverts c3276a96d9 and 1901da32, which added a test to
ensure that type traits are derived from integral_constant. While that
is a fine test to add, the commit didn't go through a PR and as a result
it looks like some of our CI has been broken by it.
This should be an uncontroversial change, but let's re-land it via a PR
to get our usual CI coverage.
Commit: 39c9dda1aa593bb129c7a2ef7724c212255a58d6
https://github.com/llvm/llvm-project/commit/39c9dda1aa593bb129c7a2ef7724c212255a58d6
Author: David Green <david.green at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
Log Message:
-----------
[AArch64] Move SME_ZA_LDR and SME_ZA_STR into FIRST_TARGET_MEMORY_OPCODE. NFCI (#120091)
These opcodes are currently in the "strictfp" section. They should
either be in "memory", or moved into the generic ocodes.
Note that isTargetMemoryOpcode/FIRST_TARGET_MEMORY_OPCODE doesn't seem
to be used for anything at the moment.
Commit: 9f63940a65a85b34a947e4947d14a50da9f753c0
https://github.com/llvm/llvm-project/commit/9f63940a65a85b34a947e4947d14a50da9f753c0
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/aarch64-dup-ext-crash.ll
M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
Log Message:
-----------
[AArch64] Handle ANY_EXTEND in BuildShuffleExtendCombine (#118308)
Handle ANY_EXTEND when combining a buildvector/shuffle of extended
operands, as we can safely ignore ANY_EXTENDS when checking if all signs
of the other extends are matching.
Commit: c53901405a309a414cb731c4b22f32eafccbbd2a
https://github.com/llvm/llvm-project/commit/c53901405a309a414cb731c4b22f32eafccbbd2a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/minbw-node-used-twice.ll
Log Message:
-----------
[SLP][NFC]Add a test with incorrect bitwidth for the node, previously identified as non-shrinkable
Commit: 7bfcf93527782f1ebf83880f35e981665308d89c
https://github.com/llvm/llvm-project/commit/7bfcf93527782f1ebf83880f35e981665308d89c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/LoopAccessAnalysis/memcheck-wrapping-pointers.ll
M llvm/test/Analysis/LoopAccessAnalysis/nssw-predicate-implied.ll
Log Message:
-----------
[SCEV] Use Step and Start to check if SCEVWrapPredicate is implied. (#118184)
A SCEVWrapPredicate A implies B, if
* they have the same flag,
* both steps are positive and
* B's start and step are ULE/SLE (for NSUW/NSSW) than A's.
See https://alive2.llvm.org/ce/z/n2T4ss (first pair with known constants
as strides, second pair with variable strides).
Note that this is limited to steps of the same size, due to NSUW having
slightly different semantics than regular NUW. We should be able to
remove this restriction for NSSW (which matches NSW) in the future.
PR: https://github.com/llvm/llvm-project/pull/118184
Commit: d576021853fd64c10fd746389a9b263cf10c5295
https://github.com/llvm/llvm-project/commit/d576021853fd64c10fd746389a9b263cf10c5295
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M lldb/test/API/iohandler/resize/TestIOHandlerResizeNoEditline.py
Log Message:
-----------
[lldb] Disable TestIOHandlerResizeNoEditline.py for Windows hosts (#120025)
See #120021 for details.
Commit: f239922cdc15c68266abb94b4b58ed46aa2572b4
https://github.com/llvm/llvm-project/commit/f239922cdc15c68266abb94b4b58ed46aa2572b4
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
Log Message:
-----------
[flang] Enable hlfir.sum inlining by default. (#119937)
There is already a LIT test for hlfir.sum inlining that uses
the engineering option. I would like to keep the option
for short period of time to be able to revert
in case of performance regressions that I was not able to see.
Commit: 2402bccc805614069efb0a47e1ef43349ea7ba1e
https://github.com/llvm/llvm-project/commit/2402bccc805614069efb0a47e1ef43349ea7ba1e
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/test/HLFIR/simplify-hlfir-intrinsics-cshift.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-sum.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics.fir
Log Message:
-----------
[flang] Turn SimplifyHLFIRIntrinsics into a greedy rewriter. (#119946)
This is almost an NFC, except that folding changed ordering
of some operations.
Commit: d1a7225076218ce224cd29c74259b715b393dc9d
https://github.com/llvm/llvm-project/commit/d1a7225076218ce224cd29c74259b715b393dc9d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/minbw-node-used-twice.ll
Log Message:
-----------
[SLP]Check if the node must keep its original bitwidth
Need to check if during previous analysis the node has requested to keep
its original bitwidth to avoid incorrect codegen.
Fixes #120076
Commit: 3cbc73f71eef599e678197e445e11a98f8f61689
https://github.com/llvm/llvm-project/commit/3cbc73f71eef599e678197e445e11a98f8f61689
Author: Hugo Trachino <hugo.trachino at huawei.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Conversion/ArithToLLVM/CMakeLists.txt
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
Log Message:
-----------
[MLIR][Arith] Add CeilFloorDivExpandOpsPatterns to conversion to LLVM (Reland) (#118839)
When running `convert-to-llvm`, `ceildiv` and `floordiv` ops, which do not
have direct llvm conversion pattern, would not get lowered to llvm
dialect. This patch adds CeilFloorDivExpandOpsPatterns to both
`convert-to-llvm` and `arith-to-llvm` (deprecated) lowering those ops to
lower level arith ops which can be lowered to llvm using LLVM
conversion.
Reland of https://github.com/llvm/llvm-project/pull/117305 after
buildbot failures.
See:
https://lab.llvm.org/buildbot/#/builders/80/builds/7168
https://lab.llvm.org/buildbot/#/builders/130/builds/7036
https://lab.llvm.org/buildbot/#/builders/138/builds/7290
Added dependence to ArithTransforms in ArithToLLVM. In previous
discussion, it has been suggested to move the
CeilFloorDivExpandOpsPatterns to ArithUtils but I think linking
ArithTransforms makes more sense as otherwise :
* ArithToLLVM needs a new dependency to ArithUtils
* ArithUtils needs new dependency to ArithTransforms or move the
patterns as well which will create more dependencies
* It creates lots of code motion which makes it hard to review.
Commit: 290f38cd1a9fa7b1a91ddb25632807ecb5308dc7
https://github.com/llvm/llvm-project/commit/290f38cd1a9fa7b1a91ddb25632807ecb5308dc7
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/Instructions.h
Log Message:
-----------
IR: fix getSwappedCmpPredicate() return type (#120097)
The change 51a895a (IR: introduce struct with CmpInst::Predicate and
samesign) missed a change to ICmpInst::getSwappedCmpPredicate(), which
intends to return a CmpPredicate, but returns a Predicate instead. Fix
this.
Commit: 0954c67d7ae412af9f8da5149565d9af837ac575
https://github.com/llvm/llvm-project/commit/0954c67d7ae412af9f8da5149565d9af837ac575
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/X86/pr120093.ll
Log Message:
-----------
[DAG] visitFREEZE - only fold integer types to an all ones constant
ISD::isBuildVectorAllOnes can peek through bitcasts, so this can match against FP NAN (ish) data (e.g. double (bitcast i64 -1)) under certain circumstances - bail if the type isn't an integer and let bitcast folding handle it first.
Fixes #120093
Commit: b21fa18b44dd73284bd1c6551b8046c94f84f9f3
https://github.com/llvm/llvm-project/commit/b21fa18b44dd73284bd1c6551b8046c94f84f9f3
Author: Vedant Paranjape <22630228+VedantParanjape at users.noreply.github.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Utils/LoopVersioning.cpp
A llvm/test/Transforms/LoopVersioning/crash-36998.ll
Log Message:
-----------
[LoopVersioning] Add a check to see if the input loop is in LCSSA form (#116443)
Loop Optimizations expect the input loop to be in LCSSA form. But it
seems that LoopVersioning doesn't have any check to see if the loop is
actually in LCSSA form. As a result, if we give it a loop which is not
in LCSSA form but still correct semantically, the resulting
transformation fails to pass through verifier pass with the following
error.
Instruction does not dominate all uses!
%inc = add nsw i16 undef, 1
store i16 %inc, ptr @c, align 1
As the loop is not in LCSSA form, LoopVersioning's transformations leads
to invalid IR! As some instructions do not dominate all their uses.
This patch checks if a loop is in LCSSA form, if not it will call
formLCSSARecursively on the loop before passing it to LoopVersioning.
Fixes: #36998
Commit: f75c84674cd8ea3b45b6c711d627144efcf582f5
https://github.com/llvm/llvm-project/commit/f75c84674cd8ea3b45b6c711d627144efcf582f5
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M libc/src/__support/CPP/atomic.h
M libc/src/__support/CPP/type_traits.h
A libc/src/__support/CPP/type_traits/has_unique_object_representations.h
M libc/test/src/__support/CPP/type_traits_test.cpp
Log Message:
-----------
[libc] fix atomic and apply an explicit check on unique object representations (#119715)
Commit: 9919295cfd05222159246d7448ec42392e98fbf2
https://github.com/llvm/llvm-project/commit/9919295cfd05222159246d7448ec42392e98fbf2
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/CompilationInterfaces.h
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.td
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp
M mlir/lib/Target/LLVM/NVVM/Target.cpp
M mlir/lib/Target/LLVMIR/Dialect/GPU/SelectObjectAttr.cpp
M mlir/test/Dialect/GPU/module-to-binary-nvvm.mlir
M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp
M mlir/unittests/Target/LLVM/SerializeROCDLTarget.cpp
M mlir/unittests/Target/LLVM/SerializeToLLVMBitcode.cpp
Log Message:
-----------
[mlir][gpu] Adding ELF section option to the gpu-module-to-binary pass (#119440)
This is a follow-up of #117246.
I thought then it would be easy to edit a DictionaryAttr but it turns
out that these attributes are immutable and need to be passed during the
construction of the gpu.binary Op.
The first commit was using the NVVMTargetAttr to pass the information.
After feedback from @fabianmcg, this PR now passes the information
through a new option of the gpu-module-to-binary pass.
Please add reviewers, as you see fit.
Commit: 8217c2eaef2f93427735a45c45c7fd91178e2ed8
https://github.com/llvm/llvm-project/commit/8217c2eaef2f93427735a45c45c7fd91178e2ed8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-cmps.ll
Log Message:
-----------
[VectorCombine] foldShuffleOfBinops - extend to handle icmp/fcmp ops as well (#120075)
Extend binary instructions matching to match compare instructions + predicate as well.
Commit: de401599b10f51258260ea7f1f493d52d22a9d24
https://github.com/llvm/llvm-project/commit/de401599b10f51258260ea7f1f493d52d22a9d24
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
Log Message:
-----------
[HLSL] Add RWBuffer::Load(Index) (#117018)
This method is the same as `operator[]`, except that it returns a value
instead of a reference.
Commit: 11d2911ef117aef2afb136339f0c24f8eee10c32
https://github.com/llvm/llvm-project/commit/11d2911ef117aef2afb136339f0c24f8eee10c32
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M lldb/unittests/Core/ProgressReportTest.cpp
Log Message:
-----------
[lldb] Fix warnings
This patch fixes:
third-party/unittest/googletest/include/gtest/gtest.h:1379:11:
error: comparison of integers of different signs: 'const unsigned
long' and 'const int' [-Werror,-Wsign-compare]
Commit: fbb14dd97702db242a31e1b36ca8a3554a73c212
https://github.com/llvm/llvm-project/commit/fbb14dd97702db242a31e1b36ca8a3554a73c212
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/data-construct-ast.cpp
M clang/test/SemaOpenACC/data-construct-async-clause.c
M clang/test/SemaOpenACC/data-construct-attach-clause.c
M clang/test/SemaOpenACC/data-construct-detach-clause.c
M clang/test/SemaOpenACC/data-construct-deviceptr-clause.c
M clang/test/SemaOpenACC/data-construct-finalize-clause.c
M clang/test/SemaOpenACC/data-construct-if-ast.cpp
M clang/test/SemaOpenACC/data-construct-if-clause.c
M clang/test/SemaOpenACC/data-construct-if_present-ast.cpp
M clang/test/SemaOpenACC/data-construct-if_present-clause.c
M clang/test/SemaOpenACC/data-construct-present-clause.c
A clang/test/SemaOpenACC/data-construct-use_device-ast.cpp
A clang/test/SemaOpenACC/data-construct-use_device-clause.c
M clang/test/SemaOpenACC/data-construct-wait-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement 'use_device' clause AST/Sema
This is a clause that is only valid on 'host_data' constructs, and
identifies variables which it should use the current device address.
>From a Sema perspective, the only thing novel here is mild changes to
how ActOnVar works for this clause, else this is very much like the rest
of the 'var-list' clauses.
Commit: 4032ce3413d0230b0ccba1203536f9cb35e5c3b5
https://github.com/llvm/llvm-project/commit/4032ce3413d0230b0ccba1203536f9cb35e5c3b5
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M compiler-rt/lib/builtins/aarch64/sme-abi.S
M compiler-rt/lib/builtins/aarch64/sme-libc-mem-routines.S
Log Message:
-----------
Revert "[compiler-rt][AArch64] Allow platform-specific mangling of SME routines. (#119864)"
This reverts commit e0fb3acd8a0b2a9340b9b2ae370c84c98f1a5cc2.
Commit: 4f279a570110e3d688356a327637c57071f4b13b
https://github.com/llvm/llvm-project/commit/4f279a570110e3d688356a327637c57071f4b13b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
Log Message:
-----------
[Linalg] Migrate away from PointerUnion::{is,get} (NFC) (#120043)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: 1dac0cd41f1d04ca66d74c49322ddd93332954f8
https://github.com/llvm/llvm-project/commit/1dac0cd41f1d04ca66d74c49322ddd93332954f8
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[memprof] Use ListSeparator (NFC) (#120047)
ListSeparator from StringExtras.h is essentially the same as
FieldSeparator being removed in this patch. ListSeparator returns the
empty string on the first use via "operator StringRef()". It returns
", " on subsequent uses.
Commit: 31272e4f83f24fee1bf37ebc8ea7dd4d082edea8
https://github.com/llvm/llvm-project/commit/31272e4f83f24fee1bf37ebc8ea7dd4d082edea8
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/grouping.pass.cpp
M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
Log Message:
-----------
[libc++] Update locale grouping tests (#119463)
Fixes #119047
Commit: ef31141ebded71eeb32f7714d924d427a4315540
https://github.com/llvm/llvm-project/commit/ef31141ebded71eeb32f7714d924d427a4315540
Author: Mészáros Gergely <gergely.meszaros at intel.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
A clang/test/Driver/unknown-arg-drivermodes.test
Log Message:
-----------
[clang-cl][flang][dxc] Fix opts exposed to clang-cl/dxc by mistake (#118640)
When these options were enabled for flang the visibility was also
extended to clang-cl and dxc. This was due to a
misunderstanding of the default value for `Visibility`.
Commit: 0a7e0486673f829406a9bcb4b49be20dbd9c5e45
https://github.com/llvm/llvm-project/commit/0a7e0486673f829406a9bcb4b49be20dbd9c5e45
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M bolt/test/X86/dwarf5-debug-names-gnu-push-tls-address.s
Log Message:
-----------
[BOLT][DWARF][NFC] Minimize dwarf5-debug-names-gnu-push-tls-address.s (#120103)
Removed unnecessary parts from the .text section.
Commit: 7bf3137c39a61283ebcb58793e830f8b768b74e7
https://github.com/llvm/llvm-project/commit/7bf3137c39a61283ebcb58793e830f8b768b74e7
Author: Petr Hosek <phosek at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/fuzzing/__support/CMakeLists.txt
A libc/fuzzing/__support/fake_heap.s
M libc/src/__support/CMakeLists.txt
A libc/src/__support/freelist_heap.cpp
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/baremetal/CMakeLists.txt
A libc/src/stdlib/baremetal/aligned_alloc.cpp
A libc/src/stdlib/baremetal/calloc.cpp
A libc/src/stdlib/baremetal/free.cpp
A libc/src/stdlib/baremetal/malloc.cpp
A libc/src/stdlib/baremetal/realloc.cpp
R libc/src/stdlib/freelist_malloc.cpp
M libc/test/src/__support/CMakeLists.txt
R libc/test/src/__support/freelist_malloc_test.cpp
M libc/test/src/stdlib/CMakeLists.txt
Log Message:
-----------
[libc] Breakup freelist_malloc into separate files (#119806)
This better matches the structure we use for the rest of libc.
Commit: d7f3775977875a8208e494bab822b9cdef991822
https://github.com/llvm/llvm-project/commit/d7f3775977875a8208e494bab822b9cdef991822
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/oddshuffles.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-8.ll
Log Message:
-----------
[X86] combineEXTRACT_SUBVECTOR - fold extract_subvector(pshufd(v,i)) -> pshufd(extract_subvector(v,i))
Attempt to avoid unnecessary wide PSHUFD or VPERMILIPS/D instructions by pre-extracting the subvector source if thats its only use.
Commit: 89e530a27c04f1c45a8c9b5cb97099b4b9d2b048
https://github.com/llvm/llvm-project/commit/89e530a27c04f1c45a8c9b5cb97099b4b9d2b048
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/test/Analysis/CostModel/X86/shuffle-non-pow-2-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-non-pow-2-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-non-pow-2-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-non-pow-2.ll
Log Message:
-----------
[CostModel[X86] Update shuffle non-pow-2 tests to not analyse shuffle(undef,undef)
Avoid shuffle patterns that can be folded away.
Commit: 9ee454a57c061e47223e079cdc64d315580367ed
https://github.com/llvm/llvm-project/commit/9ee454a57c061e47223e079cdc64d315580367ed
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M lldb/docs/resources/formatterbytecode.rst
Log Message:
-----------
[lldb] Fix RST table formatting
Commit: 750cb896caee7132cde69bdb5b5acab6210fad59
https://github.com/llvm/llvm-project/commit/750cb896caee7132cde69bdb5b5acab6210fad59
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M libc/docs/index.rst
Log Message:
-----------
[libc][docs] Refresh landing page (#120122)
- Replace section on ABI Compatibility with a rephrased warning at the
top of
the page.
- Add links to the Note.
- Update C and POSIX standards.
- Inline link to fuzzing.
Commit: 696d120d091f086532165f938000d86ace7c9ea0
https://github.com/llvm/llvm-project/commit/696d120d091f086532165f938000d86ace7c9ea0
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
Log Message:
-----------
[NVPTX] Pattern match texture/surface intrinsics (NFCI) (#119982)
Pull Request: https://github.com/llvm/llvm-project/pull/119982
Commit: 3dfc1d9b0bc41eaf63e551ca357b44a71636b152
https://github.com/llvm/llvm-project/commit/3dfc1d9b0bc41eaf63e551ca357b44a71636b152
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M lldb/include/lldb/API/SBDebugger.h
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Host/Editline.h
M lldb/source/API/SBDebugger.cpp
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/Debugger.cpp
M lldb/source/Host/common/Editline.cpp
M lldb/test/API/functionalities/completion/TestCompletion.py
M lldb/test/API/terminal/TestEditlineCompletions.py
M lldb/tools/driver/Driver.cpp
M lldb/tools/driver/Driver.h
Log Message:
-----------
[lldb] Use the terminal height for paging editline completions (#119914)
Currently, we arbitrarily paginate editline completions to 40 elements.
On large terminals, that leaves some real-estate unused. On small
terminals, it's pretty annoying to not see the first completions. We can
address both issues by using the terminal height for pagination.
This builds on the improvements of #116456.
Commit: b95dfa3920f71c42ef2991f42a95903cc1202c55
https://github.com/llvm/llvm-project/commit/b95dfa3920f71c42ef2991f42a95903cc1202c55
Author: fabrizio-indirli <fabrizio.indirli at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M mlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp
M mlir/test/Dialect/SPIRV/Transforms/abi-interface.mlir
M mlir/test/Dialect/SPIRV/Transforms/abi-load-store.mlir
Log Message:
-----------
[mlir][spirv] Fix LowerABIAttributesPass to generate EntryPoints for SPV1.4 (#118994)
- Extend the SPIRV::LowerABIAttributesPass to detect when the target env
is using SPIR-V ver >= 1.4, and in this case add all the functions'
interface storage variables to the spirv.EntryPoint calls, as required
by the spec of OpEntryPoint:
"_Before version 1.4, the interface’s storage classes are limited to the
Input and Output storage classes. Starting with version 1.4, the
interface’s storage classes are all storage classes used in declaring
all global variables referenced by the entry point’s call tree_."
- Fix: generate the replacement ops (spirv.AddressOf and .AccessChain)
in the order in which the associated variable appears in the function
signature
Signed-off-by: Fabrizio Indirli <Fabrizio.Indirli at arm.com>
Commit: 89d5272841f7825920ccd911f86b4e8aeb95fb49
https://github.com/llvm/llvm-project/commit/89d5272841f7825920ccd911f86b4e8aeb95fb49
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Remove getPreheader(). (NFC)
The preheader is now the entry block, connected to the vector.ph.
Clean up after https://github.com/llvm/llvm-project/pull/114292.
Commit: bfc2dbe02e00f0023c0a2d58b53cdbd1f4139f02
https://github.com/llvm/llvm-project/commit/bfc2dbe02e00f0023c0a2d58b53cdbd1f4139f02
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-constructs.c
M clang/test/SemaOpenACC/combined-construct-collapse-clause.cpp
M clang/test/SemaOpenACC/combined-construct-if-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-if-clause.c
M clang/test/SemaOpenACC/data-construct-async-ast.cpp
M clang/test/SemaOpenACC/data-construct-copy-clause.c
M clang/test/SemaOpenACC/data-construct-copyin-clause.c
M clang/test/SemaOpenACC/data-construct-copyout-clause.c
M clang/test/SemaOpenACC/data-construct-create-clause.c
M clang/test/SemaOpenACC/data-construct-default-clause.c
M clang/test/SemaOpenACC/data-construct-delete-clause.c
M clang/test/SemaOpenACC/data-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/data-construct-device_type-clause.c
M clang/test/SemaOpenACC/data-construct-no_create-clause.c
M clang/test/SemaOpenACC/data-construct-use_device-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
Log Message:
-----------
[OpenACC] Implement data construct 'at least 1 of ... clauses' rule
All 4 of the 'data' constructs have a requirement that at least 1 of a
small list of clauses must appear on the construct. This patch
implements that restriction, and updates all of the tests it takes to
do so.
Commit: f9c8c01d38f8fbea81db99ab90b7d0f2bdcc8b4d
https://github.com/llvm/llvm-project/commit/f9c8c01d38f8fbea81db99ab90b7d0f2bdcc8b4d
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXMachineFunctionInfo.h
M llvm/lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp
M llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/test/CodeGen/NVPTX/surf-read-cuda.ll
M llvm/test/CodeGen/NVPTX/surf-tex.py
M llvm/test/CodeGen/NVPTX/surf-write-cuda.ll
M llvm/test/CodeGen/NVPTX/tex-read-cuda.ll
M llvm/test/CodeGen/NVPTX/texsurf-queries.ll
Log Message:
-----------
[NVPTX] Aggressively try to replace image handles with references (#119730)
Even in cases where handles are supported, references are still
preferable for performance. This is because, a ref uses one
less register and can avoid the handle creating code associated with
taking the address of a tex/surf/sampler.
Commit: 8f151f0f559c4881a0d206124c64226a82d44a79
https://github.com/llvm/llvm-project/commit/8f151f0f559c4881a0d206124c64226a82d44a79
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M lldb/tools/driver/Driver.cpp
M lldb/tools/driver/Driver.h
Log Message:
-----------
[lldb] Unify window resizing logic in command line driver
Unify the logic for window resizing in the command line driver. This was
prompted by the Windows bot not knowing about the ws_col field.
Commit: 1751914a5229104c51fbea7c91e455650c370908
https://github.com/llvm/llvm-project/commit/1751914a5229104c51fbea7c91e455650c370908
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Add some additional system packages (#119988)
This patch adds some additional system packages to the CI container.
These are necessary for use in the new premerge workflows. The size
increase is not super small, but should be manageable with the size
increase being about 100MB.
Commit: f8656204d7ce2fd97c15ffa134212e0e3dc5f662
https://github.com/llvm/llvm-project/commit/f8656204d7ce2fd97c15ffa134212e0e3dc5f662
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M flang/lib/Evaluate/tools.cpp
M flang/test/Lower/CUDA/cuda-program-global.cuf
Log Message:
-----------
[flang][cuda] Do not lower device target in porgram as global (#120126)
As it was done in #102512, do not create global for arrays declared in
program unit with cuda data attribute.
Commit: 1be4a67454b02dae4df2368af31b5f655736d829
https://github.com/llvm/llvm-project/commit/1be4a67454b02dae4df2368af31b5f655736d829
Author: QuietMisdreavus <QuietMisdreavus at users.noreply.github.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/test/ExtractAPI/objc_external_category.m
Log Message:
-----------
[ExtractAPI] reorder the module names in extension symbol graph file names (#119925)
Resolves rdar://140298287
ExtractAPI's support for printing Objective-C category extensions from
other modules emits symbol graphs with an
`ExtendedModule at HostModule.symbols.json`. However, this is backwards
from existing symbol graph practices, causing issues when these symbol
graphs are consumed alongside symbol graphs generated with other tools
like Swift. This PR flips the naming scheme to be in line with existing
symbol graph tooling.
Commit: 58da789e72c3d26c9dac1b29884f5ce62b8150b1
https://github.com/llvm/llvm-project/commit/58da789e72c3d26c9dac1b29884f5ce62b8150b1
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/test/Dialect/Linalg/decompose-tensor-unpack.mlir
Log Message:
-----------
[mlir][linalg] Fix and Refactor DecomposeOuterUnitDimsUnPackOpPattern (#119379)
Commit: b558c6b288c469959fbb2827bfbaba57a79932cb
https://github.com/llvm/llvm-project/commit/b558c6b288c469959fbb2827bfbaba57a79932cb
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir
Log Message:
-----------
[mlir][nfc] Update vectorize-tensor-extract.mlir (4/N) (#119697)
Commit: 9f1c8b13f1f81f79ec3beeca4c0b14c7dd3a76ca
https://github.com/llvm/llvm-project/commit/9f1c8b13f1f81f79ec3beeca4c0b14c7dd3a76ca
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
A mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/pack-scalable-inner-tile.mlir
Log Message:
-----------
[mlir][tensor][SVE] Add e2e test for tensor.pack targeting SVE (#119692)
Commit: 1297933f35b4948b4d281259627a72094c407a75
https://github.com/llvm/llvm-project/commit/1297933f35b4948b4d281259627a72094c407a75
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-error-all-regs-reserved.ll
M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-errors.ll
Log Message:
-----------
[CodeGen] Disable ran-out-of-registers-error* tests (#120142)
Two tests are failing on the buildbot in stage2/asan with a stack
use-after-scope:
https://lab.llvm.org/buildbot/#/builders/52/builds/4533 (first failure
here; contains https://github.com/llvm/llvm-project/pull/119492 and
https://github.com/llvm/llvm-project/pull/119640)
...
https://lab.llvm.org/buildbot/#/builders/52/builds/4550
This patch disables the tests for now, to allow the bots to return to
green (instead of reverting the patch series).
Commit: df0b34cbeb822c81fec43390663659bea97dd2ae
https://github.com/llvm/llvm-project/commit/df0b34cbeb822c81fec43390663659bea97dd2ae
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/include/clang/AST/StmtOpenACC.h
Log Message:
-----------
[OpenACC/NFC] Fix 'trailing objects' CRTP.
A previous patch mistakenly set the CRTP object for the trailing objects
incorrectly. This patch fixes those. This wasn't noticed in testing,
since these types have the same layout.
Commit: f9120dc2a60aedcab5ce99e40b6a2bd3849f0bb9
https://github.com/llvm/llvm-project/commit/f9120dc2a60aedcab5ce99e40b6a2bd3849f0bb9
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Make sure vector trip count is ready for prepareToExecute (NFC)
Split off from https://github.com/llvm/llvm-project/pull/112145. This
ensures that getOrCreateVectorTripCount creates the trip count as needed
when induction resume value creation is moved to VPlan and no longer
creates the vector trip count early.
Commit: a9237b1a1083c7c6c4778e8a586d329bc41a6adc
https://github.com/llvm/llvm-project/commit/a9237b1a1083c7c6c4778e8a586d329bc41a6adc
Author: Artem Pianykh <artem.pyanykh at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/Cloning.h
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[NFC][Utils] Extract CloneFunctionMetadataInto from CloneFunctionInto (#118623)
Summary:
The new API expects the caller to populate the VMap. We need it this way
for a subsequent change around coroutine cloning.
Test Plan:
ninja check-llvm-unit check-llvm
Commit: 0b442bc51631552ab8a249485dd81b5c83cf5a5d
https://github.com/llvm/llvm-project/commit/0b442bc51631552ab8a249485dd81b5c83cf5a5d
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
Log Message:
-----------
[flang][NFC] Added debug output to opt-bufferization pass. (#119936)
Commit: 3769fcb3e78eba5f3e34d1c2dfa994625edb005a
https://github.com/llvm/llvm-project/commit/3769fcb3e78eba5f3e34d1c2dfa994625edb005a
Author: vporpo <vporpodas at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Interval.h
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/IntervalTest.cpp
Log Message:
-----------
[SandboxVec][Interval] Implement Interval::notifyMoveInstr() (#119471)
This patch implements the notifier for Instruction intervals. It updates
the interval's top/bottom.
Commit: b86a22aa3915c5ed7f802ebad7578c0906bdd8a9
https://github.com/llvm/llvm-project/commit/b86a22aa3915c5ed7f802ebad7578c0906bdd8a9
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M .github/workflows/build-ci-container.yml
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Default to non-root user in linux CI container (#119987)
This patch sets the default user in the linux CI container to a non-root
user, which enables properly testing a couple of features, particularly
in libcxx.
Commit: 2fe296965930932be9b7b155bf8c10a0f81c58cf
https://github.com/llvm/llvm-project/commit/2fe296965930932be9b7b155bf8c10a0f81c58cf
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGenTypes/LowLevelType.h
M llvm/lib/CodeGenTypes/LowLevelType.cpp
Log Message:
-----------
[CodeGen] Simplify LLT bitfields. NFC. (#120074)
- Put the element size field in the same place for all non-pointer
types.
- Put the element size and address space fields in the same place for
all pointer types.
- Put the number of elements and scalable fields in the same place for
all vector types.
This simplifies initialization and accessor methods isScalable,
getElementCount, getScalarSizeInBits and getAddressSpace.
Commit: 51a0919412cf1868de689e03024c6f761a1b8b0a
https://github.com/llvm/llvm-project/commit/51a0919412cf1868de689e03024c6f761a1b8b0a
Author: Petr Hosek <phosek at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M libc/fuzzing/__support/CMakeLists.txt
M libc/test/src/__support/CMakeLists.txt
Log Message:
-----------
[libc] Exclude FreeListHeap test and fuzzer on GPU (#120137)
FreeListHeap uses the _end symbol which conflicts with the _end symbol
defined by GPU start.cpp files so for now we exclude the test and the
fuzzer on GPU.
Commit: 484a2819de1bbee5aec5fabb942c7ebb77d29bc0
https://github.com/llvm/llvm-project/commit/484a2819de1bbee5aec5fabb942c7ebb77d29bc0
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
A .github/workflows/premerge.yaml
Log Message:
-----------
[CI][Github] Add linux premerge workflow (#119635)
This patch adds a Github Actions workflow for Linux premerge. This
currently just calls into the existing CI scripts as a starting point.
Commit: 67ae944bfa97db737e2600ca0bcc2f35fc6cef9e
https://github.com/llvm/llvm-project/commit/67ae944bfa97db737e2600ca0bcc2f35fc6cef9e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
[flang][cuda] Check for use of host array in device context (#119756)
Now that variables have implicit attribute, we can check for illegal use
of module host variable in device context.
Commit: 38099d0608342ddff0737a048ca5fa325c4b0749
https://github.com/llvm/llvm-project/commit/38099d0608342ddff0737a048ca5fa325c4b0749
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_mla.c
M clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_imm.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_mla.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-mla.ll
Log Message:
-----------
[AArch64] Implement intrinsics for SME FP8 FMLAL/FMLALL (Indexed) (#118549)
This patch implements the following intrinsics:
Multi-vector 8-bit floating-point multiply-add long.
``` c
// Only if __ARM_FEATURE_SME_F8F16 != 0
void svmla_lane_za16[_mf8]_vg2x1_fpm(uint32_t slice, svmfloat8_t zn,
svmfloat8_t zm, uint64_t imm_idx,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svmla_lane_za16[_mf8]_vg2x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8_t zm, uint64_t imm_idx,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svmla_lane_za16[_mf8]_vg2x4_fpm(uint32_t slice, svmfloat8x4_t zn,
svmfloat8_t zm, uint64_t imm_idx
fpm_t fpm) __arm_streaming __arm_inout("za");
// Only if __ARM_FEATURE_SME_F8F32 != 0
void svmla_lane_za32[_mf8]_vg4x1_fpm(uint32_t slice, svmfloat8_t zn,
svmfloat8_t zm, uint64_t imm_idx,
fpm_t fpm)__arm_streaming __arm_inout("za");
void svmla_lane_za32[_mf8]_vg4x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8_t zm, uint64_t imm_idx,
fpm_t fpm)__arm_streaming __arm_inout("za");
void svmla_lane_za32[_mf8]_vg4x4_fpm(uint32_t slice, svmfloat8x4_t zn,
svmfloat8_t zm, uint64_t imm_idx,
fpm_t fpm)__arm_streaming __arm_inout("za");
```
In accordance with: https://github.com/ARM-software/acle/pull/323
Commit: 8402a0fab09a2c3a1b5c2e23e2ababcb575709d7
https://github.com/llvm/llvm-project/commit/8402a0fab09a2c3a1b5c2e23e2ababcb575709d7
Author: Artem Pianykh <artem.pyanykh at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/Cloning.h
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[NFC][Utils] Extract CloneFunctionBodyInto from CloneFunctionInto (#118624)
Summary:
This and previously extracted `CloneFunction*Into` functions will be used in later diffs.
Test Plan:
ninja check-llvm-unit check-llvm
Commit: 8c163237573df097a99b65a83280757d1b39062c
https://github.com/llvm/llvm-project/commit/8c163237573df097a99b65a83280757d1b39062c
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/StmtOpenACC.h
Log Message:
-----------
[OpenACC/NFC] Make 'trailing objects' use private inheritence.
I noticed this while working on something else, these are supposed to be
privately inherited.
Commit: 084309a0ef781b45f5d124732ba20be89b61b6de
https://github.com/llvm/llvm-project/commit/084309a0ef781b45f5d124732ba20be89b61b6de
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__locale_dir/locale_base_api.h
R libcxx/include/__locale_dir/locale_base_api/win32.h
M libcxx/include/__locale_dir/locale_guard.h
A libcxx/include/__locale_dir/support/windows.h
M libcxx/include/module.modulemap
M libcxx/src/support/win32/locale_win32.cpp
M libcxx/src/support/win32/support.cpp
Log Message:
-----------
[libc++] Refactor the Windows and MinGW implementation of the locale base API (#115752)
This patch reimplements the locale base support for Windows flavors in a
way that is more modules-friendly and without defining non-internal
names.
Since this changes the name of some types and entry points in the built
library, this is effectively an ABI break on Windows (which is
acceptable after checking with the Windows/libc++ maintainers).
Commit: 46bbd2c80eb8673ef54decc6d3d55350e3126f50
https://github.com/llvm/llvm-project/commit/46bbd2c80eb8673ef54decc6d3d55350e3126f50
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 084309a0ef78
Commit: 482237e884dde4a7887c6ac3609437c7186b5124
https://github.com/llvm/llvm-project/commit/482237e884dde4a7887c6ac3609437c7186b5124
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
M llvm/unittests/Analysis/DXILResourceTest.cpp
Log Message:
-----------
[DirectX] Get resource information via TargetExtType (#119772)
Instead of storing an auxilliary structure with the information from the
DXIL resource target extension types duplicated, access the information
that we can via the type itself.
This also means we need to handle some of the target extension types we
haven't fully defined yet, like Texture and CBuffer. For now we make an
educated guess to what those should look like based on llvm/wg-hlsl#76,
and we can update them fairly easily when we've defined them more
thoroughly.
First part of #118400
Commit: a8456c9a2fb36f7c3a69eaa296c3f5d23ec52fe5
https://github.com/llvm/llvm-project/commit/a8456c9a2fb36f7c3a69eaa296c3f5d23ec52fe5
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github] Enable new premerge workflow postcommit
This patch enables the new premerge workflow postcommit so that we can start
testing it at a reasonable scale with minimal disruption.
Commit: 13449c3de45111d21a1a7dc4df8be1c29bff6447
https://github.com/llvm/llvm-project/commit/13449c3de45111d21a1a7dc4df8be1c29bff6447
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
A libc/docs/arch_support.rst
M libc/docs/index.rst
A libc/docs/platform_support.rst
Log Message:
-----------
[libc][docs] split up platform and arch support (#120125)
Creates a new toctree "Support" under which we have distinct links to arch,
platform, and compiler support.
* Moved "Platform Support" from index landing page to new doc.
* Created explicit "Architecture Support". Requested in https://github.com/llvm/llvm-project/issues/118964#issuecomment-2531503046.
* Moved "Compiler Support" from Status toctree to new Support toctree.
---------
Co-authored-by: Carlo Cabrera <github at carlo.cab>
Commit: 0f6d93f8d5c99f137c05be23fe2cc161154d73df
https://github.com/llvm/llvm-project/commit/0f6d93f8d5c99f137c05be23fe2cc161154d73df
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
Log Message:
-----------
[LV] Add test showing bug in epilogue vectorization of selects.
This is causing mis-compiles when in SPEC2017 on AArch64 after
b3cba9be41bfa8.
Commit: 0e528ac404e13ed2d952a2d83aaf8383293c851e
https://github.com/llvm/llvm-project/commit/0e528ac404e13ed2d952a2d83aaf8383293c851e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
Log Message:
-----------
[VPlan] Use start value operand for FindLastIV reduction phis.
Update VPReductionPHIRecipe::execute to use the start value from the
start value operand of the recipe. This is needed to make sure we resume
from the correct value during epilogue vectorization.
At the moment, the start value is set to the sentinel value in
adjustRecipesForReductions, as the original start value needs to be used
when creating ResumePhi recipes.
Fixes a mis-compile introduced by b3cba9be41bfa8 in SPEC2017 on AArch64.
Commit: dda1d1674755e0e68789e01ed8698ea91b0b54b0
https://github.com/llvm/llvm-project/commit/dda1d1674755e0e68789e01ed8698ea91b0b54b0
Author: norx1991 <yifei.xu at utexas.edu>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Update BUILD.bazel
Fix issue introduced by https://github.com/llvm/llvm-project/pull/118839.
Commit: 41a6e9cfd693c8570d48e73c5649d83ee6376b6d
https://github.com/llvm/llvm-project/commit/41a6e9cfd693c8570d48e73c5649d83ee6376b6d
Author: Ashley Coleman <ascoleman at microsoft.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
A clang/test/CodeGenHLSL/builtins/WaveActiveAllTrue.hlsl
A clang/test/SemaHLSL/BuiltIns/WaveActiveAllTrue-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/DirectX/WaveActiveAllTrue.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveAllTrue.ll
Log Message:
-----------
[HLSL] Implement `WaveActiveAllTrue` Intrinsic (#117245)
Resolves https://github.com/llvm/llvm-project/issues/99161
- [x] Implement `WaveActiveAllTrue` clang builtin,
- [x] Link `WaveActiveAllTrue` clang builtin with `hlsl_intrinsics.h`
- [x] Add sema checks for `WaveActiveAllTrue` to
`CheckHLSLBuiltinFunctionCall` in `SemaChecking.cpp`
- [x] Add codegen for `WaveActiveAllTrue` to `EmitHLSLBuiltinExpr` in
`CGBuiltin.cpp`
- [x] Add codegen tests to
`clang/test/CodeGenHLSL/builtins/WaveActiveAllTrue.hlsl`
- [x] Add sema tests to
`clang/test/SemaHLSL/BuiltIns/WaveActiveAllTrue-errors.hlsl`
- [x] Create the `int_dx_WaveActiveAllTrue` intrinsic in
`IntrinsicsDirectX.td`
- [x] Create the `DXILOpMapping` of `int_dx_WaveActiveAllTrue` to `114`
in `DXIL.td`
- [x] Create the `WaveActiveAllTrue.ll` and
`WaveActiveAllTrue_errors.ll` tests in `llvm/test/CodeGen/DirectX/`
- [x] Create the `int_spv_WaveActiveAllTrue` intrinsic in
`IntrinsicsSPIRV.td`
- [x] In SPIRVInstructionSelector.cpp create the `WaveActiveAllTrue`
lowering and map it to `int_spv_WaveActiveAllTrue` in
`SPIRVInstructionSelector::selectIntrinsic`.
- [x] Create SPIR-V backend test case in
`llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveAllTrue.ll`
Commit: 72e8b9aeaa3f584f223bc59924812df69a09a48b
https://github.com/llvm/llvm-project/commit/72e8b9aeaa3f584f223bc59924812df69a09a48b
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/CompilationInterfaces.h
M mlir/include/mlir/IR/BuiltinAttributeInterfaces.td
M mlir/include/mlir/IR/BuiltinAttributes.td
M mlir/include/mlir/Target/LLVM/ModuleToObject.h
M mlir/include/mlir/Target/LLVM/NVVM/Utils.h
M mlir/include/mlir/Target/LLVM/ROCDL/Utils.h
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp
M mlir/lib/IR/BuiltinAttributes.cpp
M mlir/lib/Target/LLVM/ModuleToObject.cpp
M mlir/lib/Target/LLVM/NVVM/Target.cpp
M mlir/lib/Target/LLVM/ROCDL/Target.cpp
M mlir/unittests/Target/LLVM/CMakeLists.txt
M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp
Log Message:
-----------
[MLIR] Add a BlobAttr interface for attribute to wrap arbitrary content and use it as linkLibs for ModuleToObject (#120116)
This change allows to expose through an interface attributes wrapping
content as external resources, and the usage inside the ModuleToObject
show how we will be able to provide runtime libraries without relying on
the filesystem.
Commit: 6e58e99a07facd73547f7fa1a6f8c0719d8af30d
https://github.com/llvm/llvm-project/commit/6e58e99a07facd73547f7fa1a6f8c0719d8af30d
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/docs/MatrixTypes.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaType.cpp
A clang/test/CodeGenCXX/matrix-vector-bit-int.cpp
M clang/test/SemaCXX/matrix-type.cpp
Log Message:
-----------
[Clang] [Sema] Reject non-power-of-2 `_BitInt` matrix element types (#117487)
Essentially, this makes this ill-formed:
```c++
using mat4 = _BitInt(12) [[clang::matrix_type(3, 3)]];
```
This matches preexisting behaviour for vector types (e.g.
`ext_vector_type`), and given that LLVM IR intrinsics for matrices also
take vector types, it seems like a sensible thing to do.
This is currently especially problematic since we sometimes lower matrix
types to LLVM array types instead, and while e.g. `[4 x i32]` and `<4 x
i32>` *probably* have the same similar memory layout (though I don’t
think it’s sound to rely on that either, see #117486), `[4 x i12]` and
`<4 x i12>` definitely don’t.
Commit: a1766699c66e7b9f8094256f98de57ba79099e94
https://github.com/llvm/llvm-project/commit/a1766699c66e7b9f8094256f98de57ba79099e94
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
Log Message:
-----------
[clang] Fix -Wunused-variable in CGBuiltin.cpp (NFC)
/llvm-project/clang/lib/CodeGen/CGBuiltin.cpp:19441:17:
error: unused variable 'Ty' [-Werror,-Wunused-variable]
llvm::Type *Ty = Op->getType();
^
1 error generated.
Commit: f0878995c217d6c6f808532fcfa106a7c680ce5a
https://github.com/llvm/llvm-project/commit/f0878995c217d6c6f808532fcfa106a7c680ce5a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github] Fix concurrency groups for premerge
According to https://docs.github.com/en/rest/using-the-rest-api/github-event-types?apiVersion=2022-11-28,
When we look at the push event payload, github.event.push.head is a string
containing the SHA. This is currently causing new commits on main to cancel
the premerge pipeline of older commits.
Commit: bf700c39d1c9f88387bfe2ec4567567397200ea3
https://github.com/llvm/llvm-project/commit/bf700c39d1c9f88387bfe2ec4567567397200ea3
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Analysis/MemoryProfileInfo.cpp
Log Message:
-----------
[MemProf] Remove dead code (NFC) (#120156)
Remove unused collection of context size information that was likely
leftover from debugging / testing.
Commit: fba3e069b4ed38b16754d5e45837bfec9d5a372a
https://github.com/llvm/llvm-project/commit/fba3e069b4ed38b16754d5e45837bfec9d5a372a
Author: Luke Lau <luke at igalia.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Remove overlapping VPInstruction::mayWriteToMemory. NFCI (#120039)
VPInstruction has a definition of mayWriteToMemory, which seems to only
be used by VPlanSLP. However VPInstructions are already handled in
VPRecipeBase::mayWriteToMemory, and everywhere else seems to use this
definition. I think these should be the same for all intents and
purposes. The VPRecipeBase definition is more conservative but returns
true for stores/calls/invokes/SLPStores.
Commit: 5e1f87e849d1f94f3e8baf190be20219edf44584
https://github.com/llvm/llvm-project/commit/5e1f87e849d1f94f3e8baf190be20219edf44584
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
A flang/test/Fir/CUDA/cuda-code-gen.mlir
Log Message:
-----------
[flang][cuda] Correctly allocate memory for descriptor load (#120164)
CodeGen will allocate memory for a new descriptor on descriptor loads.
CUDA Fortran local descriptor are allocated in managed memory by the
runtime. The newly allocated storage for cuda descriptor must also be
allocated through the runtime.
Commit: ad64946549e377e5cfdcfe84081149b7aa17c4d6
https://github.com/llvm/llvm-project/commit/ad64946549e377e5cfdcfe84081149b7aa17c4d6
Author: Koakuma <koachan at protonmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/DelaySlotFiller.cpp
M llvm/lib/Target/Sparc/SparcInstrInfo.td
M llvm/test/MC/Sparc/sparc-ctrl-instructions.s
Log Message:
-----------
[SPARC][IAS] Add support for `call dest, imm` form (#119078)
This follows GCC behavior of allowing a trailing immediate, that is
ignored by the assembler.
Commit: 2806705c4bf69cbb1a8e482104efb9429bb50683
https://github.com/llvm/llvm-project/commit/2806705c4bf69cbb1a8e482104efb9429bb50683
Author: Ivan R. Ivanov <ivanov.i.aa at m.titech.ac.jp>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Target/LLVMIR/Import/nvvmir.ll
Log Message:
-----------
[MLIR][NVVM] Enable import of nvvm.barrier0 (#119965)
Co-authored-by: Tobias Gysi <tobias.gysi at nextsilicon.com>
Commit: e2a94a97bdf26198ab254d61ee4be23a140dab2d
https://github.com/llvm/llvm-project/commit/e2a94a97bdf26198ab254d61ee4be23a140dab2d
Author: Yifei Xu <yifei.xu at utexas.edu>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Update BUILD.bazel
Fix bazel build after https://github.com/llvm/llvm-project/pull/120116
Commit: c6ff809ae9acbc90455dc8b58b2dae84a13366cf
https://github.com/llvm/llvm-project/commit/c6ff809ae9acbc90455dc8b58b2dae84a13366cf
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-mc.rst
A llvm/test/MC/Disassembler/X86/hex-bytes.txt
M llvm/tools/llvm-mc/Disassembler.cpp
M llvm/tools/llvm-mc/Disassembler.h
M llvm/tools/llvm-mc/llvm-mc.cpp
Log Message:
-----------
[llvm-mc] Add --hex to disassemble hex bytes
`--disassemble`/`--cdis` parses input bytes as decimal, 0bbin, 0ooct, or
0xhex. While the hexadecimal digit form is most commonly used, requiring
a 0x prefix for each byte (`0x48 0x29 0xc3`) is cumbersome.
Tools like xxd -p and rz-asm use a plain hex dump form without the 0x
prefix or space separator. This patch adds --hex to disassemble such hex
bytes with optional whitespace.
```
% rz-asm -a x86 -b 64 -d 4829c34829c4
sub rbx, rax
sub rsp, rax
% llvm-mc -triple=x86_64 --cdis --hex --output-asm-variant=1 <<< 4829c34829c4
.text
sub rbx, rax
sub rsp, rax
```
Pull Request: https://github.com/llvm/llvm-project/pull/119992
Commit: 056cd12284f72105a3e2338f901882e43a90c8b2
https://github.com/llvm/llvm-project/commit/056cd12284f72105a3e2338f901882e43a90c8b2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/functions.cpp
Log Message:
-----------
[clang][bytecode] Don't check returned pointers for liveness (#120107)
We're supposed to let them through and then later diagnose reading from
them, but returning dead pointers is fine.
Commit: e2cabd715bb6e8c81fe7437e74ccf78e4db5edf7
https://github.com/llvm/llvm-project/commit/e2cabd715bb6e8c81fe7437e74ccf78e4db5edf7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/RegAllocGreedy.cpp
Log Message:
-----------
RegAllocGreedy: Fix comment typo
Commit: eb5c21108fca4c871987faef581158811954c916
https://github.com/llvm/llvm-project/commit/eb5c21108fca4c871987faef581158811954c916
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/CodeGenCXX/matrix-type.cpp
A clang/test/SemaCXX/matrix-types-pseudo-destructor.cpp
Log Message:
-----------
[Clang] [Sema] Support matrix types in pseudo-destructor expressions (#117483)
We already support vector types, and since matrix element types have to
be scalar types, there should be no problem w/ just enabling this.
This now also allows matrix types to be stored in STL containers.
Commit: 3c357a49d61e4c81a1ac016502ee504521bc8dda
https://github.com/llvm/llvm-project/commit/3c357a49d61e4c81a1ac016502ee504521bc8dda
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M bolt/docs/CommandLineArgumentReference.md
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Passes/IdenticalCodeFolding.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/IdenticalCodeFolding.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/BoltDiff.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/X86/icf-safe-icp.test
A bolt/test/X86/icf-safe-process-rela-data.test
A bolt/test/X86/icf-safe-test1-no-relocs.test
A bolt/test/X86/icf-safe-test1.test
A bolt/test/X86/icf-safe-test2GlobalConstPtrNoPic.test
Log Message:
-----------
[BOLT] Add support for safe-icf (#116275)
Identical Code Folding (ICF) folds functions that are identical into one
function, and updates symbol addresses to the new address. This reduces
the size of a binary, but can lead to problems. For example when
function pointers are compared. This can be done either explicitly in
the code or generated IR by optimization passes like Indirect Call
Promotion (ICP). After ICF what used to be two different addresses
become the same address. This can lead to a different code path being
taken.
This is where safe ICF comes in. Linker (LLD) does it using address
significant section generated by clang. If symbol is in it, or an object
doesn't have this section symbols are not folded.
BOLT does not have the information regarding which objects do not have
this section, so can't re-use this mechanism.
This implementation scans code section and conservatively marks
functions symbols as unsafe. It treats symbols as unsafe if they are
used in non-control flow instruction. It also scans through the data
relocation sections and does the same for relocations that reference a
function symbol. The latter handles the case when function pointer is
stored in a local or global variable, etc. If a relocation address
points within a vtable these symbols are skipped.
Commit: 5e727e8bed5c57cbc804a2453bba1c2379084f27
https://github.com/llvm/llvm-project/commit/5e727e8bed5c57cbc804a2453bba1c2379084f27
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
M llvm/lib/CodeGen/StackMaps.cpp
A llvm/test/CodeGen/X86/stackmap-undef-operand-anyregcc.mir
M llvm/test/CodeGen/X86/statepoint-fixup-undef.mir
Log Message:
-----------
[Statepoint] Treat undef operands less specially (#119682)
This reverts commit f7443905af1e06eaacda1e437fff8d54dc89c487.
This is to avoid an assertion if an undef operand appears in a
stackmap. This is important to avoid hitting verifier errors
when register allocation starts adding undefs in error scenarios.
Rather than trying to treat undef operands as special, leave them
alone and avoid producing an invalid spill. It would a bit more
precise to produce a spill of an undef register here, but that's not
exposed through the storeRegToStackSlot API.
https://reviews.llvm.org/D122605
This was an alternative to https://reviews.llvm.org/D122582
Commit: 8387cbd0f9056fdf4e3886652e50fe4d94aaad7c
https://github.com/llvm/llvm-project/commit/8387cbd0f9056fdf4e3886652e50fe4d94aaad7c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/test/CodeGen/AMDGPU/sgpr-spill-partially-undef.mir
M llvm/test/CodeGen/AMDGPU/spill-agpr-partially-undef.mir
M llvm/test/CodeGen/AMDGPU/vgpr-spill.mir
Log Message:
-----------
AMDGPU: Delete spills of undef values (#119684)
AMDGPU: Delete spills of undef values
It would be a bit more logical to preserve the undef and do the normal
expansion, but this is less work. This avoids verifier errors in a
future patch which starts deleting liveness from registers after
allocation failures which results in spills of undef values.
https://reviews.llvm.org/D122607
Move where undef sgpr spills are deleted
Commit: e83afbe793071727533d822bcc29f547dfab2905
https://github.com/llvm/llvm-project/commit/e83afbe793071727533d822bcc29f547dfab2905
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
Log Message:
-----------
[ELF] Remove unneeded sec->file check
Commit: b3d2548d5b04ed3b7aaedfd22e62da40875c0f31
https://github.com/llvm/llvm-project/commit/b3d2548d5b04ed3b7aaedfd22e62da40875c0f31
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/COFFPlatform.h
A llvm/include/llvm/ExecutionEngine/Orc/LinkGraphLayer.h
A llvm/include/llvm/ExecutionEngine/Orc/LinkGraphLinkingLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
A llvm/lib/ExecutionEngine/Orc/LinkGraphLayer.cpp
A llvm/lib/ExecutionEngine/Orc/LinkGraphLinkingLayer.cpp
M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
Log Message:
-----------
[ORC] Introduce LinkGraphLayer interface and LinkGraphLinkingLayer. (#120182)
Introduces a new layer interface, LinkGraphLayer, that can be used to
add LinkGraphs to an ExecutionSession.
This patch moves most of ObjectLinkingLayer's functionality into a new
LinkGraphLinkingLayer which should (in the future) be able to be used
without linking libObject. ObjectLinkingLayer now inherits from
LinkGraphLinkingLayer and just handles conversion of object files to
LinkGraphs, which are then handed down to LinkGraphLinkingLayer to be
linked.
Commit: a5d00ae9d18bdc8f7076ae2d44949b4f134e585e
https://github.com/llvm/llvm-project/commit/a5d00ae9d18bdc8f7076ae2d44949b4f134e585e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port b3d2548d5b04
Commit: 4a7673ddf2377784c1c7f11edcfa3ddb54e702a0
https://github.com/llvm/llvm-project/commit/4a7673ddf2377784c1c7f11edcfa3ddb54e702a0
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github] Fix premerge concurrency cancellation
This should actually fix the problem as I validated that github.sha returns an
actual value by running a workflow in a test repo. I'm not sure why the
existing value doesn't work, but it returns nothing.
Commit: f515d7aa720142dfbb72f52e9d0106ba33e1fe69
https://github.com/llvm/llvm-project/commit/f515d7aa720142dfbb72f52e9d0106ba33e1fe69
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/tools/scan-build/bin/scan-build
Log Message:
-----------
[Static analysis] Encodes a filename before inserting it into a URL. (#120123)
This fixes a bug where report links generated from files such as
StylePrimitiveNumericTypes+Conversions.h in WebKit result in an error.
Co-authored-by: Brianna Fan <bfan2 at apple.com>
Commit: 417d2d7ce694acfa09a7d950cf1c5c41796eb313
https://github.com/llvm/llvm-project/commit/417d2d7ce694acfa09a7d950cf1c5c41796eb313
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
M lld/ELF/Symbols.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
A lld/test/ELF/aarch64-got-relocations-pauth.s
Log Message:
-----------
[PAC][lld][AArch64][ELF] Support signed GOT (#113815)
Depends on #113811
Support `R_AARCH64_AUTH_ADR_GOT_PAGE`, `R_AARCH64_AUTH_GOT_LO12_NC` and
`R_AARCH64_AUTH_GOT_ADD_LO12_NC` GOT-generating relocations. For preemptible
symbols, dynamic relocation `R_AARCH64_AUTH_GLOB_DAT` is emitted. Otherwise,
we unconditionally emit `R_AARCH64_AUTH_RELATIVE` dynamic relocation since
pointers in signed GOT needs to be signed during dynamic link time.
Commit: a56ca3a4e4f9ee8a7ce231cf7b162c4688524fdf
https://github.com/llvm/llvm-project/commit/a56ca3a4e4f9ee8a7ce231cf7b162c4688524fdf
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/test/MC/Disassembler/AArch64/armv8.6a-amvs.s
M llvm/test/MC/Disassembler/AArch64/armv8r-sysreg.txt
M llvm/test/MC/Disassembler/AArch64/armv9.6a-lsui.txt
M llvm/test/MC/Disassembler/AArch64/armv9.6a-occmo.txt
M llvm/test/MC/Disassembler/AArch64/armv9.6a-pcdphint.txt
M llvm/test/MC/Disassembler/AArch64/armv9.6a-rme-gpc3.txt
M llvm/test/MC/Disassembler/AArch64/armv9.6a-srmask.txt
M llvm/test/MC/Disassembler/Mips/eva/valid_R6-eva.txt
M llvm/test/MC/Disassembler/Mips/eva/valid_preR6-eva.txt
M llvm/test/MC/Disassembler/Mips/mips1/valid-mips1-el.txt
M llvm/test/MC/Disassembler/Mips/mips1/valid-mips1.txt
M llvm/test/MC/Disassembler/Mips/mips2/valid-mips2-el.txt
M llvm/test/MC/Disassembler/Mips/mips2/valid-mips2.txt
M llvm/test/MC/Disassembler/Mips/mips3/valid-mips3-el.txt
M llvm/test/MC/Disassembler/Mips/mips3/valid-mips3.txt
M llvm/test/MC/Disassembler/Mips/mips4/valid-mips4-el.txt
M llvm/test/MC/Disassembler/Mips/mips4/valid-mips4.txt
M llvm/test/MC/Disassembler/Mips/mips64r2/valid-mips64r2-el.txt
M llvm/test/MC/Disassembler/Mips/mips64r2/valid-mips64r2.txt
M llvm/test/MC/Disassembler/Mips/mips64r3/valid-mips64r3-el.txt
M llvm/test/MC/Disassembler/Mips/mips64r3/valid-mips64r3.txt
M llvm/test/MC/Disassembler/Mips/mips64r5/valid-mips64r5-el.txt
M llvm/test/MC/Disassembler/Mips/mips64r5/valid-mips64r5.txt
M llvm/test/MC/Disassembler/RISCV/colored.txt
M llvm/test/MC/Disassembler/WebAssembly/wasm-error.txt
M llvm/test/MC/Disassembler/WebAssembly/wasm.txt
Log Message:
-----------
[test] Don't test initial ".text" in llvm-mc --disassemble output
This kludge will go away after #120185.
Commit: 6db1b2035bbef5ec477a1e645e249ebf7b29688c
https://github.com/llvm/llvm-project/commit/6db1b2035bbef5ec477a1e645e249ebf7b29688c
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/tools/scan-build/bin/scan-build
Log Message:
-----------
Revert "[Static analysis] Encodes a filename before inserting it into a URL." (#120195)
Reverts llvm/llvm-project#120123
Broke some tests.
Commit: 495bd4c255a0eb0e5b4fef5240eddc5fded1911b
https://github.com/llvm/llvm-project/commit/495bd4c255a0eb0e5b4fef5240eddc5fded1911b
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/test/MC/Disassembler/AArch64/colored.txt
M llvm/test/MC/Disassembler/ARM/arm-trustzone.txt
M llvm/test/tools/llvm-mc/line_end_with_space.test
M llvm/tools/llvm-mc/Disassembler.cpp
Log Message:
-----------
[llvm-mc] Don't print initial .text for disassembler
```
% echo 90 | llvm-mc -triple=x86_64 --disassemble --hex
.text
nop
```
The initial `.text` kludge is due `initSection`, which is actually only
needed by AIX XCOFF for its `getCurrentSectionOnly()` use in
MCAsmStreamer::emitInstruction (https://reviews.llvm.org/D95518). Adjust
MCAsmStreamer::emitInstruction to not trigger failures on
```
echo 7c4303a6 | llvm-mc --cdis --hex --triple=powerpc-aix-ibm-xcoff
```
Pull Request: https://github.com/llvm/llvm-project/pull/120185
Commit: 43ede4689892a716fc9ec1c9ae4096621f3b0f57
https://github.com/llvm/llvm-project/commit/43ede4689892a716fc9ec1c9ae4096621f3b0f57
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/fp128.ll
Log Message:
-----------
[RISCV][GISel] Add legalization for more fp128 libcalls.
Commit: 300deebf41d2da96701fe29c0faa8025b7efa120
https://github.com/llvm/llvm-project/commit/300deebf41d2da96701fe29c0faa8025b7efa120
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
M llvm/unittests/ExecutionEngine/Orc/LazyCallThroughAndReexportsTest.cpp
Log Message:
-----------
[ORC] Make LazyReexportsManager implement ResourceManager.
This ensures that the reexports mappings are cleared when the resource tracker
associated with each mapping is removed.
Commit: bfe8a21bad7e90629fb079217929a79e7377d8b3
https://github.com/llvm/llvm-project/commit/bfe8a21bad7e90629fb079217929a79e7377d8b3
Author: Brendan Sweeney <brs at eecs.berkeley.edu>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoA.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZalasr.td
M llvm/test/CodeGen/RISCV/atomic-load-store.ll
Log Message:
-----------
[RISCV][ISEL] Lowering to load-acquire/store-release for RISCV Zalasr (#82914)
Lowering to load-acquire/store-release for RISCV Zalasr.
Currently uses the psABI lowerings for WMO load-acquire/store-release
(which are identical to A.7). These are incompatable with the A.6
lowerings currently used by LLVM. This should be OK for now since Zalasr
is behind the enable experimental extensions flag, but needs to be fixed
before it is removed from that.
For TSO, it uses the standard Ztso mappings except for lowering seq_cst
loads/store to load-acquire/store-release, I had Andrea review that.
Commit: 58cfa39861bfbb6605df1480a3068ea7fc737d4d
https://github.com/llvm/llvm-project/commit/58cfa39861bfbb6605df1480a3068ea7fc737d4d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Remove legacy VPlan() constructors (NFC).
The constructors were retained to reduce the diff during transition.
Remove them now.
Commit: 514580b43898921cc95659de47b383bd2c9b4b12
https://github.com/llvm/llvm-project/commit/514580b43898921cc95659de47b383bd2c9b4b12
Author: Florian Mayer <fmayer at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/CodeGen/SanitizerMetadata.cpp
M clang/test/CodeGen/memtag-globals.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64.h
R llvm/lib/Target/AArch64/AArch64GlobalsTagging.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/CMakeLists.txt
M llvm/test/CodeGen/AArch64/O0-pipeline.ll
M llvm/test/CodeGen/AArch64/O3-pipeline.ll
M llvm/unittests/IR/VerifierTest.cpp
M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
Log Message:
-----------
[MTE] Apply alignment / size in AsmPrinter rather than IR (#111918)
This makes sure no optimizations are applied that assume the
bigger alignment or size, which could be incorrect if we link
together with non-instrumented code.
Commit: fbdbb13d5ba9e7a2bd6c544d290f913490da858f
https://github.com/llvm/llvm-project/commit/fbdbb13d5ba9e7a2bd6c544d290f913490da858f
Author: Artem Pianykh <artem.pyanykh at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[NFC][Utils] Eliminate DISubprogram set from BuildDebugInfoMDMap (#118625)
Summary:
Previously, we'd add all SPs distinct from the cloned one into a set.
Then when cloning a local scope we'd check if it's from one of those
'distinct' SPs by checking if it's in the set. We don't need to do that.
We can just check against the cloned SP directly and drop the set.
Test Plan:
ninja check-llvm-unit check-llvm
Commit: df2356b47548ad69c2ded12e5ad7657be51aca42
https://github.com/llvm/llvm-project/commit/df2356b47548ad69c2ded12e5ad7657be51aca42
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Transforms/VectorCombine/X86/concat-boolmasks.ll
Log Message:
-----------
[X86] getShuffleCost - ensure we treat constant folded shuffles as free
Commit: 3508d8f6ddd65e27486fad70cdce47adebafc364
https://github.com/llvm/llvm-project/commit/3508d8f6ddd65e27486fad70cdce47adebafc364
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-error-all-regs-reserved.ll
M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-errors.ll
Log Message:
-----------
RegAllocFast: Avoid using temporary DiagnosticInfo (#120184)
This reverts commit 1297933f35b4948b4d281259627a72094c407a75.
Commit: 2a7ed2c1aaf5c84280d947eea56daaf302eb83d1
https://github.com/llvm/llvm-project/commit/2a7ed2c1aaf5c84280d947eea56daaf302eb83d1
Author: David Green <david.green at arm.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/Transforms/SROA/readonlynocapture.ll
Log Message:
-----------
[SROA] Protect against calling the alloca ptr
In case we are calling the alloca ptr directly, check that the Use is a normal
operand to the call. Fortran is a funny language.
Commit: 9c89b40f183b6900d364e3496fd955f0c17fe27e
https://github.com/llvm/llvm-project/commit/9c89b40f183b6900d364e3496fd955f0c17fe27e
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_mla.c
M clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_mla.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-mla.ll
Log Message:
-----------
[AArch64] Implement intrinsics for FMLAL/FMLALL (single) (#119568)
Multi-vector 8-bit floating-point multiply-add long (single)
```c
// Only if __ARM_FEATURE_SME_F8F16 != 0
void svmla[_single]_za16[_mf8]_vg2x1_fpm(uint32_t slice, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm)
__arm_streaming __arm_inout("za");
void svmla[_single]_za16[_mf8]_vg2x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8_t zm, fpm_t fpm)
__arm_streaming __arm_inout("za");
void svmla[_single]_za16[_mf8]_vg2x4_fpm(uint32_t slice, svmfloat8x4_t zn,
svmfloat8_t zm, fpm_t fpm)
__arm_streaming __arm_inout("za");
// Only if __ARM_FEATURE_SME_F8F32 != 0
void svmla[_single]_za32[_mf8]_vg4x1_fpm(uint32_t slice, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm)
__arm_streaming __arm_inout("za");
void svmla[_single]_za32[_mf8]_vg4x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8_t zm, fpm_t fpm)
__arm_streaming __arm_inout("za");
void svmla[_single]_za32[_mf8]_vg4x4_fpm(uint32_t slice, svmfloat8x4_t zn,
svmfloat8_t zm, fpm_t fpm)
__arm_streaming __arm_inout("za");
```
In accordance with https://github.com/ARM-software/acle/pull/323.
Co-authored-by: Momchil Velikov momchil.velikov at arm.com
Commit: e5a6f1c7793408adfe299c8fa5f4a53e236076b5
https://github.com/llvm/llvm-project/commit/e5a6f1c7793408adfe299c8fa5f4a53e236076b5
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
Log Message:
-----------
[NFC][webkit.UncountedLambdaCapturesChecker] Remove unnecessary check (#120069)
CXXMD is checked for null, but it can't be null inside of a visitor's
method. Found by a static analyzer tool.
Commit: 75b2d786734cd3fc0825fc6e20a3925d16993205
https://github.com/llvm/llvm-project/commit/75b2d786734cd3fc0825fc6e20a3925d16993205
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
[GitHub] Add Xtensa backend labeler. (#120133)
Add patterns to label Xtensa backend related changes automatically.
Commit: 7c135e17fbb7178466eafce9826c896518907637
https://github.com/llvm/llvm-project/commit/7c135e17fbb7178466eafce9826c896518907637
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/select-equivalence-fp.ll
Log Message:
-----------
[InstSimplify] Treat float binop with identity as refining (#120098)
If x is NaN, then fmul (x, 1) may produce a different NaN value.
Our float semantics explicitly permit folding fmul (x, 1) to x, but we
can't do this when we're replacing a select input, as selects are
supposed to preserve the exact bitwise value.
Fixes
https://github.com/llvm/llvm-project/pull/115152#issuecomment-2545773114.
Commit: a1f5fe8c851ba6a0070e4cab9e7436e962677ac6
https://github.com/llvm/llvm-project/commit/a1f5fe8c851ba6a0070e4cab9e7436e962677ac6
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/fma-relu-contract.ll
M llvm/test/CodeGen/NVPTX/fma-relu-fma-intrinsic.ll
M llvm/test/CodeGen/NVPTX/fma-relu-instruction-flag.ll
M llvm/test/CodeGen/NVPTX/i16x2-instructions.ll
Log Message:
-----------
[NVPTX] Optimize v2x16 BUILD_VECTORs to PRMT (#116675)
When two 16-bit values are combined into a v2x16 vector, and those
values are truncated come from 32-bit values, a PRMT instruction can
save registers by selecting bytes directly from the original 32-bit
values. We do this during a post-legalize DAG combine, as these
opportunities are typically only exposed after the BUILD_VECTOR's
operands have been legalized.
Additionally, if the 32-bit values are right-shifted, we can fold in the
shift by selecting higher bytes with PRMT. Only logical right-shifts by
16 are supported (for now) since those are the only situations seen in
practice. Right shifts by 16 often come up during the legalization of
EXTRACT_VECTOR_ELT.
This idea was brought up in a PR comment by @Artem-B.
Commit: 8cd8b5079b3c8debc1fa0b7b2287a00d7d385819
https://github.com/llvm/llvm-project/commit/8cd8b5079b3c8debc1fa0b7b2287a00d7d385819
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/test/Conversion/VectorToLLVM/vector-mask-to-llvm.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Conversion/VectorToLLVM/vector-xfer-to-llvm.mlir
Log Message:
-----------
[mlir][Vector] Move mask materialization patterns to greedy rewrite (#119973)
The mask materialization patterns during `VectorToLLVM` are rewrite
patterns. They should run as part of the greedy pattern rewrite and not
the dialect conversion. (Rewrite patterns and conversion patterns are
not generally compatible.)
The current combination of rewrite patterns and conversion patterns
triggered an edge case when merging the 1:1 and 1:N dialect conversions.
Commit: 59890c13343af9e308281b3c76bac425087f4f8a
https://github.com/llvm/llvm-project/commit/59890c13343af9e308281b3c76bac425087f4f8a
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M libcxx/include/__algorithm/inplace_merge.h
M libcxx/include/__algorithm/stable_partition.h
M libcxx/include/__algorithm/stable_sort.h
M libcxx/include/__exception/exception_ptr.h
M libcxx/include/__functional/function.h
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/builtin_new_allocator.h
M libcxx/include/__memory/ranges_construct_at.h
M libcxx/include/__memory/ranges_uninitialized_algorithms.h
M libcxx/include/__memory/raw_storage_iterator.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__memory/unique_temporary_buffer.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/__pstl/backends/libdispatch.h
M libcxx/include/__pstl/cpu_algos/transform_reduce.h
M libcxx/include/__pstl/handle_exception.h
M libcxx/include/__utility/no_destroy.h
M libcxx/include/__utility/small_buffer.h
M libcxx/include/exception
M libcxx/include/future
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/module.modulemap
M libcxx/include/optional
M libcxx/include/stdexcept
M libcxx/include/unordered_map
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxxabi/src/cxa_default_handlers.cpp
Log Message:
-----------
[libc++] Granularize <new> includes (#119964)
Commit: 0693b9e9ccdec5f09a3080b1bec73f5004a8dfa3
https://github.com/llvm/llvm-project/commit/0693b9e9ccdec5f09a3080b1bec73f5004a8dfa3
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/test/Conversion/GPUCommon/lower-vector.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
Log Message:
-----------
[mlir][Vector] Clean up `populateVectorToLLVMConversionPatterns` (#119975)
Clean up `populateVectorToLLVMConversionPatterns` so that it populates
only conversion patterns. All rewrite patterns that do not lower to LLVM
should be populated into a separate greedy pattern rewrite.
The current combination of rewrite patterns and conversion patterns
triggered an edge case when merging the 1:1 and 1:N dialect conversions.
Depends on #119973.
Commit: 10b12e6e07b4a2e6ff558b4a3066431bd704abfe
https://github.com/llvm/llvm-project/commit/10b12e6e07b4a2e6ff558b4a3066431bd704abfe
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/LiveVariables.h
M llvm/lib/CodeGen/LiveVariables.cpp
Log Message:
-----------
LiveVariables: Use Register (#120204)
Commit: f7988a338ddb53b03e7cb89d839616925bd0ade1
https://github.com/llvm/llvm-project/commit/f7988a338ddb53b03e7cb89d839616925bd0ade1
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
A llvm/test/CodeGen/AMDGPU/remove-not-short-exec-branch-on-unconditional-jump.mir
Log Message:
-----------
[AMDGPU][SIPreEmitPeephole] Fix mustRetainExeczBranch (#120121)
Do not remove S_CBRANCH_EXECZ if one of the following blocks contains an
unconditional branch to a block other than the one immediately following
it. This can cause unwanted behavior like infinite loops.
Commit: a7dafea384a519342b2fbe210ed101c1e67f3be7
https://github.com/llvm/llvm-project/commit/a7dafea384a519342b2fbe210ed101c1e67f3be7
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AArch64/sincos-stack-slots.ll
M llvm/test/CodeGen/PowerPC/f128-arith.ll
M llvm/test/CodeGen/RISCV/llvm.frexp.ll
M llvm/test/CodeGen/X86/llvm.frexp.ll
A llvm/test/CodeGen/X86/llvm.sincos.ll
M llvm/test/CodeGen/X86/sincos-stack-args.ll
Log Message:
-----------
[SDAG] Allow folding stack slots into sincos/frexp in more cases (#118117)
This adds a new helper `canFoldStoreIntoLibCallOutputPointers()` to
check that it is safe to fold a store into a node that will expand to a
library call that takes output pointers. This requires checking for two
(independent) properties:
1. The store is not within a CALLSEQ_START..CALLSEQ_END pair
* If it is, the expansion would lead to nested call sequences (which is
invalid)
2. The node does not appear as a predecessor to the store
* If it does, attempting to merge the store into the call would result
in a cycle in the DAG
These two properties are checked as part of the same traversal in
`canFoldStoreIntoLibCallOutputPointers()`
Commit: bdf727065b581c45b68a81090272f497f1ce5485
https://github.com/llvm/llvm-project/commit/bdf727065b581c45b68a81090272f497f1ce5485
Author: wanglei <wanglei at loongson.cn>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M llvm/lib/Frontend/OpenMP/OMPContext.cpp
M offload/CMakeLists.txt
M offload/plugins-nextgen/common/src/Utils/ELF.cpp
M offload/plugins-nextgen/host/CMakeLists.txt
M offload/plugins-nextgen/host/dynamic_ffi/ffi.h
M offload/plugins-nextgen/host/src/rtl.cpp
Log Message:
-----------
[Offload] Add support for loongarch64 to host plugin
This adds support for the loongarch64 architecture to the offload host
plugin.
Similar to #115773
To fix some test issues, I've had to add the LoongArch64 target to:
- CompilerInvocation::ParseLangArgs
- linkDevice in ClangLinuxWrapper.cpp
- OMPContext::OMPContext (to set the device_kind_cpu trait)
Reviewed By: jhuber6
Pull Request: https://github.com/llvm/llvm-project/pull/120173
Commit: 37e48e4a7360a6faf1b157e843160d9e65223890
https://github.com/llvm/llvm-project/commit/37e48e4a7360a6faf1b157e843160d9e65223890
Author: aurelien35 <aurelien35 at users.noreply.github.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/DebugInfo/LogicalView/LVReaderHandler.cpp
M llvm/unittests/DebugInfo/LogicalView/CodeViewReaderTest.cpp
A llvm/unittests/DebugInfo/LogicalView/Inputs/README.md
A llvm/unittests/DebugInfo/LogicalView/Inputs/test-codeview-msvc.lib
Log Message:
-----------
Fix crash due to un-checked error in LVReaderHandler::handleArchive method (#118951)
[llvm-debuginfo-analyzer] Fix crash due to un-checked error in LVReaderHandler::handleArchive
method.
- Added README describing how to generated the binary files used for the test.
- A follow up patch to add extra ASSERT_NE
Committed on behalf of @aurelien35
Commit: b07e7b76c5d532a611cf19ae083a94d44bfe0c5d
https://github.com/llvm/llvm-project/commit/b07e7b76c5d532a611cf19ae083a94d44bfe0c5d
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/CMakeLists.txt
M compiler-rt/cmake/Modules/CompilerRTAIXUtils.cmake
M compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
M flang/CMakeLists.txt
M libc/CMakeLists.txt
M llvm/cmake/modules/LLVMProcessSources.cmake
M llvm/tools/llvm-config/CMakeLists.txt
M polly/cmake/polly_macros.cmake
Log Message:
-----------
[cmake] Drop `AddFileDependencies` and `CMakeParseArguments` (#120002)
Theses modules are deprecated and have trivial implementations in modern
cmake.
Commit: 24c2744a189eef9dfd39789df4983e4ffd219197
https://github.com/llvm/llvm-project/commit/24c2744a189eef9dfd39789df4983e4ffd219197
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
Log Message:
-----------
[ORC] Fix LazyReexports resource key management.
Multiple reentry points may be associated with a single key.
Commit: 449af81f922cdb7a1f24b4c1e989f30848e1d762
https://github.com/llvm/llvm-project/commit/449af81f922cdb7a1f24b4c1e989f30848e1d762
Author: AdUhTkJm <30948580+AdUhTkJm at users.noreply.github.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaStmtAsm.cpp
M clang/test/Sema/asm.c
Log Message:
-----------
[Clang] Fix crash for incompatible types in inline assembly (#119098)
Fixed issue #118892.
Commit: 908e30658ddf634f7c929f0c7e78dd40405c795a
https://github.com/llvm/llvm-project/commit/908e30658ddf634f7c929f0c7e78dd40405c795a
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_mla.c
M clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_mla.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-mla.ll
Log Message:
-----------
[AArch64] Implement intrinsics for FP8 SME FMLAL/FMLALL (multi) (#119546)
This patch implements the following intrinsics:
Multi-vector 8-bit floating-point multiply-add long (multiple vectors).
``` c
// Only if __ARM_FEATURE_SME_F8F16 != 0
void svmla_za16[_mf8]_vg2x2_fpm(uint32_t slice, svmfloat8x2_t zn, svmfloat8x2_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svmla_za16[_mf8]_vg2x4_fpm(uint32_t slice, svmfloat8x4_t zn, svmfloat8x4_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
// Only if __ARM_FEATURE_SME_F8F32 != 0
void svmla_za32[_mf8]_vg4x2_fpm(uint32_t slice, svmfloat8x2_t zn, svmfloat8x2_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svmla_za32[_mf8]_vg4x4_fpm(uint32_t slice, svmfloat8x4_t zn, svmfloat8x4_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
```
In accordance with https://github.com/ARM-software/acle/pull/323
Commit: 1b8099040e9a919794eba3854486d46fa9018b94
https://github.com/llvm/llvm-project/commit/1b8099040e9a919794eba3854486d46fa9018b94
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M compiler-rt/lib/builtins/aarch64/sme-abi.S
M compiler-rt/lib/builtins/aarch64/sme-libc-mem-routines.S
Log Message:
-----------
Reland "[compiler-rt][AArch64] Allow platform-specific mangling of SME routines. (#119864)"
Avoid issues caused by `.subsections_via_symbols` directive, by using
numbered labels instead of named labels for the branch locations.
This reverts commit 4032ce3413d0230b0ccba1203536f9cb35e5c3b5.
Commit: c1f5937eb4bf4002b8205873189f900364868fd5
https://github.com/llvm/llvm-project/commit/c1f5937eb4bf4002b8205873189f900364868fd5
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/test/CodeGen/AArch64/selectopt-cast.ll
Log Message:
-----------
[SelectOpt] Support BinOps with SExt operands. (#115879)
Building on top of https://github.com/llvm/llvm-project/pull/115489
extend support for binops with SExt operand.
PR: https://github.com/llvm/llvm-project/pull/115879
Commit: 8ea9576d94ec6b15a2a3ba181af15d136283bde4
https://github.com/llvm/llvm-project/commit/8ea9576d94ec6b15a2a3ba181af15d136283bde4
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[SCEV] Add initial matchers for SCEV expressions. (NFC) (#119390)
This patch adds initial matchers for unary and binary SCEV expressions
and specializes it for SExt, ZExt and binary add expressions.
Also adds matchers for SCEVConstant and SCEVUnknown.
This patch only converts a few instances to use the new matchers to make
sure everything builds as expected for now.
The goal of the matchers is to hopefully make it slightly easier to
write code matching SCEV patterns.
Depends on https://github.com/llvm/llvm-project/pull/119389
PR: https://github.com/llvm/llvm-project/pull/119390
Commit: 56fd46edb38e4bab7e48c668683ba72709beb64f
https://github.com/llvm/llvm-project/commit/56fd46edb38e4bab7e48c668683ba72709beb64f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
Log Message:
-----------
[clang][bytecode] Remove a bitcast nullptr_t special case (#120188)
We still need to check the input pointer, so let this go through
BitCastPrim.
Commit: 52b07d971c89ab8fbcc497f22c43931b488256ea
https://github.com/llvm/llvm-project/commit/52b07d971c89ab8fbcc497f22c43931b488256ea
Author: Nathan Gauër <brioche at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
A clang/test/CodeGenHLSL/builtins/RWBuffer-constructor-opt.hlsl
Log Message:
-----------
[HLSL] Fix call convention mismatch for ctor/dtor (#118651)
Before this patch, there was a calling-convention mismatch between the
constructors and the actual call emitted for the entrypoint wrapper.
Such mismatch causes the InstCombine pass to replace this call with an
`unreachable`, breaking the whole function.
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: 794cd814ee0260c094b98e453c89faf5a1a1df01
https://github.com/llvm/llvm-project/commit/794cd814ee0260c094b98e453c89faf5a1a1df01
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
Log Message:
-----------
[lldb][DWARFASTParserClang][ObjC] Remove workaround for old ObjC DWARF (#120218)
With all the recent versions of Clang that I tested, ObjC forward
declarations like
```
@class ForwardObjcClass;
```
don't emit the kind of DWARF that this workaround was put in place for.
Also, zero-sized structures are valid in C (and thus Objective-C), so
this workaround makes things confusing to reason about when mixing the
two languages.
This workaround has been in place for at least a decade, and given that
recent compilers don't produce this anymore, we think it's a good time
to remove it.
Commit: 34c4f6f9375ba8193327f2706d05b90e363a33d1
https://github.com/llvm/llvm-project/commit/34c4f6f9375ba8193327f2706d05b90e363a33d1
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[MLIR][bazel] port 0693b9e9ccdec5f09a3080b1bec73f5004a8dfa3
Commit: 1157187496afbbb203b8ec7aa320769ec6eed8c4
https://github.com/llvm/llvm-project/commit/1157187496afbbb203b8ec7aa320769ec6eed8c4
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-fp-ext-trunc-illegal-type.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/widened-massv-call.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/metadata-enable.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses-different-insert-position.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/interleavevectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
M llvm/test/Transforms/PhaseOrdering/X86/pixel-splat.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr88239.ll
M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv-nounroll.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reduction-known-first-value.ll
Log Message:
-----------
[VPlan] Propagate all GEP flags (#119899)
Store GEPNoWrapFlags instead of only InBounds and propagate them.
Commit: e0a79eeca27b894bca6aa3f5dfdd8f1ac6644381
https://github.com/llvm/llvm-project/commit/e0a79eeca27b894bca6aa3f5dfdd8f1ac6644381
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
M lldb/test/API/functionalities/conditional_break/TestConditionalBreak.py
M lldb/test/API/functionalities/data-formatter/data-formatter-cpp/TestDataFormatterCpp.py
M lldb/test/API/functionalities/data-formatter/data-formatter-skip-summary/TestDataFormatterSkipSummary.py
M lldb/test/API/lang/cpp/namespace/TestNamespace.py
M lldb/unittests/SymbolFile/DWARF/DWARFUnitTest.cpp
Log Message:
-----------
[lldb] Remove references to llvm-gcc (#120225)
The `llvm-gcc` front-end has been EOL'd at least since 2011 (based on
some `git` archeology). And Clang/LLVM has been removing references to
it ever since.
This patch removes the remaining references to it from LLDB. One benefit
of this is that it will allow us to remove the code checking for
`DW_AT_decl_file_attributes_are_invalid` and
`Supports_DW_AT_APPLE_objc_complete_type`.
Commit: f1763888bb96c9c4069d8d069083371965561111
https://github.com/llvm/llvm-project/commit/f1763888bb96c9c4069d8d069083371965561111
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
Log Message:
-----------
[lldb][DWARF] Remove obsolete calls to Supports_DW_AT_APPLE_objc_complete_type and DW_AT_decl_file_attributes_are_invalid (#120226)
Depends on https://github.com/llvm/llvm-project/pull/120225
With `llvm-gcc` support being removed from LLDB, these APIs
are now trivial and can be removed too.
Commit: fbbf1bed746c335b970aee7bd135676e534ffa05
https://github.com/llvm/llvm-project/commit/fbbf1bed746c335b970aee7bd135676e534ffa05
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/Sema/HLSLExternalSemaSource.cpp
Log Message:
-----------
[HLSL][NFC] Fix static analyzer concerns (#120090)
Class BuiltinTypeMethodBuilder has a user-defined destructor so likely
compiler generated special functions may behave incorrectly. Delete
explicitly copy constructor and copy assignment operator to avoid
potential errors.
Commit: b4c1ded7d54858972c27250f4b6b882e74da1444
https://github.com/llvm/llvm-project/commit/b4c1ded7d54858972c27250f4b6b882e74da1444
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/CodeGen/ItaniumCXXABI.cpp
A clang/test/OpenMP/amdgpu_threadprivate.cpp
Log Message:
-----------
[clang] Recover necessary AddrSpaceCast (#119246)
A necessary AddrSpaceCast was wrongfully deleted in
5c91b2886f6bf400b60ca7839069839ac3980f8f . Recover the AddrSpaceCast.
This fixes #86791 .
Commit: 2072ec1ff957cb08a054e5ce7a1e916232d3bc6b
https://github.com/llvm/llvm-project/commit/2072ec1ff957cb08a054e5ce7a1e916232d3bc6b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/utils/merge-json.py
Log Message:
-----------
[LLVM] Remove warning print when merging fails
Summary:
This message is only confusing and shouldn't have been added in the
first place.
Commit: f6f4744176c8838a55fabd6f978ac08c3612aabc
https://github.com/llvm/llvm-project/commit/f6f4744176c8838a55fabd6f978ac08c3612aabc
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M libc/utils/gpu/server/CMakeLists.txt
Log Message:
-----------
[libc] Install RPC server to `shared/rpc.h` (#120170)
Summary:
This installs the shared header to the users installation. I couldn't
decide if this should be a standalone thing or use the existing support
in `include/` mostly because this is completely separate from hdrgen
stuff and it's C++.
Commit: a487b792e2dabcec02c63d19e32958572a257408
https://github.com/llvm/llvm-project/commit/a487b792e2dabcec02c63d19e32958572a257408
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/TypeBasedAliasAnalysis.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/Attributes.td
A llvm/include/llvm/Transforms/Instrumentation/TypeSanitizer.h
M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/ShrinkWrap.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
A llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
A llvm/test/Instrumentation/TypeSanitizer/access-with-offset.ll
A llvm/test/Instrumentation/TypeSanitizer/alloca-only.ll
A llvm/test/Instrumentation/TypeSanitizer/alloca.ll
A llvm/test/Instrumentation/TypeSanitizer/anon.ll
A llvm/test/Instrumentation/TypeSanitizer/basic-nosan.ll
A llvm/test/Instrumentation/TypeSanitizer/basic.ll
A llvm/test/Instrumentation/TypeSanitizer/byval.ll
A llvm/test/Instrumentation/TypeSanitizer/globals.ll
A llvm/test/Instrumentation/TypeSanitizer/invalid-metadata.ll
A llvm/test/Instrumentation/TypeSanitizer/memintrinsics.ll
A llvm/test/Instrumentation/TypeSanitizer/nosanitize.ll
A llvm/test/Instrumentation/TypeSanitizer/sanitize-no-tbaa.ll
A llvm/test/Instrumentation/TypeSanitizer/swifterror.ll
M llvm/unittests/Analysis/AliasSetTrackerTest.cpp
Log Message:
-----------
[TySan] Add initial Type Sanitizer (LLVM) (#76259)
This patch introduces the LLVM components of a type sanitizer: a
sanitizer for type-based aliasing violations.
It is based on Hal Finkel's https://reviews.llvm.org/D32198.
C/C++ have type-based aliasing rules, and LLVM's optimizer can exploit
these given TBAA metadata added by Clang. Roughly, a pointer of given
type cannot be used to access an object of a different type (with, of
course, certain exceptions). Unfortunately, there's a lot of code in the
wild that violates these rules (e.g. for type punning), and such code
often must be built with -fno-strict-aliasing. Performance is often
sacrificed as a result. Part of the problem is the difficulty of finding
TBAA violations. Hopefully, this sanitizer will help.
For each TBAA type-access descriptor, encoded in LLVM's IR using
metadata, the corresponding instrumentation pass generates descriptor
tables. Thus, for each type (and access descriptor), we have a unique
pointer representation. Excepting anonymous-namespace types, these
tables are comdat, so the pointer values should be unique across the
program. The descriptors refer to other descriptors to form a type
aliasing tree (just like LLVM's TBAA metadata does). The instrumentation
handles the "fast path" (where the types match exactly and no
partial-overlaps are detected), and defers to the runtime to handle all
of the more-complicated cases. The runtime, of course, is also
responsible for reporting errors when those are detected.
The runtime uses essentially the same shadow memory region as tsan, and
we use 8 bytes of shadow memory, the size of the pointer to the type
descriptor, for every byte of accessed data in the program. The value 0
is used to represent an unknown type. The value -1 is used to represent
an interior byte (a byte that is part of a type, but not the first
byte). The instrumentation first checks for an exact match between the
type of the current access and the type for that address recorded in the
shadow memory. If it matches, it then checks the shadow for the
remainder of the bytes in the type to make sure that they're all -1. If
not, we call the runtime. If the exact match fails, we next check if the
value is 0 (i.e. unknown). If it is, then we check the shadow for the
remainder of the byes in the type (to make sure they're all 0). If
they're not, we call the runtime. We then set the shadow for the access
address and set the shadow for the remaining bytes in the type to -1
(i.e. marking them as interior bytes). If the type indicated by the
shadow memory for the access address is neither an exact match nor 0, we
call the runtime.
The instrumentation pass inserts calls to the memset intrinsic to set
the memory updated by memset, memcpy, and memmove, as well as
allocas/byval (and for lifetime.start/end) to reset the shadow memory to
reflect that the type is now unknown. The runtime intercepts memset,
memcpy, etc. to perform the same function for the library calls.
The runtime essentially repeats these checks, but uses the full TBAA
algorithm, just as the compiler does, to determine when two types are
permitted to alias. In a situation where access overlap has occurred and
aliasing is not permitted, an error is generated.
Clang's TBAA representation currently has a problem representing unions,
as demonstrated by the one XFAIL'd test in the runtime patch. We'll
update the TBAA representation to fix this, and at the same time, update
the sanitizer.
When the sanitizer is active, we disable actually using the TBAA
metadata for AA. This way we're less likely to use TBAA to remove memory
accesses that we'd like to verify.
As a note, this implementation does not use the compressed shadow-memory
scheme discussed previously
(http://lists.llvm.org/pipermail/llvm-dev/2017-April/111766.html). That
scheme would not handle the struct-path (i.e. structure offset)
information that our TBAA represents. I expect we'll want to further
work on compressing the shadow-memory representation, but I think it
makes sense to do that as follow-up work.
It goes together with the corresponding clang changes
(https://github.com/llvm/llvm-project/pull/76260) and compiler-rt
changes (https://github.com/llvm/llvm-project/pull/76261)
PR: https://github.com/llvm/llvm-project/pull/76259
Commit: e6ced4da4499007a366ada31cfb07e0b4fbf2393
https://github.com/llvm/llvm-project/commit/e6ced4da4499007a366ada31cfb07e0b4fbf2393
Author: Ivan G. <dreamos82 at yahoo.it>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M lld/docs/ELF/large_sections.rst
Log Message:
-----------
Typo fix in large_sections.rst (#120101)
Remove duplicate word.
Commit: 70c5887958623dee20273ec04999b69fe3e470da
https://github.com/llvm/llvm-project/commit/70c5887958623dee20273ec04999b69fe3e470da
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
Log Message:
-----------
[gn build] Port a487b792e2da
Commit: 17b3dd03a05dfa938aacd57027189271a62e2fda
https://github.com/llvm/llvm-project/commit/17b3dd03a05dfa938aacd57027189271a62e2fda
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/test/CodeGen/NVPTX/surf-write.ll
Log Message:
-----------
[NVPTX][test] fix CodeGen/NVPTX/surf-write.ll
ptxas needs a proper triplet
for 133352feb30605ec51b15f77826ed3a2fbf8db56
Commit: ce4ac994529eb33a67b0f450fd6fe847918247e1
https://github.com/llvm/llvm-project/commit/ce4ac994529eb33a67b0f450fd6fe847918247e1
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M libcxx/include/module.modulemap
M libcxx/include/stdio.h
M libcxx/include/stdlib.h
M libcxx/include/wchar.h
M libcxx/test/libcxx/clang_modules_include.gen.py
Log Message:
-----------
[libc++] Remove explicit mentions of __need_FOO macros (#119025)
This change has a long history. It was first attempted naively in
https://reviews.llvm.org/D131425, which didn't work because we broke the
ability for code to include e.g. <stdio.h> multiple times and get
different definitions based on the pre-defined macros.
However, in #86843 we managed to simplify <stddef.h> by including the
underlying system header outside of any include guards, which worked.
This patch applies the same simplification we did to <stddef.h> to the
other headers that currently mention __need_FOO macros explicitly.
Commit: cf4375d107e8055e52ff43f66b65092b075d8442
https://github.com/llvm/llvm-project/commit/cf4375d107e8055e52ff43f66b65092b075d8442
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/test/TableGen/GlobalISelEmitter-nested-subregs.td
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Extract common function for determining MI's regclass (#120135)
Add some comments that hopefully clarify a few things.
This was supposed to be NFC, but there is a difference in the inferred
register class for EXTRACT_SUBREG.
Pull Request: https://github.com/llvm/llvm-project/pull/120135
Commit: c135f6ffe2542bdde5a2a3e1d6515a6fc7031967
https://github.com/llvm/llvm-project/commit/c135f6ffe2542bdde5a2a3e1d6515a6fc7031967
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/Sanitizers.def
M clang/include/clang/Driver/SanitizerArgs.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/SanitizerMetadata.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
A clang/test/CodeGen/sanitize-type-attr.cpp
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[TySan] Add initial Type Sanitizer support to Clang) (#76260)
This patch introduces the Clang components of type sanitizer: a
sanitizer for type-based aliasing violations.
It is based on Hal Finkel's https://reviews.llvm.org/D32198.
The Clang changes are mostly formulaic, the one specific change being
that when the TBAA sanitizer is enabled, TBAA is always generated, even
at -O0.
It goes together with the corresponding LLVM changes
(https://github.com/llvm/llvm-project/pull/76259) and compiler-rt
changes (https://github.com/llvm/llvm-project/pull/76261)
PR: https://github.com/llvm/llvm-project/pull/76260
Commit: d8a0709b1090350a7fe3604d8ab78c7d62f10698
https://github.com/llvm/llvm-project/commit/d8a0709b1090350a7fe3604d8ab78c7d62f10698
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M libcxx/utils/ci/Dockerfile
Log Message:
-----------
[libc++] Bump the version of CMake built in the CI Docker image (#120240)
This will allow using the $<LINK_LIBRARY> generator expression in some
of our configurations. We should separately pursue officially bumping
the minimum CMake version across all LLVM so we can use this feature
more widely.
Commit: 6a7d6c5f69dda254ec92f982985fd10fa51c63ef
https://github.com/llvm/llvm-project/commit/6a7d6c5f69dda254ec92f982985fd10fa51c63ef
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M mlir/lib/Target/LLVM/CMakeLists.txt
M mlir/lib/Target/LLVM/NVVM/Target.cpp
Log Message:
-----------
[MLIR] Add a MLIR_NVVM_EMBED_LIBDEVICE CMake option that embeds libdevice in the binary (#120238)
This removes a runtime dependency on the CUDA Toolkit path, instead of
looking up the filesystem we use a version of libdevice embedded in the
binary at build time.
Commit: f539e00c702b4e5732d76e093c2d909fd8702683
https://github.com/llvm/llvm-project/commit/f539e00c702b4e5732d76e093c2d909fd8702683
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M mlir/docs/PassManagement.md
M mlir/include/mlir/IR/OperationSupport.h
M mlir/lib/IR/AsmPrinter.cpp
A mlir/test/IR/print-use-nameloc-as-prefix.mlir
Log Message:
-----------
[mlir] add option to print SSA IDs using `NameLoc`s as prefixes (#119996)
This PR adds an `AsmPrinter` option `-mlir-use-nameloc-as-prefix` which
uses trailing `NameLoc`s, if the source IR provides them, as prefixes
when printing SSA IDs.
Commit: 146240ef1c0f25259ef30d9d14c124e574764a01
https://github.com/llvm/llvm-project/commit/146240ef1c0f25259ef30d9d14c124e574764a01
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
Log Message:
-----------
Fix MSVC " 32-bit shift implicitly converted to 64 bits" warnings. NFC.
Commit: 57c161a6479fb70a31553e2f9bc1efa46262aa92
https://github.com/llvm/llvm-project/commit/57c161a6479fb70a31553e2f9bc1efa46262aa92
Author: Gedare Bloom <gedare at rtems.org>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/unittests/Format/FormatTestJS.cpp
Log Message:
-----------
[clang-format] Detect nesting in template strings (#119989)
The helper to check if a token is in a template string scans too far
backward. It should stop if a different scope is found.
Fixes #107571
Commit: 62bd10f7d18ca6f544286767cae2c9026d493888
https://github.com/llvm/llvm-project/commit/62bd10f7d18ca6f544286767cae2c9026d493888
Author: Petr Hosek <phosek at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M libcxx/src/include/overridable_function.h
M libcxx/src/new.cpp
M libcxxabi/src/stdlib_new_delete.cpp
Log Message:
-----------
[libcxx] Use alias for detecting overriden function (#114961)
This mechanism is preferable in environments like embedded since it
doesn't require special handling of the custom section.
Commit: edf9439e00971b55bae19e40ef6a8e132645a56a
https://github.com/llvm/llvm-project/commit/edf9439e00971b55bae19e40ef6a8e132645a56a
Author: Petr Hosek <phosek at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
M libcxx/src/chrono.cpp
M libcxx/src/filesystem/filesystem_clock.cpp
Log Message:
-----------
[libcxx] Support for using timespec_get (#117362)
clock_gettime is a POSIX API that may not be available on platforms like
baremetal; timespec_get is the C11 equivalent. This change adds support
for using timespec_get instead of clock_gettime to improve compatibility
with non-POSIX platforms. For now, this is only enabled with LLVM libc
which implemented timespec_get in #116102, but in the future this can be
expanded to other platforms.
Related to #84879.
Commit: 7ab8dd7c31c9a595b183aa857bb3536be01f350d
https://github.com/llvm/llvm-project/commit/7ab8dd7c31c9a595b183aa857bb3536be01f350d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerShift - pull out repeated getVectorNumElements calls. NFC. (#120241)
Commit: 34a44b20888479cf934014e3aa85c563725df69a
https://github.com/llvm/llvm-project/commit/34a44b20888479cf934014e3aa85c563725df69a
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/test/COFF/linkrepro.test
Log Message:
-----------
[lld/COFF] Handle -start-lib / -end-lib better in /reproduce: output (#119752)
Previously, we'd collect all input files in Driver::filePaths, and then
write filePaths after all other flags in
createResponseFile(). This meant that `-start-lib foo.obj -end-lib`
would be written as `-start-lib -end-lib foo.obj`, changing semantics.
Instead, remove Driver::filePaths, and handle things that fed into it
directly:
* OPT_INPUT is now handled in the same way as other flags, so that we
now get `-start-lib foo.obj -end-lib` in response.txt as desired. Add a
test for -start-lib / -end-lib and /reproduce:.
* OPT_wholearchive_file needs explicit handling now -- but before, this
was buggy as well: We'd put the flag without a rewritten path in
response.txt, but also the rewritten input file without wholearchive
semantics via filePaths. So this commit makes --whole-archive work with
/reproduce: too, and adds test coverage.
* /defaultlib:foo is now written as /defaultlib:foo into response.txt,
instead of writing the resolved path previously. While response.txt
looks slightly differently, both should have the same semantics, and
this should be mostly a no-op. (It does require updating a test.)
* /defaultlib: from .drectve sections are no longer recorded in
response.txt. This seems like a progression -- in the non-repro case
they come from .obj files, so they should come (only) from there in the
repro case too. This adds test coverage for this case.
Makes createResponseFile() look more like the versions in the ELF and
MachO ports too.
Commit: 9fc54c0e8049553a30c17a3698445d58800916c9
https://github.com/llvm/llvm-project/commit/9fc54c0e8049553a30c17a3698445d58800916c9
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/test/Modules/ExtDebugInfo.m
M clang/test/Modules/ModuleDebugInfo.m
A lldb/test/Shell/SymbolFile/DWARF/objc-gmodules-class-extension.test
Log Message:
-----------
[clang][DebugInfo][gmodules] Set runtimeLang on ObjC forward declarations (#120154)
In Objective-C, forward declarations are currently represented as:
```
DW_TAG_structure_type
DW_AT_name ("Foo")
DW_AT_declaration (true)
DW_AT_APPLE_runtime_class (DW_LANG_ObjC)
```
However, when compiling with `-gmodules`, when a class definition is
turned into a forward declaration within a `DW_TAG_module`, the DIE for
the forward declaration looks as follows:
```
DW_TAG_structure_type
DW_AT_name ("Foo")
DW_AT_declaration (true)
```
Note the absence of `DW_AT_APPLE_runtime_class`. With recent changes in
LLDB, not being able to differentiate between C++ and Objective-C
forward declarations has become problematic (see attached test-case and
explanation in https://github.com/llvm/llvm-project/pull/119860).
Commit: 8bb1bdf919c76ec047fd5c646fa210837e88cc75
https://github.com/llvm/llvm-project/commit/8bb1bdf919c76ec047fd5c646fa210837e88cc75
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Fix warnings
This patch fixes:
llvm/lib/Target/X86/X86ISelLowering.cpp:30127:23: error: comparison
of integers of different signs: 'int' and 'unsigned int'
[-Werror,-Wsign-compare]
llvm/lib/Target/X86/X86ISelLowering.cpp:30205:35: error: comparison
of integers of different signs: 'int' and 'unsigned int'
[-Werror,-Wsign-compare]
llvm/lib/Target/X86/X86ISelLowering.cpp:30453:23: error: comparison
of integers of different signs: 'int' and 'unsigned int'
[-Werror,-Wsign-compare]
Commit: 558de0e1f993f413a9c8b93d969b28b651c6e437
https://github.com/llvm/llvm-project/commit/558de0e1f993f413a9c8b93d969b28b651c6e437
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/GSYM/DwarfTransformer.h
M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml
M llvm/tools/llvm-gsymutil/Opts.td
M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
Log Message:
-----------
[llvm-gsymutil] Add option to load callsites from DWARF (#119913)
This change adds support for loading gSYM callsite information from
DWARF. Previously the only support was for loading callsites info from
YAML.
For testing, we add a pass where `macho-gsym-merged-callsites-dsym`
loads callsite info from DWARF rather than YAML.
Commit: 525c818f08e097cd123839b8d96a543e2c9da26e
https://github.com/llvm/llvm-project/commit/525c818f08e097cd123839b8d96a543e2c9da26e
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] port 6a7d6c5f69dda254ec92f982985fd10fa51c63ef
Commit: 9d33874936d83b8ddf5d028d313d810214f00f20
https://github.com/llvm/llvm-project/commit/9d33874936d83b8ddf5d028d313d810214f00f20
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Lower/LoweringOptions.def
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/Bridge.cpp
A flang/test/Driver/frealloc-lhs.f90
A flang/test/Lower/reallocate-lhs.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang] Support -f[no-]realloc-lhs. (#120165)
-frealloc-lhs is the default.
If -fno-realloc-lhs is specified, then an allocatable on the left
side of an intrinsic assignment is not implicitly (re)allocated
to conform with the right hand side. Fortran runtime will issue
an error if there is a mismatch in shape/type/allocation-status.
Commit: fbbbd65b2573dc92c3c2272ce57da29cf8227a35
https://github.com/llvm/llvm-project/commit/fbbbd65b2573dc92c3c2272ce57da29cf8227a35
Author: Timothy Hoffman <4001421+tim-hoffman at users.noreply.github.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
M mlir/test/lib/Dialect/Test/TestTypes.cpp
Log Message:
-----------
[MLIR] correct return type of parse() functions (#120180)
The `parseX()` functions that are defined to support `custom<X>` in
`assemblyFormat` should return `ParseResult` rather than
`LogicalResult`. The `ParseResult` type is necessary due to tablegen
generating code that expects this type within an Op `parseX()` function.
Commit: 345a35259ccfdc5031bc4c4bdb0f47959fa75806
https://github.com/llvm/llvm-project/commit/345a35259ccfdc5031bc4c4bdb0f47959fa75806
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
A llvm/test/CodeGen/RISCV/rvv/vl-opt-user-scalar-def.mir
Log Message:
-----------
[RISCV][VLOPT] Avoid crash when user produces scalar def (#120255)
I found this crash when trying to enable the VLOptimizer pass. We need
this patch before we can enable by default. The old assert was not
checking that USE and DEF were vector registers. The correct condition
is guarded at the callsite of tryReduceVL.
Commit: 30916b6942371fc314f3ce1bfa4042cae3e6ff28
https://github.com/llvm/llvm-project/commit/30916b6942371fc314f3ce1bfa4042cae3e6ff28
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/ComposeSubView.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
M mlir/lib/Dialect/MemRef/Transforms/IndependenceTransforms.cpp
Log Message:
-----------
[MemRef] Migrate away from PointerUnion::{is,get} (NFC) (#120202)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: e8a6563768579e6f555b2d9192f2c2a0cb27534a
https://github.com/llvm/llvm-project/commit/e8a6563768579e6f555b2d9192f2c2a0cb27534a
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/RegAllocFast.cpp
Log Message:
-----------
Fix-forward 'RegAllocFast: Avoid using temporary DiagnosticInfo #120184' (#120268)
There was a buildbot breakage
(https://lab.llvm.org/buildbot/#/builders/24/builds/3329/steps/11/logs/stdio):
/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/test/CodeGen/AMDGPU/ran-out-of-registers-error-all-regs-reserved.ll:9:10:
error: CHECK: expected string not found in input
; CHECK: error: <unknown>:0:0: no registers from class available to
allocate in function 'no_registers_from_class_available_to_allocate'
2: ==75198==ERROR: AddressSanitizer: stack-use-after-scope on address
0xfa23f9f1c270 at pc 0xb2660dda9340 bp 0xfffffe8ab340 sp 0xfffffe8ab338
caused by https://github.com/llvm/llvm-project/pull/120184, which made a
partial fix but also renabled the tests. This patch attempts to fix
forward by applying the same fix to the error message highlighted in the
buildbot.
Commit: a57f4c7009cd5eacc64cc78a1788c87318218d79
https://github.com/llvm/llvm-project/commit/a57f4c7009cd5eacc64cc78a1788c87318218d79
Author: lntue <lntue at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M compiler-rt/lib/builtins/fp_div_impl.inc
M compiler-rt/test/builtins/Unit/divdf3_test.c
M compiler-rt/test/builtins/Unit/divsf3_test.c
M compiler-rt/test/builtins/Unit/divtf3_test.c
Log Message:
-----------
[compiler-rt] Fix a bug in fp_div_impl when an intermediate result is out of expected range. (#119449)
Before this fix, `1.0L / (1.0L - 0x1.0p-113L)` will return `2 * (1 +
eps(1))`.
Commit: 90c7600f25b54f9b977a571e9c4f067e15d48316
https://github.com/llvm/llvm-project/commit/90c7600f25b54f9b977a571e9c4f067e15d48316
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[MLIR][NVVM] Add exit (#120251)
PR adds `exit` instruction to nvvm dialect.
Commit: 904849f2973eb8ab517f8a805cf8a747924220ef
https://github.com/llvm/llvm-project/commit/904849f2973eb8ab517f8a805cf8a747924220ef
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
Log Message:
-----------
[RISCV][VLOPT] Add support for more instructions in vl-opt-op-info.mir (#119416)
Specifically, some more where EMUL=LMUL and EEW=SEW.
Commit: 5287299f8809ae927a0acafb179c4b37ce9ff21d
https://github.com/llvm/llvm-project/commit/5287299f8809ae927a0acafb179c4b37ce9ff21d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/concat-boolmasks.ll
Log Message:
-----------
[VectorCombine] foldShuffleOfBinops - prefer same cost fold if it reduces instruction count (#120216)
We don't fold "shuffle (binop), (binop)" -> "binop (shuffle), (shuffle)" if the old/new costs are equal, but we can relax this if either new shuffle will constant fold as it will reduce instruction count.
Commit: 8bbbcaddbb0f4d39b8da3c5c90eb8627a1cab1ee
https://github.com/llvm/llvm-project/commit/8bbbcaddbb0f4d39b8da3c5c90eb8627a1cab1ee
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
Log Message:
-----------
[AMDGPU][True16][MC] test update for v_max_f16/v_min_f16 in true16 (#119291)
This is a NFC change. Update mc test for v_max/min_f16 in true16 format.
MC source change was done by previous patch and automatically enabled by
t16 pesudo
Commit: 2a922903bf5d5b0012c1f8f2a5396d44cfff4630
https://github.com/llvm/llvm-project/commit/2a922903bf5d5b0012c1f8f2a5396d44cfff4630
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/test/CodeGen/X86/vector-shift-ashr-128.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-256.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-512.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-sub128.ll
M llvm/test/CodeGen/X86/vector-shift-shl-256.ll
M llvm/test/CodeGen/X86/vector-shift-shl-512.ll
Log Message:
-----------
[X86] vector-shift tests - regenerate VPTERNLOG comments
Commit: f9a9173b6ca065441d8432f268fb4eeae5e8abb6
https://github.com/llvm/llvm-project/commit/f9a9173b6ca065441d8432f268fb4eeae5e8abb6
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s
Log Message:
-----------
[AMDGPU][True16][MC] test update for v_mul_f16 in true16 (#119314)
This is a NFC change. Update mc test for v_mul_f16 in true16 format.
MC source change was done by previous patch and automatically enabled by
t16 pesudo
Commit: 659dbb632980552b39918e726b8bb35371f6e61a
https://github.com/llvm/llvm-project/commit/659dbb632980552b39918e726b8bb35371f6e61a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoA.td
Log Message:
-----------
[RISCV] Remove unnecessary patterns from RISCVInstrInfoA.td. NFC
Looks like they got left behind in the Zalasr patch after I removed
i32 patterns for RV64.
Commit: 9c8214ff31d7d515b1789cd6cbc21c9663be53df
https://github.com/llvm/llvm-project/commit/9c8214ff31d7d515b1789cd6cbc21c9663be53df
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
M lld/COFF/LTO.cpp
Log Message:
-----------
[LLD][COFF] Create COFFObjectFile instance when constructing ObjFile (NFC) (#120144)
This change moves the creation of COFFObjectFile to the construction of
ObjFile, instead of delaying it until parsing.
Commit: b26f534980b6c10e74bfbebe4a1296ef5e9b1486
https://github.com/llvm/llvm-project/commit/b26f534980b6c10e74bfbebe4a1296ef5e9b1486
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC] test update for v_and/or/xor_b16 in true16 (#119489)
This is a NFC change. Update mc test for v_and/or/xor_b16 in true16
format.
MC source change was done by previous patch and automatically enabled by
t16 pesudo
Commit: 1c16807d0dd740ace0f21ed29d1381a0078f745e
https://github.com/llvm/llvm-project/commit/1c16807d0dd740ace0f21ed29d1381a0078f745e
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/TargetParser/Triple.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
[LLVM] Add Intel vendor in Triple (#120250)
We plan to make use of this in SPIR-V-based OpenMP offloading, for which
there is already an initial patch in review.
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 4c5ddc9ed4992e3c5147441cd7057724618f30da
https://github.com/llvm/llvm-project/commit/4c5ddc9ed4992e3c5147441cd7057724618f30da
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M libc/docs/conf.py
M llvm/docs/requirements.txt
Log Message:
-----------
[libc][docs] add redirect for math/index.html (#120274)
commit a9aff440d9dd ("[libc][docs] reorganize documentation (#118836)")
moved https://libc.llvm.org/math/index.html to
https://libc.llvm.org/headers/math/index.html which makes links from
various slide decks stale.
There's an extension for sphinx that can generate redirects. Add a dependency
on that, then use it to create a redirect so that those older links still work.
I was able to install this sphinx extension via:
$ sudo apt install python3-sphinx-reredirects
We may need to install this on whatever server generates the llvm
documentation.
Commit: 7477b61b2416ca130bd3ed9bbc96988e5de17623
https://github.com/llvm/llvm-project/commit/7477b61b2416ca130bd3ed9bbc96988e5de17623
Author: Tristan Ross <tristan.ross at midstall.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
M libc/hdr/types/CMakeLists.txt
M libc/hdr/types/ssize_t.h
A libc/hdr/types/uid_t.h
M libc/hdr/unistd_macros.h
A libc/hdr/unistd_overlay.h
M libc/src/unistd/dup.h
M libc/src/unistd/dup2.h
M libc/src/unistd/dup3.h
M libc/src/unistd/fork.h
M libc/src/unistd/ftruncate.h
M libc/src/unistd/getcwd.h
M libc/src/unistd/geteuid.h
M libc/src/unistd/getopt.h
M libc/src/unistd/getpid.h
M libc/src/unistd/getppid.h
M libc/src/unistd/getuid.h
M libc/src/unistd/isatty.h
M libc/src/unistd/link.h
M libc/src/unistd/linux/CMakeLists.txt
M libc/src/unistd/linux/ftruncate.cpp
M libc/src/unistd/linux/lseek.cpp
M libc/src/unistd/linux/sysconf.cpp
M libc/src/unistd/linux/truncate.cpp
M libc/src/unistd/lseek.h
M libc/src/unistd/pread.h
M libc/src/unistd/pwrite.h
M libc/src/unistd/read.h
M libc/src/unistd/readlink.h
M libc/src/unistd/readlinkat.h
M libc/src/unistd/swab.h
M libc/src/unistd/symlink.h
M libc/src/unistd/symlinkat.h
M libc/src/unistd/syscall.h
M libc/src/unistd/sysconf.h
M libc/src/unistd/truncate.h
M libc/src/unistd/write.h
M libc/test/src/sys/mman/linux/remap_file_pages_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Add unistd overlay (#119312)
Reverts the revert #119295 of #118882 by expanding #118882 with
additional fixes which made CI unhappy.
Commit: 5d4e4b35030cd103884b89a184ae02a6e8871388
https://github.com/llvm/llvm-project/commit/5d4e4b35030cd103884b89a184ae02a6e8871388
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerShift - use getConstant directly to create vector splat constants. NFC.
Commit: 641fbf1524338c86c952ebb1ec8d2b497ada3cef
https://github.com/llvm/llvm-project/commit/641fbf1524338c86c952ebb1ec8d2b497ada3cef
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/runtime/CMakeLists.txt
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/cmake/config-ix.cmake
A compiler-rt/lib/tysan/CMakeLists.txt
A compiler-rt/lib/tysan/lit.cfg
A compiler-rt/lib/tysan/lit.site.cfg.in
A compiler-rt/lib/tysan/tysan.cpp
A compiler-rt/lib/tysan/tysan.h
A compiler-rt/lib/tysan/tysan.syms.extra
A compiler-rt/lib/tysan/tysan_flags.inc
A compiler-rt/lib/tysan/tysan_interceptors.cpp
A compiler-rt/lib/tysan/tysan_platform.h
A compiler-rt/test/tysan/CMakeLists.txt
A compiler-rt/test/tysan/anon-ns.cpp
A compiler-rt/test/tysan/anon-same-struct.c
A compiler-rt/test/tysan/anon-struct.c
A compiler-rt/test/tysan/basic.c
A compiler-rt/test/tysan/char-memcpy.c
A compiler-rt/test/tysan/constexpr-subobject.cpp
A compiler-rt/test/tysan/global.c
A compiler-rt/test/tysan/int-long.c
A compiler-rt/test/tysan/lit.cfg.py
A compiler-rt/test/tysan/lit.site.cfg.py.in
A compiler-rt/test/tysan/ptr-float.c
A compiler-rt/test/tysan/struct-offset-multiple-compilation-units.cpp
A compiler-rt/test/tysan/struct-offset.c
A compiler-rt/test/tysan/struct.c
A compiler-rt/test/tysan/union-wr-wr.c
A compiler-rt/test/tysan/violation-pr45282.c
A compiler-rt/test/tysan/violation-pr47137.c
A compiler-rt/test/tysan/violation-pr51837.c
A compiler-rt/test/tysan/violation-pr62544.c
A compiler-rt/test/tysan/violation-pr62828.cpp
A compiler-rt/test/tysan/violation-pr68655.cpp
A compiler-rt/test/tysan/violation-pr86685.c
Log Message:
-----------
[TySan] Add initial Type Sanitizer runtime (#76261)
This patch introduces the runtime components for type sanitizer: a
sanitizer for type-based aliasing violations.
It is based on Hal Finkel's https://reviews.llvm.org/D32197.
C/C++ have type-based aliasing rules, and LLVM's optimizer can exploit
these given TBAA metadata added by Clang. Roughly, a pointer of given
type cannot be used to access an object of a different type (with, of
course, certain exceptions). Unfortunately, there's a lot of code in the
wild that violates these rules (e.g. for type punning), and such code
often must be built with -fno-strict-aliasing. Performance is often
sacrificed as a result. Part of the problem is the difficulty of finding
TBAA violations. Hopefully, this sanitizer will help.
For each TBAA type-access descriptor, encoded in LLVM's IR using
metadata, the corresponding instrumentation pass generates descriptor
tables. Thus, for each type (and access descriptor), we have a unique
pointer representation. Excepting anonymous-namespace types, these
tables are comdat, so the pointer values should be unique across the
program. The descriptors refer to other descriptors to form a type
aliasing tree (just like LLVM's TBAA metadata does). The instrumentation
handles the "fast path" (where the types match exactly and no
partial-overlaps are detected), and defers to the runtime to handle all
of the more-complicated cases. The runtime, of course, is also
responsible for reporting errors when those are detected.
The runtime uses essentially the same shadow memory region as tsan, and
we use 8 bytes of shadow memory, the size of the pointer to the type
descriptor, for every byte of accessed data in the program. The value 0
is used to represent an unknown type. The value -1 is used to represent
an interior byte (a byte that is part of a type, but not the first
byte). The instrumentation first checks for an exact match between the
type of the current access and the type for that address recorded in the
shadow memory. If it matches, it then checks the shadow for the
remainder of the bytes in the type to make sure that they're all -1. If
not, we call the runtime. If the exact match fails, we next check if the
value is 0 (i.e. unknown). If it is, then we check the shadow for the
remainder of the byes in the type (to make sure they're all 0). If
they're not, we call the runtime. We then set the shadow for the access
address and set the shadow for the remaining bytes in the type to -1
(i.e. marking them as interior bytes). If the type indicated by the
shadow memory for the access address is neither an exact match nor 0, we
call the runtime.
The instrumentation pass inserts calls to the memset intrinsic to set
the memory updated by memset, memcpy, and memmove, as well as
allocas/byval (and for lifetime.start/end) to reset the shadow memory to
reflect that the type is now unknown. The runtime intercepts memset,
memcpy, etc. to perform the same function for the library calls.
The runtime essentially repeats these checks, but uses the full TBAA
algorithm, just as the compiler does, to determine when two types are
permitted to alias. In a situation where access overlap has occurred and
aliasing is not permitted, an error is generated.
As a note, this implementation does not use the compressed shadow-memory
scheme discussed previously
(http://lists.llvm.org/pipermail/llvm-dev/2017-April/111766.html). That
scheme would not handle the struct-path (i.e. structure offset)
information that our TBAA represents. I expect we'll want to further
work on compressing the shadow-memory representation, but I think it
makes sense to do that as follow-up work.
This includes build fixes for Linux from Mingjie Xu.
Depends on #76260 (Clang support), #76259 (LLVM support)
PR: https://github.com/llvm/llvm-project/pull/76261
Commit: 4c2a46f5fe2eaa41f851ff4ca37dcc8794312542
https://github.com/llvm/llvm-project/commit/4c2a46f5fe2eaa41f851ff4ca37dcc8794312542
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
R lld/test/COFF/Inputs/start-lib1.ll
R lld/test/COFF/Inputs/start-lib2.ll
M lld/test/COFF/start-lib.ll
Log Message:
-----------
[lld/COFF] Make test/COFF/start-lib.ll use split-file
The two input files were only used by this one test, so put them inline.
No behavior change.
Commit: de2acda3dfafc1fb81b1eba1a326272f704e62e6
https://github.com/llvm/llvm-project/commit/de2acda3dfafc1fb81b1eba1a326272f704e62e6
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC] support more VOP3 inst in true16/fake16 format (#113603)
Support true16 and fake16 format for more VOP3 instructions in MC
This patch updates the true16 and fake16 vop_profile for the following
instructions and update the asm/dasm tests:
v_mad_u16
v_mad_i16
v_med3_f16
v_med3_i16
v_med3_u16
v_max3_f16
v_max3_i16
v_max3_u16
v_min3_f16
v_min3_i16
v_min3_u16
v_med3_num_f16
Commit: ad32576cffc88bf7c359a528afbed7c2ae7ddb2d
https://github.com/llvm/llvm-project/commit/ad32576cffc88bf7c359a528afbed7c2ae7ddb2d
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
A llvm/test/tools/llvm-dwarfdump/X86/verify_no_overlap_error_icf.yaml
M llvm/test/tools/llvm-dwarfdump/X86/verify_parent_zero_length.yaml
M llvm/test/tools/llvm-dwarfutil/ELF/X86/verify.test
Log Message:
-----------
[DWARFVerifier] Allow overlapping ranges for ICF-merged functions (#117952)
This patch modifies the DWARF verifier to handle a valid case where two
or more functions have identical address ranges due to being merged by
ICF (Identical Code Folding). Previously, the verifier would incorrectly
report these as errors, but functions merged via ICF (such as when using
LLD's --keep-icf-stabs option) can legitimately share the same address
range.
A new test case has been added to verify this behavior using YAML-based
DWARF data that simulates two DW_TAG_subprogram entries with identical
address ranges. The test ensures that the verifier correctly identifies
this as a valid case and doesn't emit any errors, while still
maintaining the existing verification for truly invalid overlapping
ranges in other scenarios. Before this change, the newly added test case
would have failed, with `llvm-dwarfdump` marking the overlapping address
ranges in the DWARF as an error.
We also modify the existing tests `llvm-dwarfutil/ELF/X86/verify.test` and
`llvm/test/tools/llvm-dwarfdump/X86/verify_parent_zero_length.yaml`
which rely on the existence of the error that we're trying to
suppress. We slightly change one offset so that the ranges don't
perfectly overlap and an error is still generated.
Commit: 56cb55429199435a78f6e836f52cf41577406e90
https://github.com/llvm/llvm-project/commit/56cb55429199435a78f6e836f52cf41577406e90
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
Log Message:
-----------
[NFC] Updating Debug Info generation for 'this' (#119445)
This is PR is updating the debug info generation for `this`. This is
required to fix the generation of debug information for HLSL RWBuffer
type. This was required from another PR:
https://github.com/llvm/llvm-project/pull/119041/files
Co-authored-by: Joao Saffran <jderezende at microsoft.com>
Commit: 83643ddf2f53d269f2350510c11a02704b333393
https://github.com/llvm/llvm-project/commit/83643ddf2f53d269f2350510c11a02704b333393
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M lldb/include/lldb/Expression/DWARFExpression.h
M lldb/source/Expression/DWARFExpression.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Log Message:
-----------
[lldb] Improve error reporting in GetLocation_DW_OP_addr (#120162)
Instead of simply raising an error flag, use an llvm::Expected to
propagate a meaningful error to the caller, who can report it.
rdar://139705570
Commit: e5521fae944c1f3f6905ce5902819a5c9be7f802
https://github.com/llvm/llvm-project/commit/e5521fae944c1f3f6905ce5902819a5c9be7f802
Author: Malte Dehling <mdehling at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M mlir/tools/mlir-tblgen/OpDocGen.cpp
Log Message:
-----------
[mlir-tblgen] Fix bug in emitEnumDoc (#118131)
Fixes a crash (assertion failure) in `mlir-tblgen -emit-enum-doc` caused
by calling `EnumAttr()` for the wrong type of `Record *`: `EnumAttr`
rather than `EnumAttrInfo` as asserted.
Compare the corresponding line in `emitDialectDoc()`:
https://github.com/llvm/llvm-project/blob/0ad6be1927f89cef09aa5d0fb244873f687997c9/mlir/tools/mlir-tblgen/OpDocGen.cpp#L532
Co-authored-by: Malte Dehling <m.dehling at samsung.com>
Commit: ec636cf3c5048039bd3c52b1ebdb66dabcd273fe
https://github.com/llvm/llvm-project/commit/ec636cf3c5048039bd3c52b1ebdb66dabcd273fe
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/test/tools/llvm-split/target-specific-split.ll
M llvm/tools/llvm-split/llvm-split.cpp
Log Message:
-----------
[llvm-split][nfc] Harmonize help and error message (#120062)
Somme error / help message refer to options with a single dash while
help refer to options with a double dash.
Commit: c9a5a6d18bd71b203798b9188f565bdf173ad91b
https://github.com/llvm/llvm-project/commit/c9a5a6d18bd71b203798b9188f565bdf173ad91b
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M lld/COFF/InputFiles.h
Log Message:
-----------
[lld/COFF] Remove unused InputFile::LazyObjectKind
Its use was removed in d496abbe2a037. No behavior change.
Commit: 0e11e194167ff4e4959f0b908b9de5d3f5f801f5
https://github.com/llvm/llvm-project/commit/0e11e194167ff4e4959f0b908b9de5d3f5f801f5
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/revectorized_rdx_crash.ll
M llvm/test/Transforms/SLPVectorizer/X86/undef_vect.ll
Log Message:
-----------
[SLP][NFC]Remove undef and update tests
Commit: b2c363e2616dc6ac6ee76c223d84ec512e118d5d
https://github.com/llvm/llvm-project/commit/b2c363e2616dc6ac6ee76c223d84ec512e118d5d
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/generic11.f90
Log Message:
-----------
[flang] Fix generic resolution with actual/dummy procedure incompatib… (#120105)
…ility
We generally allow any legal procedure pointer target as an actual
argument for association with a dummy procedure, since many actual
procedures are underspecified EXTERNALs. But for proper generic
resolution, it is necessary to disallow incompatible functions with
explicit result types.
Fixes https://github.com/llvm/llvm-project/issues/119151.
Commit: a957cedea9657addbe8b860852cc98306aa437e7
https://github.com/llvm/llvm-project/commit/a957cedea9657addbe8b860852cc98306aa437e7
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/expr-parsers.cpp
M flang/lib/Parser/type-parsers.h
A flang/test/Parser/lit-substr-data.f90
Log Message:
-----------
[flang] Handle substring in data statement constant (#120130)
The case of a constant substring wasn't handled in the parser for data
statement constants.
Fixes https://github.com/llvm/llvm-project/issues/119005.
Commit: 0b91d77bf4e4ff65ebeed90acd141018d9889e0f
https://github.com/llvm/llvm-project/commit/0b91d77bf4e4ff65ebeed90acd141018d9889e0f
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M libc/include/__llvm-libc-common.h
Log Message:
-----------
[libc] Use __attribute__((__nothrow__)) for __NOEXCEPT in C (#114653)
Consistent with glibc headers, where `noexcept` is used in C++
(or `throw()` in older C++ which llvm-libc doesn't support) in
the public function declarations, `__attribute__((__nothrow__))` is
used in C for compilers that support it.
Commit: 16ef239520d7bca2002346fe2b4003947ad21ecc
https://github.com/llvm/llvm-project/commit/16ef239520d7bca2002346fe2b4003947ad21ecc
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M lld/COFF/COFFLinkerContext.h
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/SymbolTable.h
M lld/test/COFF/arm64ec-codemap.test
M lld/test/COFF/arm64ec-entry-thunk.s
M lld/test/COFF/arm64ec-lib.test
M lld/test/COFF/arm64ec-range-thunks.s
A lld/test/COFF/arm64x-symtab.s
Log Message:
-----------
[LLD][COFF] Introduce hybrid symbol table for EC input files on ARM64X (#119294)
Commit: e8ce6c4e69745b1b2cd6f7479c48fbae44622cb3
https://github.com/llvm/llvm-project/commit/e8ce6c4e69745b1b2cd6f7479c48fbae44622cb3
Author: Philipp van Kempen <phvankempen at googlemail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
Log Message:
-----------
[RISCV] Fix typo in CV_SH_rr_inc pattern (#120246)
This typo in
https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td#L701:L701
caused a compiler crash in 'RISC-V Assembly Printer' because
CV_SH_ri_inc was selected, leading to `getImmOpValue` being called for a
register operand.
This bug did not affect the Assembler output and therefore does not
trigger any existing unit tests, but is visible by examining the final
MIR function.
Commit: c98e79d85663d6a5a5fcd6475b662a750fcf4b8e
https://github.com/llvm/llvm-project/commit/c98e79d85663d6a5a5fcd6475b662a750fcf4b8e
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/complex.rst
M libc/hdrgen/yaml/complex.yaml
M libc/src/__support/CMakeLists.txt
M libc/src/__support/complex_type.h
M libc/src/complex/CMakeLists.txt
M libc/src/complex/conjf128.h
M libc/src/complex/conjf16.h
A libc/src/complex/cproj.h
A libc/src/complex/cprojf.h
A libc/src/complex/cprojf128.h
A libc/src/complex/cprojf16.h
A libc/src/complex/cprojl.h
M libc/src/complex/generic/CMakeLists.txt
M libc/src/complex/generic/conj.cpp
M libc/src/complex/generic/conjf.cpp
M libc/src/complex/generic/conjf128.cpp
M libc/src/complex/generic/conjf16.cpp
M libc/src/complex/generic/conjl.cpp
A libc/src/complex/generic/cproj.cpp
A libc/src/complex/generic/cprojf.cpp
A libc/src/complex/generic/cprojf128.cpp
A libc/src/complex/generic/cprojf16.cpp
A libc/src/complex/generic/cprojl.cpp
M libc/test/src/complex/CMakeLists.txt
A libc/test/src/complex/CprojTest.h
A libc/test/src/complex/cproj_test.cpp
A libc/test/src/complex/cprojf128_test.cpp
A libc/test/src/complex/cprojf16_test.cpp
A libc/test/src/complex/cprojf_test.cpp
A libc/test/src/complex/cprojl_test.cpp
Log Message:
-----------
[libc][complex] Implement different flavors of the `cproj` function (#119722)
Refer section 7.3.9.5 of ISO/IEC 9899:2023
Commit: 2a0091fb4abb5f89198d7e9c039da01921e2b7ee
https://github.com/llvm/llvm-project/commit/2a0091fb4abb5f89198d7e9c039da01921e2b7ee
Author: Mark Danial <118996571+madanial0 at users.noreply.github.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/test/Format/lit.local.cfg
Log Message:
-----------
[AIX] fix unsupported diff flag on AIX (-strip-trailing-cr) (#120276)
https://github.com/llvm/llvm-project/pull/119666 adds the
`-strip-trailing-cr` flag to diff which is not supported on AIX switch
to use the python implementation of diff instead
Commit: 4ad0fdd1631eeae432714c03ede01a10dc00025d
https://github.com/llvm/llvm-project/commit/4ad0fdd1631eeae432714c03ede01a10dc00025d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleave-allocsize-not-equal-typesize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-reduction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-too-many-deps.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-hoist-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-bin-unary-ops-args.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vf-will-not-generate-any-vector-insts.ll
M llvm/test/Transforms/LoopVectorize/X86/conversion-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/X86/illegal-parallel-loop-uniform-write.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/X86/limit-vf-by-tripcount.ll
M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
M llvm/test/Transforms/LoopVectorize/X86/pr35432.ll
M llvm/test/Transforms/LoopVectorize/X86/pr36524.ll
M llvm/test/Transforms/LoopVectorize/X86/pr47437.ll
M llvm/test/Transforms/LoopVectorize/X86/pr54634.ll
M llvm/test/Transforms/LoopVectorize/X86/pr56319-vector-exit-cond-optimization-epilogue-vectorization.ll
M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-trunc-induction-steps.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
M llvm/test/Transforms/LoopVectorize/fpsat.ll
M llvm/test/Transforms/LoopVectorize/if-conversion-nest.ll
M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses-3.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization-2.ll
M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
M llvm/test/Transforms/LoopVectorize/multiple-strides-vectorization.ll
M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
M llvm/test/Transforms/LoopVectorize/opaque-ptr.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-liveout.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/pointer-select-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/pr30654-phiscev-sext-trunc.ll
M llvm/test/Transforms/LoopVectorize/pr37248.ll
M llvm/test/Transforms/LoopVectorize/pr45259.ll
M llvm/test/Transforms/LoopVectorize/pr47343-expander-lcssa-after-cfg-update.ll
M llvm/test/Transforms/LoopVectorize/pr50686.ll
M llvm/test/Transforms/LoopVectorize/pr59319-loop-access-info-invalidation.ll
M llvm/test/Transforms/LoopVectorize/reduction-align.ll
M llvm/test/Transforms/LoopVectorize/reverse_induction.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-needed-but-empty.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-small-clamped-bounds.ll
M llvm/test/Transforms/LoopVectorize/runtime-check.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference-simplifications.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
M llvm/test/Transforms/LoopVectorize/scev-exit-phi-invalidation.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/skeleton-lcssa-crash.ll
M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr48844-br-to-switch-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
Log Message:
-----------
[VPlan] Remove reverse() of predecessors from VPInstruction::generate.
This was originally done to reduce the diff for the change. Remove it
and update the remaining tests. NFC modulo reordering of incoming
values.
Clean up after https://github.com/llvm/llvm-project/pull/114292.
Commit: 984cb791db347689c4df222e85069ac58929d5ed
https://github.com/llvm/llvm-project/commit/984cb791db347689c4df222e85069ac58929d5ed
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
Log Message:
-----------
[RISCV] Use vmv.v.x to materialize masks in deinterleave2 lowering (#118500)
This is a follow up to 2af2634 to use vmv.v.x of i8 constants instead of
the prior vid/vand/vmsne sequence. The advantage of the vmv.v.x sequence
is that it's always m1 (so cheaper at high LMUL), and can be
rematerialized by the register allocator if needed to locally reduce
register pressure.
Commit: d7d0e740cc170d471e080fd5bb09633870272073
https://github.com/llvm/llvm-project/commit/d7d0e740cc170d471e080fd5bb09633870272073
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/MemoryProfileInfo.h
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/test/Transforms/PGOProfile/memprof_loop_unroll.ll
Log Message:
-----------
[MemProf] Refactor single alloc type handling and use in more cases (#120290)
Emit message when we have aliased contexts that are conservatively
hinted not cold. This is not a change in behavior, just in message when
the -memprof-report-hinted-sizes flag is enabled.
Commit: bbeafe4b94bb3db89b579d8a6fd914cc96b0af06
https://github.com/llvm/llvm-project/commit/bbeafe4b94bb3db89b579d8a6fd914cc96b0af06
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
[flang][cuda] Apply implict data attribute to local arrays (#120293)
Add the implicit data attribute to local arrays that don't have one.
This simplifies the host array detection in semantic.
Commit: 48c20e7106bb15398b55a13d0a2ec74cb51d055e
https://github.com/llvm/llvm-project/commit/48c20e7106bb15398b55a13d0a2ec74cb51d055e
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
Log Message:
-----------
[RISCV][VLOPT] Do not optimize VL when isVectorOpUsedAsScalarOp (#120291)
This does not have tests, so we will remove this for now and add it back
later with tests.
Commit: 7f2fb8061e97ff21caa04b9c44cac2f599202232
https://github.com/llvm/llvm-project/commit/7f2fb8061e97ff21caa04b9c44cac2f599202232
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Don't use Frame::hash or hashCallStacks in unit test (#119984)
This patch checks the result of YAML parsing at the level of
MemProfRecord instead of IndexedMemProfRecord, thereby avoiding use of
Frame::hash and hashCallStacks. This makes sense because we
ultimately care about consumers like MemProfiler.cpp obtaining
MemProfRecord correctly; IndexedMemProfData and hash values are just
intermediaries.
Once this patch lands, we call Frame::hash and hashCallStacks only
when adding Frames or call stacks to their respective data structures.
In other words, the hash functions are pretty much business internal
to IndexedMemProfRecord.
Commit: b0fbddde381616d1f0e82899b0fc8c3cf7072c4d
https://github.com/llvm/llvm-project/commit/b0fbddde381616d1f0e82899b0fc8c3cf7072c4d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M offload/DeviceRTL/src/Misc.cpp
Log Message:
-----------
[OpenMP] Only put `retain` for NVPTX so it can be optimized out for AMD
Summary:
This is a hack that only NVPTX needs.
Commit: 169c32eb49fa9b559d388b9b8f4374ff9e1be9be
https://github.com/llvm/llvm-project/commit/169c32eb49fa9b559d388b9b8f4374ff9e1be9be
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vdivu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.ll
M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vrem-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vremu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
M llvm/test/CodeGen/RISCV/rvv/vshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsra-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsra-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsrl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vwsll-vp.ll
M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
Log Message:
-----------
[RISCV][VLOPT] Enable the RISCVVLOptimizer by default (#119461)
Now that we have testing of all instructions in the isSupportedInstr
switch, and better coverage of getOperandInfo, I think it is a good time
to enable this by default.
Commit: cde996c31d6fb6ae1bbbc79aa71dff2b7fc0a8ae
https://github.com/llvm/llvm-project/commit/cde996c31d6fb6ae1bbbc79aa71dff2b7fc0a8ae
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M lld/COFF/SymbolTable.cpp
Log Message:
-----------
[lld/COFF] Remove needless indirection
`symtab.ctx.symtab` is just `symtab`. Looks like #119296 added
this using a global find-and-replace.
This was the only instance of `symtab.ctx.symtab` in lld/.
No behavior change.
Commit: 1d06157b9ea4bc76eff0ae670e8d3411eaaa6e42
https://github.com/llvm/llvm-project/commit/1d06157b9ea4bc76eff0ae670e8d3411eaaa6e42
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M libc/test/include/stdbit_stub.h
Log Message:
-----------
[libc] fix -Wgcc-compat (#120303)
I don't quite recall why I added those in the first place. These tests build
without diagnostics for both clang and GCC with this fix.
Fixes: #114653
Commit: 958de20b30e73d898cf538435da5bab42ffd4987
https://github.com/llvm/llvm-project/commit/958de20b30e73d898cf538435da5bab42ffd4987
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
M libc/src/__support/time/gpu/time_utils.h
M libc/src/time/gpu/nanosleep.cpp
M libc/src/time/gpu/timespec_get.cpp
Log Message:
-----------
[libc] Enable 'timespec_get' for the GPU build (#120304)
Summary:
Currently fails to build libc++ because this is missing.
Commit: eb59fe8d04a594da4ac0cdba2bb2ca828adcf833
https://github.com/llvm/llvm-project/commit/eb59fe8d04a594da4ac0cdba2bb2ca828adcf833
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Remove redundant assignment in VPReductionPHIRecipe (NFC)
Suggested post-commit for 0e528ac404e13ed2d952a2d83aaf8383293c851e.
Commit: 97b7bace67c4fb7d62892f5bc6d7614a65d0fb3e
https://github.com/llvm/llvm-project/commit/97b7bace67c4fb7d62892f5bc6d7614a65d0fb3e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
[flang][cuda] Allow host array with PARAMETER attribute in device context (#120298)
Host arrays are normally not allowed in device context unless they have
a `PARAMETER` attribute. This patch update the check so no error is
emitted.
Commit: 15c61a208ffdd0bfe6add667cf9e56df1fdbf16e
https://github.com/llvm/llvm-project/commit/15c61a208ffdd0bfe6add667cf9e56df1fdbf16e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
[flang][cuda] Do not consider SHARED array as host array (#120306)
Update the current `FindHostArray` to not return shared array as host
array.
Commit: 9f231a85004fad080980e80ef881c81d1d5bb60e
https://github.com/llvm/llvm-project/commit/9f231a85004fad080980e80ef881c81d1d5bb60e
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
Log Message:
-----------
[NVPTX] Prefer ValueType when defining DAG patterns (NFC) (#120161)
Replace uses of register class in dag patterns with value types. These
types are much more concise and in cases where a single register class
maps to multiple types, they avoid the need for both.
Commit: 7153a21916fa985dfba604c0edf04a8d3c44b389
https://github.com/llvm/llvm-project/commit/7153a21916fa985dfba604c0edf04a8d3c44b389
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/docs/requirements-hashed.txt
Log Message:
-----------
[libc][docs] update sphinx requirement hashes (#120315)
Link: #120274
Commit: 65d2177ae1d7b891a5bd939aa30f922ceae57da9
https://github.com/llvm/llvm-project/commit/65d2177ae1d7b891a5bd939aa30f922ceae57da9
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/unittests/Analysis/DXILResourceTest.cpp
Log Message:
-----------
[DXIL] Simplify MDBuilder in resource unit tests. NFC (#120275)
Commit: c03fc929ffc1ee5439bf547e5f0bf5319c818982
https://github.com/llvm/llvm-project/commit/c03fc929ffc1ee5439bf547e5f0bf5319c818982
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
A llvm/test/CodeGen/DirectX/vector_reduce_add.ll
Log Message:
-----------
[DirectX] Add support for vector_reduce_add (#117646)
Use of `vector_reduce_add` will make it easier to write more intrinsics
in `hlsl_intrinsics.h`.
Commit: 09f449263e6e9b0e7ba9f972f73734b08575b172
https://github.com/llvm/llvm-project/commit/09f449263e6e9b0e7ba9f972f73734b08575b172
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Check for register where immediate should be in RISCVInstrInfo::verifyInstruction. (#120286)
The generic verifier will do this if the operand type is
OPERAND_IMMEDIATE, but we use our own custom operand types. Immediate
operands are still allowed to be globals, constant pools, blockaddress,
etc. so we can't check !isImm().
Commit: bb4007e56274d70ed3a8367eb245bec7d80b9fac
https://github.com/llvm/llvm-project/commit/bb4007e56274d70ed3a8367eb245bec7d80b9fac
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/test/tools/llvm-dwarfdump/X86/verify_no_overlap_error_icf.yaml
Log Message:
-----------
[DWARFVerifier] Disable failing test llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h (#120322)
Disabling and forward fixing later.
Commit: 8a62104f642e469e62aa839cc25c31adf2fa5805
https://github.com/llvm/llvm-project/commit/8a62104f642e469e62aa839cc25c31adf2fa5805
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M .github/workflows/docs.yml
Log Message:
-----------
[Github] Use hashed dependencies in docs job (#120319)
This patch forces the docs test build job to use the hashed dpendencies
file rather than the normal requirements.txt. This ensures that we get
the exact transitive closure specified rather than whatever the
dependency solver feels like it should use in the CI job.
Commit: 932d9c13faa3de1deca3874d3b864901aa5ec9a5
https://github.com/llvm/llvm-project/commit/932d9c13faa3de1deca3874d3b864901aa5ec9a5
Author: Drew Kersnar <dakersnar at me.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/LoadStoreVectorizer.ll
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
M llvm/test/CodeGen/NVPTX/ldg-invariant.ll
A llvm/test/CodeGen/NVPTX/load-store-scalars.ll
A llvm/test/CodeGen/NVPTX/load-store-vectors.ll
R llvm/test/CodeGen/NVPTX/load-store.ll
M llvm/test/CodeGen/NVPTX/shuffle-vec-undef-init.ll
M llvm/test/CodeGen/NVPTX/vector-stores.ll
Log Message:
-----------
[NVPTX] Generalize and extend upsizing when lowering 8/16-bit-element vector loads/stores (#119622)
This addresses the following issue I opened:
https://github.com/llvm/llvm-project/issues/118851.
This change generalizes the Type Legalization mechanism that currently
handles `v8[i/f/bf]16` upsizing to include loads _and_ stores of `v8i8`
+ `v16i8`, allowing all of the mentioned vectors to be lowered to ptx as
vectors of `b32`. This extension also allows us to remove the DagCombine
that only handled exactly `load v16i8`, thus centralizing all the
upsizing logic into one place.
Test changes include adding v8i8, v16i8, and v8i16 cases to
load-store.ll, and updating the CHECKs for other tests to match the
improved codegen.
Commit: f3a8f879795fcc515f86793c18b366c8ece1a8db
https://github.com/llvm/llvm-project/commit/f3a8f879795fcc515f86793c18b366c8ece1a8db
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
Log Message:
-----------
[NVPTX] Remove extra ';' outside of a function (NFC)
/llvm-project/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp:224:2:
error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
};
^
1 error generated.
Commit: a15e7b11da701a5810cc8cd67b393021b0f2ef0c
https://github.com/llvm/llvm-project/commit/a15e7b11da701a5810cc8cd67b393021b0f2ef0c
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/test/Transforms/PGOProfile/memprof.ll
Log Message:
-----------
[MemProf] Add option to hint allocations at a given cold byte percentage (#120301)
Optionally unconditionally hint allocations as cold or not cold during
the matching step if the percentage of bytes allocated is at least that
of the given threshold.
Commit: f8d9f8ed9524ef01aeedca7833001efabc6cd223
https://github.com/llvm/llvm-project/commit/f8d9f8ed9524ef01aeedca7833001efabc6cd223
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
A clang-tools-extra/test/clang-doc/builtin_types.cpp
Log Message:
-----------
[clang-doc] Add test for functions with builtin return types (#120318)
This is a precommit test for #120308, since we lack non-template
functions that use builtin types.
Commit: 01d7a187a4a80afc77300641ab5a86b271e8343f
https://github.com/llvm/llvm-project/commit/01d7a187a4a80afc77300641ab5a86b271e8343f
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/CMakeLists.txt
Log Message:
-----------
[llvm] Add missing dependency of libLLVMCodeGen on vt_gen
```
llvm-project/llvm/include/llvm/CodeGenTypes/MachineValueType.h:43:10: fatal error: 'llvm/CodeGen/GenVT.inc' file not found
43 | #include "llvm/CodeGen/GenVT.inc"
| ^~~~~~~~~~~~~~~~~~~~~~~~
```
rdar://141643651
Commit: 9d11aa175b74cde774554c71e9d3aaa0fa67f530
https://github.com/llvm/llvm-project/commit/9d11aa175b74cde774554c71e9d3aaa0fa67f530
Author: Drew Kersnar <dkersnar at nvidia.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
Log Message:
-----------
[NVPTX] Remove extra semicolon (#120336)
Fix bug in this change:
https://github.com/llvm/llvm-project/pull/119622#issuecomment-2549896245
Commit: c48d45e6a3bcc03ecc233499c6ba9d04e07ec68a
https://github.com/llvm/llvm-project/commit/c48d45e6a3bcc03ecc233499c6ba9d04e07ec68a
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
Log Message:
-----------
[sanitizer] Refactor -f(no-)?sanitize-recover parsing (#119819)
This moves the -f(no-)?sanitize-recover parsing into a generic
parseSanitizerArgs function, and then applies it to parse
-f(no-)?sanitize-recover and -f(no-)?sanitize-trap.
N.B. parseSanitizeTrapArgs does *not* remove non-TrappingSupported
arguments. This maintains the legacy behavior of '-fsanitize=undefined
-fsanitize-trap=undefined' (clang/test/Driver/fsanitize.c), which is
that vptr is not enabled at all (not even in recover mode) in order to
avoid the need for a ubsan runtime.
Commit: d7fe2cf8a2854f05812b87faf3ce0da296fc5fe1
https://github.com/llvm/llvm-project/commit/d7fe2cf8a2854f05812b87faf3ce0da296fc5fe1
Author: tianleliu <tianle.l.liu at intel.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/minmax-fold.ll
Log Message:
-----------
[InstCombine] Widen Sel width after Cmp to generate Max/Min intrinsics. (#118932)
When Sel(Cmp) are in different integer type,
From: (K and N mean width, K < N; a and b are src operands.)
bN = Ext(bK)
cond = Cmp(aN, bN)
aK = Trunc aN
retK = Sel(cond, aK, bK)
To:
bN = Ext(bK)
cond = Cmp(aN, bN)
retN = Sel(cond, aN, bN)
retK = Trunc retN
Though Sel's operands width becomes larger, the benefit
of making type width in Sel the same as Cmp, is for combing
to max/min intrinsics, and also better performance for SIMD
instructions.
References of correctness: https://alive2.llvm.org/ce/z/Y4Kegm
https://alive2.llvm.org/ce/z/qFtjtR
Reference of generated code comparision:
https://gcc.godbolt.org/z/o97svGvYM
https://gcc.godbolt.org/z/59Ynj91ov
Commit: 81333cfc5224de3bbfcba5b7306d5910fb332804
https://github.com/llvm/llvm-project/commit/81333cfc5224de3bbfcba5b7306d5910fb332804
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
[flang][cuda] Relax host array check for cuda constant (#120333)
Array with CONSTANT attribute declared in module spec part are device
arrays and should not trigger the host array check.
Commit: 5c5a769cc0ccc6634a09273289e6d79da109c842
https://github.com/llvm/llvm-project/commit/5c5a769cc0ccc6634a09273289e6d79da109c842
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC] update VOP1 dasm test with latest script (#120281)
This is a NFC. Update VOP1 dasm test with latest update script
Commit: fb33268d2f7888f8e083dfa01e81d145748e9ad0
https://github.com/llvm/llvm-project/commit/fb33268d2f7888f8e083dfa01e81d145748e9ad0
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector-shuffle.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
Log Message:
-----------
[RISCV][VLOPT] Add support for VID and VIOTA (#120331)
We already cover vid in `llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir`
so no need to add tests for that instruction.
Commit: b24caf3d2b91ad8b2b29d70fb69fce3c5347b9f4
https://github.com/llvm/llvm-project/commit/b24caf3d2b91ad8b2b29d70fb69fce3c5347b9f4
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/docs/TableGen/ProgRef.rst
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
M llvm/lib/TableGen/TGParser.cpp
A llvm/test/TableGen/initialized.td
Log Message:
-----------
[llvm][TableGen] Add a !initialized predicate to allow testing for ? (#117964)
There are cases (like in an upcoming patch to MLIR's `Property` class)
where the ? value is a useful null value. However, existing predicates
make ti difficult to test if the value in a record one is operating is ?
or not.
This commit adds the !initialized predicate, which is 1 on concrete,
non-? values and 0 on ?.
---------
Co-authored-by: Akshat Oke <Akshat.Oke at amd.com>
Commit: 4a7f60d328dda709601e19678025f47f2e0a865b
https://github.com/llvm/llvm-project/commit/4a7f60d328dda709601e19678025f47f2e0a865b
Author: Luke Lau <luke at igalia.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
Log Message:
-----------
[VPlan] Handle VPWidenCastRecipe without underlying value in EVL transform (#120194)
This fixes a crash that shows up when building SPEC CPU 2017 with EVL
tail folding on RISC-V.
A VPWidenCastRecipe doesn't always have an underlying value, and in the
case of this crash this happens whenever a widened cast is created via
truncateToMinimalBitwidths.
Fix this by just using the opcode stored in the recipe itself.
I think a similar issue exists with VPWidenIntrinsicRecipe and how it's
widened, but I haven't run into any crashes with it just yet.
Commit: c2a879ecaa71cdff35b10bd656f6781e808bdec8
https://github.com/llvm/llvm-project/commit/c2a879ecaa71cdff35b10bd656f6781e808bdec8
Author: Luke Lau <luke at igalia.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
Log Message:
-----------
[VPlan] Fix VPTypeAnalysis cache clobbering in EVL transform (#120252)
When building SPEC CPU 2017 with RISC-V and EVL tail folding, this
assertion in VPTypeAnalysis would trigger during the transformation to
EVL recipes:
https://github.com/llvm/llvm-project/blob/d8a0709b1090350a7fe3604d8ab78c7d62f10698/llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp#L135-L142
It was caused by this recipe:
```
WIDEN ir<%shr> = vp.or ir<%add33>, ir<0>, vp<%6>
```
Having its type inferred as i16, when ir<%add33> and ir<0> had inferred
types of i32 somehow.
The cause of this turned out to be because the VPTypeAnalysis cache was
getting clobbered: In this transform we were erasing recipes but keeping
around the same mapping from VPValue* to Type*. In the meantime, new
recipes would be created which would have the same address as the old
value. They would then incorrectly get the old erased VPValue*'s cached
type:
```
--- before ---
0x600001ec5030: WIDEN ir<%mul21.neg> = vp.mul vp<%11>, ir<0>, vp<%6>
0x600001ec5450: <badref> <- some value that was erased
--- after ---
0x600001ec5030: WIDEN ir<%mul21.neg> = vp.mul vp<%11>, ir<0>, vp<%6>
0x600001ec5450: WIDEN ir<%shr> = vp.or ir<%add33>, ir<0>, vp<%6> <- a new value that happens to have the same address
```
This fixes this by deferring the erasing of recipes till after the
transformation.
The test case might be a bit flakey since it just happens to have the
right conditions to recreate this. I tried to add an assert in
inferScalarType that every VPValue in the cache was valid, but couldn't
find a way of telling if a VPValue had been erased.
---------
Co-authored-by: Florian Hahn <flo at fhahn.com>
Commit: 6d34cfac53b993a6cdf3d6669e017eac3a2296c8
https://github.com/llvm/llvm-project/commit/6d34cfac53b993a6cdf3d6669e017eac3a2296c8
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
A clang/test/Sema/tautological-pointer-comparison.c
Log Message:
-----------
[Sema] Diagnose tautological bounds checks (#120222)
This diagnoses comparisons like `ptr + unsigned_index < ptr` and `ptr +
unsigned_index >= ptr`, which are always false/true because addition of
a pointer and an unsigned index cannot wrap (or the behavior is
undefined).
This warning is intended to help find broken bounds checks (which must
be implemented in terms of uintptr_t instead).
Fixes https://github.com/llvm/llvm-project/issues/120214.
Commit: f8b497ef611ba622970aae26d5e7afc13e92a3d4
https://github.com/llvm/llvm-project/commit/f8b497ef611ba622970aae26d5e7afc13e92a3d4
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Log Message:
-----------
[compiler-rt] Work around a warning from -Wgnu-anonymous-struct (#120314)
This patch works around:
compiler-rt/lib/tysan/../sanitizer_common/sanitizer_platform_limits_posix.h:604:3:
error: anonymous structs are a GNU extension
[-Werror,-Wgnu-anonymous-struct]
Commit: b1f4a0201ae679c431654ee156191bb11b8d483a
https://github.com/llvm/llvm-project/commit/b1f4a0201ae679c431654ee156191bb11b8d483a
Author: Luke Lau <luke at igalia.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
Log Message:
-----------
[LV] Update failing test with middle block. NFC
Commit: c189b2a1ece2804829350700bec568398550c49d
https://github.com/llvm/llvm-project/commit/c189b2a1ece2804829350700bec568398550c49d
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/DiagnosticInfo.h
Log Message:
-----------
[DiagnosticInfo] Fix the default DiagnosticSeverity (#120342)
After
https://github.com/llvm/llvm-project/commit/ea632e1b34e1
the API call to LLVMContext->emitError(I, Errorstr) default to warning
instead of error.
This cause problems as the API mentioned it is "prefixed with error:".
Commit: 1a70420ff3b972b3d9bbc1c4d1e98bfa12bfb73a
https://github.com/llvm/llvm-project/commit/1a70420ff3b972b3d9bbc1c4d1e98bfa12bfb73a
Author: Christopher Bate <cbate at nvidia.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M mlir/include/mlir/Pass/PassOptions.h
M mlir/lib/Pass/PassRegistry.cpp
M mlir/test/Pass/pipeline-options-parsing.mlir
Log Message:
-----------
[mlir] Attempt to resolve edge cases in PassPipeline textual format (#118877)
This commit makes the following changes:
1. Previously certain pipeline options could cause the options parser to
get stuck in an an infinite loop. An example is:
```
mlir-opt %s -verify-each=false
-pass-pipeline='builtin.module(func.func(test-options-super-pass{list={list=1,2},{list=3,4}}))''
```
In this example, the 'list' option of the `test-options-super-pass`
is itself a pass options specification (this capability was added in
https://github.com/llvm/llvm-project/issues/101118).
However, while the textual format allows `ListOption<int>` to be given
as `list=1,2,3`, it did not allow the same format for
`ListOption<T>` when T is a subclass of `PassOptions` without extra
enclosing `{....}`. Lack of enclosing `{...}` would cause the infinite
looping in the parser.
This change resolves the parser bug and also allows omitting the
outer `{...}` for `ListOption`-of-options.
2. Previously, if you specified a default list value for your
`ListOption`, e.g. `ListOption<int> opt{*this, "list",
llvm::cl::list_init({1,2,3})}`,
it would be impossible to override that default value of `{1,2,3}` with
an *empty* list on the command line, since `my-pass{list=}` was not
allowed.
This was not allowed because of ambiguous handling of lists-of-strings
(no literal marker is currently required).
This change makes it explicit in the ListOption construction that we
would like to treat all ListOption as having a default value of "empty"
unless otherwise specified (e.g. using `llvm::list_init`).
It removes the requirement that lists are not printed if empty. Instead,
lists are not printed if they do not have their default value.
It is now clarified that the textual format
`my-pass{string-list=""}` or `my-pass{string-list={}}`
is interpreted as "empty list". This makes it imposssible to specify
that ListOption `string-list` should be a size-1 list containing the
empty string. However, `my-pass{string-list={"",""}}` *does* specify
a size-2 list containing the empty string. This behavior seems
preferable
to allow for overriding non-empty defaults as described above.
Commit: db09014a0747931026e31f40c4f541d110a5298c
https://github.com/llvm/llvm-project/commit/db09014a0747931026e31f40c4f541d110a5298c
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
A flang/include/flang/Lower/DirectivesCommon.h
M flang/lib/Lower/Bridge.cpp
R flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
A flang/test/Transforms/omp-map-info-finalization-implicit-field.fir
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
A offload/test/offloading/fortran/explicit-and-implicit-record-field-mapping.f90
A offload/test/offloading/fortran/implicit-record-field-mapping.f90
Log Message:
-----------
[flang][OpenMP] Implicitly map allocatable record fields (#117867)
This is a starting PR to implicitly map allocatable record fields.
This PR contains the following changes:
1. Re-purposes some of the utils used in `Lower/OpenMP.cpp` so that
these utils work on the `mlir::Value` level rather than the
`semantics::Symbol` level. This takes one step towards to enabling
MLIR passes to more easily do some lowering themselves (e.g. creating
`omp.map.bounds` ops for implicitely caputured data like this PR
does).
2. Adds support for implicitely capturing and mapping allocatable fields
in record types.
There is quite some distant to still cover to have full support for
this. I added a number of todos to guide further development.
Co-authored-by: Andrew Gozillon <andrew.gozillon at amd.com>
Co-authored-by: Andrew Gozillon <andrew.gozillon at amd.com>
Commit: 644643a4ee931ce24c27702851a93160cf0f1248
https://github.com/llvm/llvm-project/commit/644643a4ee931ce24c27702851a93160cf0f1248
Author: weiwei chen <weiwei.chen at modular.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M mlir/include/mlir/IR/Operation.h
M mlir/lib/IR/AsmPrinter.cpp
Log Message:
-----------
[mlir] Add `Operation::dumpPrettyPrinted` (#120117)
- [x] Add `Operation::dumpPrettyPrinted` to get more readable print
during debugging when the IR may not be able to pass verify yet.
Commit: a61eeaa7486178a6887e0efc843559d8a35bf4af
https://github.com/llvm/llvm-project/commit/a61eeaa7486178a6887e0efc843559d8a35bf4af
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/narrow-shift-extend.ll
M llvm/test/CodeGen/RISCV/rvv/pr63459.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
Log Message:
-----------
[RISCV][VLOPT] Add vector indexed loads and stores to getOperandInfo (#119748)
Use `MO.getOperandNo() == 0` instead of `IsMODef` so naming is clear for the store, since the store should treat its operand 0 like that even though it is not a def.The load should treat its operand 0 def in the same way.
Commit: 6fbfbd7c88612b7f2ddf2815d72e0e35c48ed5a6
https://github.com/llvm/llvm-project/commit/6fbfbd7c88612b7f2ddf2815d72e0e35c48ed5a6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/docs/RISCV/RISCVVectorExtension.rst
Log Message:
-----------
[RISCV] Add some additional notes about mask pseudo instructions to RISCVVectorExtension.rst. NFC (#120337)
Commit: 9fa517208fbf4d007694d5f2ba754356a40467e2
https://github.com/llvm/llvm-project/commit/9fa517208fbf4d007694d5f2ba754356a40467e2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedRocket.td
M llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR345.td
M llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR7.td
M llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td
M llvm/lib/Target/RISCV/RISCVSchedule.td
Log Message:
-----------
[RISCV] Use inheritance to simplify usage of the UnsupportedSched* multiclasses. NFC (#120329)
Split UnsupportedSchedZfhmin from UnsupportedSchedZfh.
UnsupportedSchedZfhmin inherits from UnsupportedSchedZfh and should be
used when no F16 is supported. UnsupportedSchedZfh can be used direclty
for CPUs that support Zfhmin but not Zfh.
Make UnsupportedSchedF inherit from both UnsupportedSchedD and
UnsupportedSchedZfhmin so that CPUs with no FP only need to include
UnsupportedSchedF. This required some minor refactorings to
RISCVSchedSyntacoreSCR345.td. I've also switched to inheritance instead of
using defm.
Commit: efc36715006b0a918bc8c6d7cdde0e843eb9f5c2
https://github.com/llvm/llvm-project/commit/efc36715006b0a918bc8c6d7cdde0e843eb9f5c2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/test/MC/X86/avx512gfni-att.s
M llvm/test/MC/X86/avx512vl_gfni-att.s
Log Message:
-----------
[X86] Correct the cdisp8 encoding for VGF2P8AFFINEINVQB and VGF2P8AFFINEQB. (#120340)
These instructions use a 64-bit broadcast size so the element size for
CD8 should be 64.
Commit: dc936f3c199374056d3aaf3a0434b9efd807fc6c
https://github.com/llvm/llvm-project/commit/dc936f3c199374056d3aaf3a0434b9efd807fc6c
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
R flang/include/flang/Lower/DirectivesCommon.h
M flang/lib/Lower/Bridge.cpp
A flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
R flang/test/Transforms/omp-map-info-finalization-implicit-field.fir
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
R offload/test/offloading/fortran/explicit-and-implicit-record-field-mapping.f90
R offload/test/offloading/fortran/implicit-record-field-mapping.f90
Log Message:
-----------
Revert "[flang][OpenMP] Implicitly map allocatable record fields (#117867)" (#120360)
Commit: 55e87a79b9c3e0cb80503a4b6eec0fab404b2966
https://github.com/llvm/llvm-project/commit/55e87a79b9c3e0cb80503a4b6eec0fab404b2966
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M llvm/include/llvm/Transforms/Instrumentation/BoundsChecking.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
A llvm/test/Instrumentation/BoundsChecking/runtimes.ll
Log Message:
-----------
[BoundsChecking] Add parameters to pass (#119894)
This check is a part of UBSAN, but does not support
verbose output like other UBSAN checks.
This is a step to fix that.
Commit: 4c6e13f64462872196fcb4828e68093c6db1af00
https://github.com/llvm/llvm-project/commit/4c6e13f64462872196fcb4828e68093c6db1af00
Author: David Truby <david.truby at arm.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M flang/CMakeLists.txt
Log Message:
-----------
[flang] Add cmake error if building with clang-cl and MSVC 17.12 (#120114)
Commit: 67c55b1ffc0b09cac66d8b18ada1e876d9312173
https://github.com/llvm/llvm-project/commit/67c55b1ffc0b09cac66d8b18ada1e876d9312173
Author: Ruiling, Song <ruiling.song at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/test/CodeGen/AMDGPU/group-image-instructions.ll
M llvm/test/CodeGen/MIR/AMDGPU/long-branch-reg-all-sgpr-used.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-after-pei.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll
Log Message:
-----------
[AMDGPU] Make max dwords of memory cluster configurable (#119342)
We find it helpful to increase the value for graphics workload. Make it
configurable so we can experiment with a different value.
Commit: 1ef5b987a464611a60e873650726b5e02fda0feb
https://github.com/llvm/llvm-project/commit/1ef5b987a464611a60e873650726b5e02fda0feb
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
M lld/test/ELF/aarch64-got-relocations-pauth.s
Log Message:
-----------
[PAC][lld][AArch64][ELF] Support signed GOT with tiny code model (#113816)
Depends on #114525
Support `R_AARCH64_AUTH_GOT_ADR_PREL_LO21` and `R_AARCH64_AUTH_GOT_LD_PREL19`
GOT-generating relocations. A corresponding `RE_AARCH64_AUTH_GOT_PC` member
of `RelExpr` is added, which is an AUTH-specific variant of `R_GOT_PC`.
Commit: 99c2e3b78210a345afb1b5121f12b0e7bf923543
https://github.com/llvm/llvm-project/commit/99c2e3b78210a345afb1b5121f12b0e7bf923543
Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
Log Message:
-----------
[NFC][AMDGPU] Pre-commit clang and llvm tests for dynamic allocas (#120063)
For #119822
Commit: b6ad231666fa8be41e2f357f53072238fdb4059e
https://github.com/llvm/llvm-project/commit/b6ad231666fa8be41e2f357f53072238fdb4059e
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/MachineSink.cpp
Log Message:
-----------
[MachineSink] Use `RegisterClassInfo::getRegPressureSetLimit` (#119830)
`RegisterClassInfo::getRegPressureSetLimit` is a wrapper of
`TargetRegisterInfo::getRegPressureSetLimit` with some logics to
adjust the limit by removing reserved registers.
It seems that we shouldn't use
`TargetRegisterInfo::getRegPressureSetLimit`
directly, just like the comment "This limit must be adjusted
dynamically for reserved registers" said.
Separate from https://github.com/llvm/llvm-project/pull/118787
Commit: d6e8ab1fa6a7a08d77c4c663ee494449b4b88bcd
https://github.com/llvm/llvm-project/commit/d6e8ab1fa6a7a08d77c4c663ee494449b4b88bcd
Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
Log Message:
-----------
Revert "[NFC][AMDGPU] Pre-commit clang and llvm tests for dynamic allocas" (#120369)
Reverts llvm/llvm-project#120063 due to build-bot failures
Commit: 1235a93fae60bed5814e918dd8608097d9302a59
https://github.com/llvm/llvm-project/commit/1235a93fae60bed5814e918dd8608097d9302a59
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/MachinePipeliner.cpp
Log Message:
-----------
[MachinePipeliner] Use `RegisterClassInfo::getRegPressureSetLimit` (#119827)
`RegisterClassInfo::getRegPressureSetLimit` is a wrapper of
`TargetRegisterInfo::getRegPressureSetLimit` with some logics to
adjust the limit by removing reserved registers.
It seems that we shouldn't use
`TargetRegisterInfo::getRegPressureSetLimit`
directly, just like the comment "This limit must be adjusted
dynamically for reserved registers" said.
Thus we should use `RegisterClassInfo::getRegPressureSetLimit` and
remove replicated code.
Separate from https://github.com/llvm/llvm-project/pull/118787
Commit: d9f3fae2fbabe0046bfb5888a71cf878830fddc1
https://github.com/llvm/llvm-project/commit/d9f3fae2fbabe0046bfb5888a71cf878830fddc1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
Log Message:
-----------
[RISCV] Add NoStdExtZfa predicates to BuildPairF64Pseudo and SplitF64Pseudo.
The makes the priority of the Zfa patterns of the pseudos explicit.
Previously the priority only worked because instructions with
usesCustomInserter=1 have lower priority.
Commit: 3666de9c8e3bfd3a3b604e0e434341ec49cb3a6d
https://github.com/llvm/llvm-project/commit/3666de9c8e3bfd3a3b604e0e434341ec49cb3a6d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/IR/LLVMContext.cpp
Log Message:
-----------
LLVMContext: Cleanup registration of known bundle IDs (#120359)
Commit: 44aa476aa1468adbbbca79cc77cfb5905f5fd3d6
https://github.com/llvm/llvm-project/commit/44aa476aa1468adbbbca79cc77cfb5905f5fd3d6
Author: David Truby <david.truby at arm.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/Target.cpp
A flang/test/Fir/struct-passing-aarch64-byval.fir
Log Message:
-----------
[flang] AArch64 ABI for BIND(C) VALUE parameters (#118305)
This patch adds handling for derived type VALUE parameters in BIND(C)
functions for AArch64.
Commit: b7a8d9584c787b95ddf6931e915fb643b28f91e1
https://github.com/llvm/llvm-project/commit/b7a8d9584c787b95ddf6931e915fb643b28f91e1
Author: hanbeom <kese111 at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/extract-fneg-insert.ll
Log Message:
-----------
[VectorCombine] Combine scalar fneg with insert/extract to vector fneg when length is different (#115209)
insertelt DestVec, (fneg (extractelt SrcVec, Index)), Index
-> shuffle DestVec, (shuffle (fneg SrcVec), poison, SrcMask), Mask
Original combining left the combine between vectors of different lengths as a TODO.
Commit: e532241b021cd48bad303721757c1194bc844775
https://github.com/llvm/llvm-project/commit/e532241b021cd48bad303721757c1194bc844775
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
A flang/include/flang/Lower/DirectivesCommon.h
M flang/lib/Lower/Bridge.cpp
R flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
A flang/test/Transforms/omp-map-info-finalization-implicit-field.fir
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
A offload/test/offloading/fortran/explicit-and-implicit-record-field-mapping.f90
A offload/test/offloading/fortran/implicit-record-field-mapping.f90
Log Message:
-----------
Re-apply (#117867): [flang][OpenMP] Implicitly map allocatable record fields (#120374)
This re-applies #117867 with a small fix that hopefully prevents build
bot failures. The fix is avoiding `dyn_cast` for the result of
`getOperation()`. Instead we can assign the result to `mlir::ModuleOp`
directly since the type of the operation is known statically (`OpT` in
`OperationPass`).
Commit: d9703501b037b012b887ceade77f6a7c392d0524
https://github.com/llvm/llvm-project/commit/d9703501b037b012b887ceade77f6a7c392d0524
Author: Florian Mayer <fmayer at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Log Message:
-----------
[MTE] [NFC] use vector to collect globals to tag (#120283)
The same pattern caused test failures in the HWASan pass, so is brittle.
Let's go for the easier approach.
Commit: ccb66bff3ccbaade2d2bc62985939866edb4f1f7
https://github.com/llvm/llvm-project/commit/ccb66bff3ccbaade2d2bc62985939866edb4f1f7
Author: Peter Smith <peter.smith at arm.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/docs/Security.rst
Log Message:
-----------
[DOCS] Rename LLVM Security Group to LLVM Security Response Group. (#116986)
Rename LLVM Security Group to LLVM Security Response Group. Take the
opportunity to canonicalise security group and Security Group to LLVM
Security Response Group.
At the 2024-11-19 LLVM Security Group meeting [1] we discussed that in
practice the LLVM Security Group was performing an incident response
role, but it was not proactively adding additional testing, fuzzing and
hardening. We do not want projects that use LLVM to see the LLVM
Security Group as guaranteeing security for LLVM.
We decided that it would be useful to rename the group to LLVM Security
Response Group as that reflects the work that it is doing.
There may be a case for a proactive security group with a different
remit, but this is out of scope of this commit.
[1]
https://discourse.llvm.org/t/llvm-security-group-public-sync-ups/62735/32
Commit: 0e324b3f953d62527690b1cb44d95fcb3ec0512c
https://github.com/llvm/llvm-project/commit/0e324b3f953d62527690b1cb44d95fcb3ec0512c
Author: Peter Smith <peter.smith at arm.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/docs/Security.rst
Log Message:
-----------
[DOCS] Remove bullet point on improving security over time. (#116980)
Remove the 6th bullet point "Strive to improve security over time, for
example by adding additional testing, fuzzing and hardening after fixing
issues."
At the security group meeting on 2024-11-19 we discussed the role the
security group was performing in practice. We are in effect acting as a
security response group, dealing with issues raised via the process
given in the LLVM Security group page. We are not proactively adding
additional testing fuzzing and hardening. While this could be considered
an aspirational goal, it may give the implication that the LLVM Security
Group is handling or at worst guaranteeing security for the LLVM project
when in practice it is not.
Meeting notes:
https://discourse.llvm.org/t/llvm-security-group-public-sync-ups/62735/32
Commit: 3bcfa1a579e7ab2c7a5051d897c572da05d83fd6
https://github.com/llvm/llvm-project/commit/3bcfa1a579e7ab2c7a5051d897c572da05d83fd6
Author: Nathan Gauër <brioche at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[Github] Add LLVM Premerge Checks to the watchlist (#120230)
LLVM Premerge Checks is running on the new GCP cluster. Tracking its
metrics will allow us to determine the stability of the presubmit and
make sure the new infra is working as intended.
---------
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: 3ed2a81358e11a582eb5cc3edf711447767036e6
https://github.com/llvm/llvm-project/commit/3ed2a81358e11a582eb5cc3edf711447767036e6
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.h
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
Log Message:
-----------
[SPIR-V] Fix issue #120078 and simplifies parsing of floating point decoration tips in demangled function name (#120128)
This PR fixes https://github.com/llvm/llvm-project/issues/120078 and
improves/simplifies parsing of demangled function name that aims to
detect a tip for floating point decorations. The latter improvement
fixes also a complaint from `LLVM_USE_SANITIZER=Address`.
Commit: 96bb281b636a30f5896c48035cca55807f105a56
https://github.com/llvm/llvm-project/commit/96bb281b636a30f5896c48035cca55807f105a56
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/illegal-floating-point-vector-compares.ll
M llvm/test/CodeGen/AArch64/vecreduce-bool.ll
M llvm/test/CodeGen/AArch64/vector-extract-last-active.ll
Log Message:
-----------
[AArch64] Prevent unnecessary truncation in bool vector reduce code generation (#120096)
Prevent unnecessarily truncating results of 128 bit wide vector
comparisons to 64 bit wide vector values in boolean vector reduce
operations.
Commit: 13107cb09441dfeab24fcbcae9f4d3ba4cfc2703
https://github.com/llvm/llvm-project/commit/13107cb09441dfeab24fcbcae9f4d3ba4cfc2703
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
M llvm/test/Transforms/LoopVectorize/multi_early_exit.ll
M llvm/test/Transforms/LoopVectorize/multi_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
A llvm/test/Transforms/LoopVectorize/single_early_exit_with_outer_loop.ll
Log Message:
-----------
[LoopVectorize] Enable more early exit vectorisation tests (#117008)
PR #112138 introduced initial support for dispatching to
multiple exit blocks via split middle blocks. This patch
fixes a few issues so that we can enable more tests to use
the new enable-early-exit-vectorization flag. Fixes are:
1. The code to bail out for any loop live-out values happens
too late. This is because collectUsersInExitBlocks ignores
induction variables, which get dealt with in fixupIVUsers.
I've moved the check much earlier in processLoop by looking
for outside users of loop-defined values.
2. We shouldn't yet be interleaving when vectorising loops
with uncountable early exits, since we've not added support
for this yet.
3. Similarly, we also shouldn't be creating vector epilogues.
4. Similarly, we shouldn't enable tail-folding.
5. The existing implementation doesn't yet support loops
that require scalar epilogues, although I plan to add that
as part of PR #88385.
6. The new split middle blocks weren't being added to the
parent loop.
Commit: 1d4453a6711394b368995c0f761015c1f6d27250
https://github.com/llvm/llvm-project/commit/1d4453a6711394b368995c0f761015c1f6d27250
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
A flang/test/HLFIR/order_assignments/forall-issue120190.fir
Log Message:
-----------
[flang][HLFIR] fix FORALL issue 120190 (#120236)
Fix #120190.
The hlfir.forall lowering code was not properly checking for forall
index reference in mask value computation before trying to hoist it: it
was only looking at the ops directly nested in the hlfir.forall_mask
region, but not the operation indirectly nested. This caused triggered
bogus hoisting in #120190 leading to undefined behavior (reference to
uinitialized data). The added regression test would die at compile time
with a dominance error.
Fix this by doing a deep walk of the region operation instead. Also
clean-up the region cloning to use without_terminator.
Commit: 5fc8062f5d9b0c62bdb3c817182d7275d27f7527
https://github.com/llvm/llvm-project/commit/5fc8062f5d9b0c62bdb3c817182d7275d27f7527
Author: Elizaveta Noskova <159026035+enoskova-sc at users.noreply.github.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
Log Message:
-----------
[llvm][RISCV] Set ScalableVector stack id in proper place (#117862)
Without this patch ScalableVector frame index property is used before
assignment. More precisely, let's take a look at
RISCVFrameLowering::assignCalleeSavedSpillSlots. In this function we
divide callee saved registers on scalar and vector ones, based on
ScalableVector property of their frame indexes:
```
...
const auto &UnmanagedCSI = getUnmanagedCSI(*MF, CSI);
const auto &RVVCSI = getRVVCalleeSavedInfo(*MF, CSI);
...
```
But we assign ScalableVector property several lines below:
```
...
auto storeRegToStackSlot = [&](decltype(UnmanagedCSI) CSInfo) {
for (auto &CS : CSInfo) {
// Insert the spill to the stack frame.
Register Reg = CS.getReg();
const TargetRegisterClass *RC = TRI->getMinimalPhysRegClass(Reg);
TII.storeRegToStackSlot(MBB, MI, Reg, !MBB.isLiveIn(Reg),
CS.getFrameIdx(), RC, TRI, Register());
}
};
storeRegToStackSlot(UnmanagedCSI);
...
```
Due to it, list of RVV callee saved registers will always be empty.
Currently this problem doesn't appear, but if you slightly change the
code and, for example, put some instructions between scalar and vector
spills, the resulting code will be ill formed.
Commit: 3e02038948abf60d5c9a600f0a08a2dd9223982a
https://github.com/llvm/llvm-project/commit/3e02038948abf60d5c9a600f0a08a2dd9223982a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
Log Message:
-----------
[LV] Fixup check lines after 13107cb09441.
Commit: 66bdbfbaa08fa3d8e64a7fe136a8fb717f5cdbb7
https://github.com/llvm/llvm-project/commit/66bdbfbaa08fa3d8e64a7fe136a8fb717f5cdbb7
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M lldb/source/Host/posix/MainLoopPosix.cpp
Log Message:
-----------
[lldb][NFC] clang-format MainLoopPosix.cpp
Since AIX support is about to change this.
Commit: db93ef14aef9c572e02bc842762bc4d0278148f9
https://github.com/llvm/llvm-project/commit/db93ef14aef9c572e02bc842762bc4d0278148f9
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang-tools-extra/clangd/unittests/DumpASTTests.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/Expr.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.nodiscard/p2.cpp
M clang/test/CXX/drs/cwg28xx.cpp
M clang/test/CodeGenCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/ms-property.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[Clang] Implement CWG2813: Class member access with prvalues (#120223)
This is a rebase of #95112 with my own feedback apply as @MitalAshok has
been inactive for a while.
It's fairly important this makes clang 20 as it is a blocker for #107451
---
[CWG2813](https://cplusplus.github.io/CWG/issues/2813.html)
prvalue.member_fn(expression-list) now will not materialize a temporary
for prvalue if member_fn is an explicit object member function, and
prvalue will bind directly to the object parameter.
The E1 in E1.static_member is now a discarded-value expression, so if E1
was a call to a [[nodiscard]] function, there will now be a warning.
This also affects C++98 with [[gnu::warn_unused_result]] functions.
This should not affect C where TemporaryMaterializationConversion is a
no-op.
Closes #100314
Fixes #100341
---------
Co-authored-by: Mital Ashok <mital at mitalashok.co.uk>
Commit: 16c02df8caae7b03fef4bc56759c342e7ff42d8b
https://github.com/llvm/llvm-project/commit/16c02df8caae7b03fef4bc56759c342e7ff42d8b
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M .git-blame-ignore-revs
Log Message:
-----------
[lldb] Add lldb/source/Host/posix/MainLoopPosix.cpp to git blame ignores
Commit: 1ee740a79620aa680f68d873d6a7b5cfa1df7b19
https://github.com/llvm/llvm-project/commit/1ee740a79620aa680f68d873d6a7b5cfa1df7b19
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/VectorUtils.h
A llvm/include/llvm/IR/VectorTypeUtils.h
M llvm/lib/IR/CMakeLists.txt
M llvm/lib/IR/VFABIDemangler.cpp
A llvm/lib/IR/VectorTypeUtils.cpp
M llvm/unittests/IR/CMakeLists.txt
M llvm/unittests/IR/VFABIDemanglerTest.cpp
A llvm/unittests/IR/VectorTypeUtilsTest.cpp
Log Message:
-----------
[VFABI] Add support for vector functions that return struct types (#119000)
This patch updates the `VFABIDemangler` to support vector functions that
return struct types. For example, a vector variant of `sincos` that
returns a vector of sine values and a vector of cosine values within a
struct.
This patch also adds some helpers for vectorizing types (including
struct types). Some of these are used in the `VFABIDemangler`, and
others will be used in subsequent patches, so this patch simply adds
tests for them.
Commit: 0b4ee8d4ee4be78e90fd7c4dc4a8f05e6b1a091e
https://github.com/llvm/llvm-project/commit/0b4ee8d4ee4be78e90fd7c4dc4a8f05e6b1a091e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512-bugfix-26264.ll
M llvm/test/CodeGen/X86/avx512-masked-memop-64-32.ll
M llvm/test/CodeGen/X86/pr33349.ll
M llvm/test/CodeGen/X86/pr34177.ll
M llvm/test/CodeGen/X86/vec_smulo.ll
M llvm/test/CodeGen/X86/vec_umulo.ll
M llvm/test/CodeGen/X86/vector-compress.ll
M llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll
Log Message:
-----------
[X86] combineKSHIFT - fold kshiftr(kshiftr/extract_subvector(X,C1),C2) --> kshiftr(X,C1+C2) (#115528)
Merge serial KSHIFTR nodes, possibly separated by EXTRACT_SUBVECTOR, to allow mask instructions to be computed in parallel.
Commit: 31239540b09bf5315b3a795160cf47d4c4edcd4e
https://github.com/llvm/llvm-project/commit/31239540b09bf5315b3a795160cf47d4c4edcd4e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/IR/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/IR/BUILD.gn
Log Message:
-----------
[gn build] Port 1ee740a79620
Commit: 7e49ada9a3c0f8228c79de7f65d3255916087bb0
https://github.com/llvm/llvm-project/commit/7e49ada9a3c0f8228c79de7f65d3255916087bb0
Author: Vladislav Khmelevsky <och95 at yandex.ru>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[github/CODEOWNERS] Add yota9 as BOLT reviewer
Commit: f8d270474c14c6705c77971494505dbe4b6d55ae
https://github.com/llvm/llvm-project/commit/f8d270474c14c6705c77971494505dbe4b6d55ae
Author: Vladi Krapp <vladi.krapp at arm.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/test/Transforms/LoopUnroll/ARM/lob-unroll.ll
Log Message:
-----------
[ARM] Reduce loop unroll when low overhead branching is available (#120065)
For processors with low overhead branching (LOB), runtime unrolling the
innermost loop is often detrimental to performance. In these cases the
loop remainder gets unrolled into a series of compare-and-jump blocks,
which in deeply nested loops get executed multiple times, negating the
benefits of LOB.
This is particularly noticable when the loop trip count of the innermost
loop varies within the outer loop, such as in the case of triangular
matrix decompositions.
In these cases we will prefer to not unroll the innermost loop, with the
intention for it to be executed as a low overhead loop.
Commit: b3eede5e1fa7ab742b86e9be22db7bccd2505b8a
https://github.com/llvm/llvm-project/commit/b3eede5e1fa7ab742b86e9be22db7bccd2505b8a
Author: Nicholas Guy <nicholas.guy at arm.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/ComplexDeinterleavingPass.h
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/complex-deinterleaving-cdot.ll
Log Message:
-----------
Add support for single reductions in ComplexDeinterleavingPass (#112875)
The Complex Deinterleaving pass assumes that all values emitted will
result in complex numbers, this patch aims to remove that assumption and
adds support for emitting just the real or imaginary components, not
both.
Commit: 9daf10ff8f29ba3a88a105aaa9d2379c21b77d35
https://github.com/llvm/llvm-project/commit/9daf10ff8f29ba3a88a105aaa9d2379c21b77d35
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/CXX/temp/temp.res/p4.cpp
M clang/test/CodeGenCXX/default-arguments.cpp
Log Message:
-----------
Reland [Clang] skip default argument instantiation for non-defining friend declarations to meet [dcl.fct.default] p4 (#115487)
This fixes a crash when instantiating default arguments for templated
friend function declarations which lack a definition.
There are implementation limits which prevents us from finding the
pattern for such functions, and this causes difficulties
setting up the instantiation scope for the function parameters.
This patch skips instantiating the default argument in these cases,
which causes a minor regression in error recovery, but otherwise avoids
the crash.
The previous attempt #113777 accidentally skipped all default argument
constructions, causing some regressions. This patch resolves that by
moving the guard to InstantiateDefaultArgument() where the handling of
templates takes place.
Fixes https://github.com/llvm/llvm-project/issues/113324
Commit: 414c462a839edbcbed217b8d695e71f2ede7f952
https://github.com/llvm/llvm-project/commit/414c462a839edbcbed217b8d695e71f2ede7f952
Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll
Log Message:
-----------
[AMDGPU] Modify Dyn Alloca test to account for Machine-Verifier bug (#120393)
Machine-Verifier crashes in kernel functions,
but fails gracefully in device functions.
This is due to the buffer resource descriptor selected
during G-ISEL, before the fallback path.
Device functions use `$sgpr0_sgpr1_sgpr2_sgpr3`.
while Kernel functions select `$private_rsrc_reg`
where machine-verifier complains:
`$private_rsrc_reg is not a SReg_128 register.`
Modifying test case to capture both behaviors, this is related to
https://github.com/llvm/llvm-project/pull/120063
Commit: 222dd235ffc39b3695a3c002593097bec216a8fa
https://github.com/llvm/llvm-project/commit/222dd235ffc39b3695a3c002593097bec216a8fa
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/misc/IncludeCleanerCheck.cpp
M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-strict.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-const-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-static-cast-downcast.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters-strict.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-absl.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print.cpp
M clang-tools-extra/unittests/clang-tidy/IncludeCleanerTest.cpp
Log Message:
-----------
[clang-tidy] use local config (#120004)
follow up patch for #119948.
Commit: 41c1992a16997229469aa08bc195919e96d18211
https://github.com/llvm/llvm-project/commit/41c1992a16997229469aa08bc195919e96d18211
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/CodeGen/NVPTX/nvcl-param-align.ll
Log Message:
-----------
[NVPTX] fix nvcl-param-align.ll
fix for f9c8c01d38f8fbea81db99ab90b7d0f2bdcc8b4d
Commit: 7384d8bc18535286a24b4422f6661109d127e8fd
https://github.com/llvm/llvm-project/commit/7384d8bc18535286a24b4422f6661109d127e8fd
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
Log Message:
-----------
SourceCoverageViewHTML.cpp: Reformat JS
Commit: 5a5838fba37153adb7885c897131dda09227eb2d
https://github.com/llvm/llvm-project/commit/5a5838fba37153adb7885c897131dda09227eb2d
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
Log Message:
-----------
Introduce CounterMappingRegion::isBranch(). NFC.
Commit: a9df1f6cb0dcdd808abc25f7fa1555e9e0ec6a9f
https://github.com/llvm/llvm-project/commit/a9df1f6cb0dcdd808abc25f7fa1555e9e0ec6a9f
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
M llvm/tools/llvm-cov/SourceCoverageViewText.cpp
Log Message:
-----------
llvm-cov: Refactor SourceCoverageView::renderBranchView().
NFC except for calculating `Total`. I've replaced
`(uint64_t)+(uint64_t)` with `(double)+(double)`.
This is still inexact with large numbers `(1LL << 53)` but will be expected to prevent possible overflow.
Commit: 95eb49a0905568a13c840b7866ce5d9c47e022f0
https://github.com/llvm/llvm-project/commit/95eb49a0905568a13c840b7866ce5d9c47e022f0
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
A llvm/test/Analysis/LoopAccessAnalysis/nusw-predicates.ll
Log Message:
-----------
[SCEV] Bail out on mixed int/pointer in SCEVWrapPredicate::implies.
Fixes a crash when trying to extend the pointer start value to a narrow
integer type after b6c29fdffd65.
Commit: 9826201093f047164733982492e25151b28404df
https://github.com/llvm/llvm-project/commit/9826201093f047164733982492e25151b28404df
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/IR/LLVMContext.cpp
Log Message:
-----------
LLVMContext: rem constexpr to unblock build w/ gcc (#120402)
Address issues observed in buildbots with older GCC versions:
https://lab.llvm.org/buildbot/#/builders/140/builds/13302
Commit: dd8e1adbf22f9b84e9fc5ed65530df55a3c3b693
https://github.com/llvm/llvm-project/commit/dd8e1adbf22f9b84e9fc5ed65530df55a3c3b693
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vec_shift6.ll
M llvm/test/CodeGen/X86/vector-fshl-sub128.ll
M llvm/test/CodeGen/X86/vector-fshr-sub128.ll
Log Message:
-----------
[X86] LowerShift - track the number and location of constant shift elements. (#120270)
We have several vector shift lowering strategies that have to analyse
the distribution of non-uniform constant vector shift amounts, at the
moment there is very little sharing of data between these analysis.
This patch creates a SmallDenseMap of the different LEGAL constant shift
amounts used, with a mask of which elements they are used in. So far
I've only updated the shuffle(immshift(x,c1),immshift(x,c2)) lowering
pattern to use it for clarity, there's several more that can be done in
followups. Its hoped that the proposed patch #117980 can be simplified
after this patch as well.
vec_shift6.ll - the existing shuffle(immshift(x,c1),immshift(x,c2))
lowering bails on out of range shift amounts, while this patch now skips
them and treats them as UNDEF - this means we manage to fold more cases
that before would have to lower to a SHL->MUL pattern, including some
legalized cases.
Commit: 1941f341722178390f71e07502e08a2250a704c7
https://github.com/llvm/llvm-project/commit/1941f341722178390f71e07502e08a2250a704c7
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-ashr.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-ctpop.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-lshr.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-shl.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/xnor.ll
M llvm/test/CodeGen/AMDGPU/constrained-shift.ll
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Import more "multi-level" patterns (#120332)
Previously, if the destination DAG has an untyped leaf, we would import
the pattern only if that leaf is defined by the *top-level* source DAG.
This is an unnecessary restriction.
Here is an example of such pattern:
```
def : Pat<(add (mul v8i16:$vA, v8i16:$vB), v8i16:$vC),
(VMLADDUHM $vA, $vB, $vC)>;
```
Previously, it failed to import because `add` doesn't define neither
`$vA` nor `$vB`.
This change reduces the number of skipped patterns as follows:
```
AArch64: 8695 -> 8548 (-147)
AMDGPU: 11333 -> 11240 (-93)
ARM: 4297 -> 4278 (-1)
PowerPC: 3955 -> 3010 (-945)
```
Other GISel-enabled targets are unaffected.
Commit: 3146911eb0eee821535444aa207a4ec5020c9c6a
https://github.com/llvm/llvm-project/commit/3146911eb0eee821535444aa207a4ec5020c9c6a
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/IR/Constants.cpp
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-splat-vector.ll
Log Message:
-----------
[LLVM][AsmPrinter] Add vector ConstantInt/FP support to emitGlobalConstantImpl. (#120077)
The fixes a failure path for fixed length vector globals when
ConstantInt/FP is used to represent splats instead of
ConstantDataVector.
Commit: bc3eee11ea6f771bf007c4921a34c1dfee040471
https://github.com/llvm/llvm-project/commit/bc3eee11ea6f771bf007c4921a34c1dfee040471
Author: AnastasiyaChernikova <anastasiya.chernikova at syntacore.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
A llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-A.s
A llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-C.s
A llvm/test/tools/llvm-exegesis/RISCV/latency-by-opcode-name-FADD_D.s
M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
A llvm/tools/llvm-exegesis/lib/RISCV/CMakeLists.txt
A llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
M llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp
M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
M llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
Log Message:
-----------
[Exegesis][RISCV] Add RISCV support for llvm-exegesis (#89047)
This patch also makes following amendments to core exegesis:
* Added distinction between regular registers aliasing check and
registers used as memory address in instruction.
* Added scratch memory space pointer register.
* General exegesis options were amended:
* mattr - new option to pass a list of enabled target features
Llvm-exegesis RISCV port is a result of team effort. Below everyone
involved listed.
Co-authored-by: Konstantin Vladimirov
<konstantin.vladimirov at syntacore.com>
Co-authored-by: Dmitrii Petrov <dmitrii.petrov at syntacore.com>
Co-authored-by: Dmitry Bushev <dmitry.bushev at syntacore.com>
Co-authored-by: Mark Goncharov <mark.goncharov at syntacore.com>
Co-authored-by: Anastasiya Chernikova
<anastasiya.chernikova at syntacore.com>
---------
Co-authored-by: Dmitry Bushev <dmitry.bushev at syntacore.com>
Commit: f270c9a7d0add028bcb80df5a3d73b85b0ebe7f4
https://github.com/llvm/llvm-project/commit/f270c9a7d0add028bcb80df5a3d73b85b0ebe7f4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/CodeGen/X86/urem-seteq-illegal-types.ll
Log Message:
-----------
[X86] urem-seteq-illegal-types.ll - regenerate VPTERNLOG comment
Commit: 2fa4b502d1910b8f134e01274d3898a265b0c88b
https://github.com/llvm/llvm-project/commit/2fa4b502d1910b8f134e01274d3898a265b0c88b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp
Log Message:
-----------
Fix unused variable warning. NFC.
Commit: bf62ea40eee82794abc8ed767c150d6c8d0c0b0a
https://github.com/llvm/llvm-project/commit/bf62ea40eee82794abc8ed767c150d6c8d0c0b0a
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
R llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-A.s
R llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-C.s
R llvm/test/tools/llvm-exegesis/RISCV/latency-by-opcode-name-FADD_D.s
M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
R llvm/tools/llvm-exegesis/lib/RISCV/CMakeLists.txt
R llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
M llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp
M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
M llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
Log Message:
-----------
Revert "[Exegesis][RISCV] Add RISCV support for llvm-exegesis (#89047)"
This reverts commit bc3eee11ea6f771bf007c4921a34c1dfee040471.
These tests are failing because of no `REQUIRES`.
Commit: c6967efe780d6cc5d70fc8cadbd227353b6768f1
https://github.com/llvm/llvm-project/commit/c6967efe780d6cc5d70fc8cadbd227353b6768f1
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaAsmBackend.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.h
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCCodeEmitter.cpp
M llvm/lib/Target/Xtensa/XtensaISelDAGToDAG.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaOperands.td
A llvm/test/MC/Disassembler/Xtensa/code_density.txt
A llvm/test/MC/Disassembler/Xtensa/lit.local.cfg
M llvm/test/MC/Xtensa/Relocations/fixups.s
M llvm/test/MC/Xtensa/Relocations/relocations.s
A llvm/test/MC/Xtensa/code_density-invalid.s
A llvm/test/MC/Xtensa/code_density.s
Log Message:
-----------
[Xtensa] Implement Code Density Option. (#119639)
The Code Density option adds 16-bit encoding for frequently used
instructions.
Commit: 6f68010f9123aae9f6f105d7a11af22458518ad7
https://github.com/llvm/llvm-project/commit/6f68010f9123aae9f6f105d7a11af22458518ad7
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/icmp-logical.ll
Log Message:
-----------
[InstCombine] Drop samesign flags in `foldLogOpOfMaskedICmps_NotAllZeros_BMask_Mixed` (#120373)
Counterexamples: https://alive2.llvm.org/ce/z/6Ks8Qz
Closes https://github.com/llvm/llvm-project/issues/120361.
Commit: 0c6860622c249ae7adc784c66a8d0b1335a9e7df
https://github.com/llvm/llvm-project/commit/0c6860622c249ae7adc784c66a8d0b1335a9e7df
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.h
M lldb/test/Shell/ObjectFile/XCOFF/basic-info.yaml
Log Message:
-----------
[lldb][AIX] Header Parsing for XCOFF Object File in AIX (#116338)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
Added XCOFF Object File Header Parsing for AIX.
Details about XCOFF file format on AIX:
[XCOFF](https://www.ibm.com/docs/en/aix/7.3?topic=formats-xcoff-object-file-format)
Commit: 0446990cc7af4e2b794660a98214edb401d6c50a
https://github.com/llvm/llvm-project/commit/0446990cc7af4e2b794660a98214edb401d6c50a
Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
Log Message:
-----------
Reapply "[NFC][AMDGPU] Pre-commit clang and llvm tests for dynamic allocas" (#120410)
This reapplies commit https://github.com/llvm/llvm-project/pull/120063.
A machine-verifier bug was causing a crash in the previous commit.
This has been addressed in
https://github.com/llvm/llvm-project/pull/120393.
Commit: 6da676ad35863ecea004ffa4059297a5c86dc6b2
https://github.com/llvm/llvm-project/commit/6da676ad35863ecea004ffa4059297a5c86dc6b2
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/MC/AMDGPU/gfx950_asm_read_tr.s
M llvm/test/MC/AMDGPU/gfx950_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx950_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx950_invalid_encoding.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_ds_read_tr.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_xdlops.txt
Log Message:
-----------
[AMDGPU] Use -triple instead of -arch in MC tests
Commit: e7303fe80a0bea124422219356c1c9e845110a77
https://github.com/llvm/llvm-project/commit/e7303fe80a0bea124422219356c1c9e845110a77
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/utils/extract_symbols.py
Log Message:
-----------
[Python] Use raw string literals for regexes (#120401)
Previously these backslashes were not followed by a valid escape
sequence character so were treated as literal backslashes, which was the
intended behaviour of the code. However python as of 3.12 has started
warning about these, so we should use raw string literals for regexes so
that backslashes are always interpreted literally. I've done this for
every regex in this file for consistency, including the ones which do
not contain backslashes.
Commit: 4b56345895729fda3bc3c094bc3f237ba3a49686
https://github.com/llvm/llvm-project/commit/4b56345895729fda3bc3c094bc3f237ba3a49686
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp
Log Message:
-----------
[mlir][SCF] Unify tileUsingFor and tileReductionUsingFor implementation (#120115)
This patch unifies the tiling implementation for tileUsingFor and
tileReductionUsingFor. This is done by passing an addition option to
SCFTilingOptions, allowing it to set how reduction dimensions should be
tiled. Currently, there are 3 different options for reduction tiling:
FullReduction (old tileUsingFor), PartialReductionOuterReduction (old
tileReductionUsingFor) and PartialReductionOuterParallel
(linalg::tileReductionUsingForall, this isn't implemented in this
patch).
The patch makes tileReductionUsingFor use the tileUsingFor
implementation with the new reduction tiling options.
There are no test changes because the implementation was doing almost
the exactly same thing. This was also tested in IREE (which uses both
these APIs heavily) and there were no test changes.
Commit: fbc18b85d6ce5ab6489a2b08f9b38d446fe9d6f6
https://github.com/llvm/llvm-project/commit/fbc18b85d6ce5ab6489a2b08f9b38d446fe9d6f6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/extract-fneg-insert.ll
Log Message:
-----------
Revert "[VectorCombine] Combine scalar fneg with insert/extract to vector fneg when length is different" (#120422)
Reverts llvm/llvm-project#115209 - investigating a reported regression
Commit: 0e8d022ffe008dd7afffa5140c4d87ce3d77902d
https://github.com/llvm/llvm-project/commit/0e8d022ffe008dd7afffa5140c4d87ce3d77902d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
Log Message:
-----------
[VPlan] Handle exit phis with multiple operands in addUsersInExitBlocks. (#120260)
Currently the addUsersInExitBlocks incorrectly assumes exit phis only
have a single operand, which may not be the case for loops with early
exits when they share a common exit block.
Also further relax the assertion in fixupIVUsers to allow exit values if
they come from theloop latch/middle.block.
PR: https://github.com/llvm/llvm-project/pull/120260
Commit: 6f0e9c4a5611d21cbcac4bb4f16dc90674838e1e
https://github.com/llvm/llvm-project/commit/6f0e9c4a5611d21cbcac4bb4f16dc90674838e1e
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/test/OpenMP/declare_mapper_codegen.cpp
M clang/test/OpenMP/target_map_names.cpp
M clang/test/OpenMP/target_map_names_attr.cpp
M clang/test/OpenMP/target_map_nest_defalut_mapper_codegen.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[OpenMP][Clang] Migrate OpenMP UserDefinedMapper from Clang to OMPIRBuilder (#110001)
This patch migrates the OpenMP UserDefinedMapper codegen from Clang to
the OpenMPIRBuilder. I will be adding further patches in the near future
so that OpenMP dialect in MLIR can make use of these.
Commit: fc97d2e68b03bc2979395e84b645e5b3ba35aecd
https://github.com/llvm/llvm-project/commit/fc97d2e68b03bc2979395e84b645e5b3ba35aecd
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/docs/Extensions.md
A flang/docs/Unsigned.md
M flang/docs/index.md
M flang/include/flang/Common/Fortran-consts.h
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Common/Fortran.h
M flang/include/flang/Evaluate/complex.h
M flang/include/flang/Evaluate/expression.h
M flang/include/flang/Evaluate/fold.h
M flang/include/flang/Evaluate/integer.h
M flang/include/flang/Evaluate/real.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Evaluate/type.h
M flang/include/flang/ISO_Fortran_binding.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Dialect/CanonicalizationPatterns.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/cpp-type.h
M flang/include/flang/Runtime/matmul-instances.inc
M flang/include/flang/Runtime/numeric.h
M flang/include/flang/Runtime/reduce.h
M flang/include/flang/Runtime/reduction.h
M flang/include/flang/Semantics/expression.h
M flang/lib/Common/Fortran-features.cpp
M flang/lib/Common/default-kinds.cpp
M flang/lib/Evaluate/expression.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/fold-logical.cpp
M flang/lib/Evaluate/fold-matmul.h
M flang/lib/Evaluate/fold-reduction.h
M flang/lib/Evaluate/formatting.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/target.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Evaluate/type.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertConstant.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/Mangler.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/type-parsers.h
M flang/lib/Semantics/check-arithmeticif.cpp
M flang/lib/Semantics/check-case.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/scope.cpp
M flang/lib/Semantics/tools.cpp
M flang/module/iso_c_binding.f90
M flang/module/iso_fortran_env.f90
M flang/module/iso_fortran_env_impl.f90
M flang/runtime/Float128Math/random.cpp
M flang/runtime/descriptor-io.h
M flang/runtime/dot-product.cpp
M flang/runtime/edit-input.cpp
M flang/runtime/edit-input.h
M flang/runtime/edit-output.cpp
M flang/runtime/edit-output.h
M flang/runtime/extrema.cpp
M flang/runtime/findloc.cpp
M flang/runtime/io-api-minimal.cpp
M flang/runtime/matmul.cpp
M flang/runtime/numeric.cpp
M flang/runtime/product.cpp
M flang/runtime/random-templates.h
M flang/runtime/random.cpp
M flang/runtime/reduce.cpp
M flang/runtime/reduction-templates.h
M flang/runtime/reduction.cpp
M flang/runtime/sum.cpp
M flang/runtime/tools.h
M flang/runtime/type-code.cpp
M flang/runtime/type-info.cpp
A flang/test/Evaluate/fold-unsigned.f90
M flang/test/Lower/Intrinsics/shifta.f90
M flang/test/Lower/allocatable-polymorphic.f90
A flang/test/Lower/unsigned-ops.f90
M flang/test/Semantics/complex01.f90
M flang/test/Semantics/typeinfo01.f90
M flang/test/Semantics/typeinfo08.f90
A flang/test/Semantics/unsigned-errors.f90
M flang/unittests/Evaluate/real.cpp
Log Message:
-----------
[flang] Add UNSIGNED (#113504)
Implement the UNSIGNED extension type and operations under control of a
language feature flag (-funsigned).
This is nearly identical to the UNSIGNED feature that has been available
in Sun Fortran for years, and now implemented in GNU Fortran for
gfortran 15, and proposed for ISO standardization in J3/24-116.txt.
See the new documentation for details; but in short, this is C's
unsigned type, with guaranteed modular arithmetic for +, -, and *, and
the related transformational intrinsic functions SUM & al.
Commit: 76714be5fd4ace66dd9e19ce706c2e2149dd5716
https://github.com/llvm/llvm-project/commit/76714be5fd4ace66dd9e19ce706c2e2149dd5716
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/ComplexDeinterleavingPass.h
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
R llvm/test/CodeGen/AArch64/complex-deinterleaving-cdot.ll
Log Message:
-----------
Revert "Add support for single reductions in ComplexDeinterleavingPass (#112875)"
This reverts commit b3eede5e1fa7ab742b86e9be22db7bccd2505b8a.
This has been breaking most AArch64 stage2 builds for 4+ hours,
reverting to get the bots back to green.
https://lab.llvm.org/buildbot/#/builders/41/builds/4172
https://lab.llvm.org/buildbot/#/builders/4/builds/4281
https://lab.llvm.org/buildbot/#/builders/199/builds/263
https://lab.llvm.org/buildbot/#/builders/198/builds/334
https://lab.llvm.org/buildbot/#/builders/143/builds/4276
https://lab.llvm.org/buildbot/#/builders/17/builds/4725
Commit: 6993d32c77a78ac0e6eee0e4bffd714a455e776b
https://github.com/llvm/llvm-project/commit/6993d32c77a78ac0e6eee0e4bffd714a455e776b
Author: Bushev Dmitry <111585886+dybv-sc at users.noreply.github.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
A llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-A.s
A llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-C.s
A llvm/test/tools/llvm-exegesis/RISCV/latency-by-opcode-name-FADD_D.s
A llvm/test/tools/llvm-exegesis/RISCV/lit.local.cfg
M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
A llvm/tools/llvm-exegesis/lib/RISCV/CMakeLists.txt
A llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
M llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp
M llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
Log Message:
-----------
[Exegesis][RISCV] Add RISCV support for llvm-exegesis (#120419)
This patch also makes following amendments to core exegesis:
* Added distinction between regular registers aliasing check and
registers used as memory address in instruction.
* Added scratch memory space pointer register.
* General exegesis options were amended:
* mattr - new option to pass a list of enabled target features
Llvm-exegesis RISCV port is a result of team effort. Below everyone
involved listed.
Co-authored-by: Konstantin Vladimirov
<konstantin.vladimirov at syntacore.com>
Co-authored-by: Dmitrii Petrov <dmitrii.petrov at syntacore.com>
Co-authored-by: Dmitry Bushev <dmitry.bushev at syntacore.com>
Co-authored-by: Mark Goncharov <mark.goncharov at syntacore.com>
Co-authored-by: Anastasiya Chernikova
<anastasiya.chernikova at syntacore.com>
---------
Co-authored-by: Anastasiya Chernikova <anastasiya.chernikova at syntacore.com>
Commit: aadf606d9046c16b86f17ed0d2778749922bac2e
https://github.com/llvm/llvm-project/commit/aadf606d9046c16b86f17ed0d2778749922bac2e
Author: Akash Banerjee <Akash.Banerjee at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
Fix #110001 build error.
Commit: d3750412aa37ac982ef65bde84fed9bdff763996
https://github.com/llvm/llvm-project/commit/d3750412aa37ac982ef65bde84fed9bdff763996
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/CodeGen/X86/GlobalISel/select-intrinsic-x86-flags-read-u32.mir
M llvm/test/TableGen/GlobalISelEmitter-nested-subregs.td
M llvm/test/TableGen/GlobalISelEmitterRegSequence.td
M llvm/test/TableGen/GlobalISelEmitterSubreg.td
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Improve dead register handling (#120426)
A dead implicit def wasn't marked as dead if it is also an implicit use.
The new approach should also be more straightforward and simplifies
future changes for supporting optional defs and physical register defs.
Pull Request: https://github.com/llvm/llvm-project/pull/120426
Commit: 3eca15cbb9888a992749ddd24f0fb666dad733bf
https://github.com/llvm/llvm-project/commit/3eca15cbb9888a992749ddd24f0fb666dad733bf
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/lib/Analysis/Analysis.cpp
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
M llvm/lib/Target/DirectX/DXILFinalizeLinkage.h
M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILPrepare.cpp
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
M llvm/unittests/Analysis/DXILResourceTest.cpp
Log Message:
-----------
[DirectX] Split resource info into type and binding info. NFC (#119773)
This splits the DXILResourceAnalysis pass into TypeAnalysis and
BindingAnalysis passes. The type analysis pass is made immutable and
populated lazily so that it can be used earlier in the pipeline without
needing to carefully maintain the invariants of the binding analysis.
Fixes #118400
Commit: 49fd2dde21655f95309abb17ad1d3392afe4985f
https://github.com/llvm/llvm-project/commit/49fd2dde21655f95309abb17ad1d3392afe4985f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-sdiv.ll
M llvm/test/CodeGen/X86/lower-vec-shift.ll
M llvm/test/CodeGen/X86/vec_shift6.ll
M llvm/test/CodeGen/X86/widen_arith-4.ll
Log Message:
-----------
[X86] LowerShift - don't prematurely lower to x86 vector shift imm instructions (#120282)
When splitting 2 unique amount shifts to shuffle(shift(x,c1),shift(x,c2)), don't use getTargetVShiftByConstNode directly to lower, use generic shifts to ensure we make use of any further canonicalization: shl(X,1) to add(X,X) etc. - this can have notably better throughput on some x86 targets.
Noticed on #120270
Commit: 72e58e00c27c7f4dd9502c719ddd13dcfef33e85
https://github.com/llvm/llvm-project/commit/72e58e00c27c7f4dd9502c719ddd13dcfef33e85
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/test/Lexer/cxx-features.cpp
Log Message:
-----------
[Clang] Set `__cpp_explicit_this_parameter` (#107451)
There are not a lot of outstanding known issues
with deducing this (besides #95112), so it
seems reasonable to claim full support.
Fixes #82780
Commit: 2b932bc111c0d96db7044b0a854d7ad763710df2
https://github.com/llvm/llvm-project/commit/2b932bc111c0d96db7044b0a854d7ad763710df2
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/test/clang-doc/builtin_types.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
Log Message:
-----------
[clang-doc] Use LangOpts when printing types (#120308)
The implementation in the clang-doc serializer failed to take in the
LangOpts from the declaration. As a result, we'd do things like print
`_Bool` instead of `bool`, even in C++ code.
Fixes #62970
Commit: 5717a99d8de458a0d74a8167c8d7aa751c1e4008
https://github.com/llvm/llvm-project/commit/5717a99d8de458a0d74a8167c8d7aa751c1e4008
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
A llvm/include/llvm/Passes/DroppedVariableStats.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/Passes/CMakeLists.txt
A llvm/lib/Passes/DroppedVariableStats.cpp
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/unittests/IR/CMakeLists.txt
A llvm/unittests/IR/DroppedVariableStatsIRTest.cpp
R llvm/unittests/IR/DroppedVariableStatsTest.cpp
Log Message:
-----------
Reland 2de78815604e9027efd93cac27c517bf732587d2 (#119650) (#120454)
[NFC] Move DroppedVariableStats to its own file and redesign it to be
extensible. (#115563)
Move DroppedVariableStats code to its own file and change the class to
have an extensible design so that we can use it to add dropped
statistics to MIR passes and the instruction selector.
Commit: d2413d44136f4f7cdb35c3a52ce6adbeb230f1e1
https://github.com/llvm/llvm-project/commit/d2413d44136f4f7cdb35c3a52ce6adbeb230f1e1
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M libc/docs/headers/stdio.rst
A libc/utils/docgen/stdio.yaml
Log Message:
-----------
[libc][docs] convert stdio.h to docgen (#120334)
Add info from n3220 and POSIX.1-2024.
Commit: 21de514872fc80424fbfd159485d71978b973c73
https://github.com/llvm/llvm-project/commit/21de514872fc80424fbfd159485d71978b973c73
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
Log Message:
-----------
[flang][NFC] static assert intrinsic table is sorted (#120399)
This invariant is used below when searching for intrinsic
implementation. Currently, if the map is not sorted, the compiler will
just silently assume there is no such implementation.
Commit: 0fca76d576da6b26379b9754178263685b077610
https://github.com/llvm/llvm-project/commit/0fca76d576da6b26379b9754178263685b077610
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/DirectX/CMakeLists.txt
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
A llvm/lib/Target/DirectX/DXILResourceAccess.cpp
A llvm/lib/Target/DirectX/DXILResourceAccess.h
M llvm/lib/Target/DirectX/DirectX.h
M llvm/lib/Target/DirectX/DirectXPassRegistry.def
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
A llvm/test/CodeGen/DirectX/ResourceAccess/load_typedbuffer.ll
A llvm/test/CodeGen/DirectX/ResourceAccess/store_typedbuffer.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
Log Message:
-----------
[DirectX] Introduce the DXILResourceAccess pass (#116726)
This pass transforms resource access via `llvm.dx.resource.getpointer`
into buffer loads and stores.
Fixes #114848.
Commit: 79e859e049c77b5190a54fc1ecf1d262e3ef9f11
https://github.com/llvm/llvm-project/commit/79e859e049c77b5190a54fc1ecf1d262e3ef9f11
Author: Max <xpy66swsry at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
A lld/Common/BPSectionOrdererBase.cpp
M lld/Common/CMakeLists.txt
M lld/MachO/BPSectionOrderer.cpp
M lld/MachO/BPSectionOrderer.h
M lld/MachO/CMakeLists.txt
A lld/include/lld/Common/BPSectionOrdererBase.h
Log Message:
-----------
[lld] Move BPSectionOrderer from MachO to Common for reuse in ELF (#117514)
Add lld/Common/BPSectionOrdererBase from MachO for reuse in ELF
Commit: 0e2466f62491a2623e61a81f17e4c0f2c15cb8ba
https://github.com/llvm/llvm-project/commit/0e2466f62491a2623e61a81f17e4c0f2c15cb8ba
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
A llvm/test/CodeGen/DirectX/Metadata/resource-symbols.ll
M llvm/unittests/Analysis/DXILResourceTest.cpp
Log Message:
-----------
[DirectX] Create symbols for resource handles (#119775)
We need to create symbols with "the original shape of resource and
element type" to put in the resource metadata in order to generate valid
DXIL.
Note that DXC generally doesn't emit an actual symbol outside of library
shaders (it emits an undef of a pointer to the type), but since we have
to deal with opaque pointers we would need a way to smuggle the type
through to match that. Instead, we simply emit symbols for now.
Fixed #116849
Commit: 08849083a797b03c93487d177f6019d709d44d93
https://github.com/llvm/llvm-project/commit/08849083a797b03c93487d177f6019d709d44d93
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
R llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-A.s
R llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-C.s
R llvm/test/tools/llvm-exegesis/RISCV/latency-by-opcode-name-FADD_D.s
R llvm/test/tools/llvm-exegesis/RISCV/lit.local.cfg
M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
R llvm/tools/llvm-exegesis/lib/RISCV/CMakeLists.txt
R llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
M llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp
M llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
Log Message:
-----------
Revert "[Exegesis][RISCV] Add RISCV support for llvm-exegesis (#120419)"
This reverts commit 6993d32c77a78ac0e6eee0e4bffd714a455e776b.
Reason: buildbot breakage
(https://lab.llvm.org/buildbot/#/builders/51/builds/7908)
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /home/b/sanitizer-aarch64-linux/build/llvm_build0/bin/clang++ -DGTEST_HAS_RTTI=0 -DLLVM_BUILD_STATIC -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/b/sanitizer-aarch64-linux/build/build_default/tools/llvm-exegesis/lib/RISCV -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/tools/llvm-exegesis/lib/RISCV -I/home/b/sanitizer-aarch64-linux/build/build_default/include -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Target/RISCV -I/home/b/sanitizer-aarch64-linux/build/build_default/lib/Target/RISCV -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17 -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT tools/llvm-exegesis/lib/RISCV/CMakeFiles/LLVMExegesisRISCV.dir/Target.cpp.o -MF tools/llvm-exegesis/lib/RISCV/CMakeFiles/LLVMExegesisRISCV.dir/Target.cpp.o.d -o tools/llvm-exegesis/lib/RISCV/CMakeFiles/LLVMExegesisRISCV.dir/Target.cpp.o -c /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
In file included from /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp:139:
/home/b/sanitizer-aarch64-linux/build/build_default/lib/Target/RISCV/RISCVGenAsmMatcher.inc:239:19: error: unused function 'MatchRegisterName' [-Werror,-Wunused-function]
239 | static MCRegister MatchRegisterName(StringRef Name) {
| ^~~~~~~~~~~~~~~~~
/home/b/sanitizer-aarch64-linux/build/build_default/lib/Target/RISCV/RISCVGenAsmMatcher.inc:568:19: error: unused function 'MatchRegisterAltName' [-Werror,-Wunused-function]
568 | static MCRegister MatchRegisterAltName(StringRef Name) {
| ^~~~~~~~~~~~~~~~~~~~
Commit: 5270e63cdc8f744003608fcc40f4549339e6b517
https://github.com/llvm/llvm-project/commit/5270e63cdc8f744003608fcc40f4549339e6b517
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s
Log Message:
-----------
[AMDGPU][True16][MC] test update for v_ldexp_f16 in true16 (#119313)
This is a NFC change. Update mc test for v_ldexp_f16 in true16 format.
MC source change was done by previous patch and automatically enabled by
t16 pesudo
Commit: c3241a9a4de3ef71a82f9434f84fa7437fe43f9a
https://github.com/llvm/llvm-project/commit/c3241a9a4de3ef71a82f9434f84fa7437fe43f9a
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s
Log Message:
-----------
[AMDGPU][True16][MC] test update for v_subrev_f16 in true16 (#119315)
This is a NFC change. Update mc test for v_subrev_f16 in true16 format.
MC source change was done by previous patch and automatically enabled by
t16 pesudo
Commit: 23a239267e8a1d20ed10d3545feaf2a2bb70b085
https://github.com/llvm/llvm-project/commit/23a239267e8a1d20ed10d3545feaf2a2bb70b085
Author: Alexander Kornienko <alexfh at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/union-tbaa1.c
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/memcpy-from-constant.ll
M llvm/test/Transforms/InstCombine/cast_phi.ll
M llvm/test/Transforms/InstCombine/load-cmp.ll
M llvm/test/Transforms/InstCombine/memcpy-addrspace.ll
M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
M llvm/test/Transforms/InstCombine/stpcpy-1.ll
M llvm/test/Transforms/InstCombine/stpcpy_chk-1.ll
M llvm/test/Transforms/InstCombine/strlen-1.ll
M llvm/test/Transforms/InstCombine/strlen-4.ll
M llvm/test/Transforms/InstCombine/strncat-2.ll
M llvm/test/Transforms/InstCombine/strnlen-3.ll
M llvm/test/Transforms/InstCombine/strnlen-4.ll
M llvm/test/Transforms/InstCombine/strnlen-5.ll
M llvm/test/Transforms/InstCombine/sub-gep.ll
M llvm/test/Transforms/InstCombine/wcslen-1.ll
M llvm/test/Transforms/InstCombine/wcslen-3.ll
M llvm/test/Transforms/InstCombine/wcslen-5.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/x86_fp80-vector-store.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/multiple-address-spaces.ll
M llvm/test/Transforms/LoopVectorize/non-const-n.ll
M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
M llvm/test/Transforms/SLPVectorizer/X86/operandorder.ll
Log Message:
-----------
Revert "[InstCombine] Infer nuw for gep inbounds from base of object" (#120460)
Reverts llvm/llvm-project#119225 due to the lack of sanitizer support,
large potential of breaking code containing latent UB, non-trivial
localization and investigation, and what seems to be a bad interaction
with msan (a test is in the works).
Related discussions:
https://github.com/llvm/llvm-project/pull/119225#issuecomment-2551904822
https://github.com/llvm/llvm-project/pull/118472#issuecomment-2549986255
Commit: 0987fcce18becc6980ddf61dd6c2af494c4ddf63
https://github.com/llvm/llvm-project/commit/0987fcce18becc6980ddf61dd6c2af494c4ddf63
Author: Mark Danial <118996571+madanial0 at users.noreply.github.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
Log Message:
-----------
[NFC] update gfx12 vop test to use sed instead of grep (#120458)
changes from https://github.com/llvm/llvm-project/pull/119778 breaks the
AIX clang ppc64 bot:
https://lab.llvm.org/buildbot/#/builders/64/builds/1714 as `grep -o` is
not supported on AIX and is not POSIX compatible as per:
https://www.unix.com/man-page/posix/1p/grep/
Co-authored-by: Mark Danial <mark.danial at ibm.com>
Commit: e6a63513a22e17c193a4912ee6bc23a636d25bcf
https://github.com/llvm/llvm-project/commit/e6a63513a22e17c193a4912ee6bc23a636d25bcf
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
Log Message:
-----------
[PhaseOrdering] Update test for #120460
Commit: c6f753b9a0910cdbb6bee77af1e5a54cf2e168fa
https://github.com/llvm/llvm-project/commit/c6f753b9a0910cdbb6bee77af1e5a54cf2e168fa
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.ceil.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.floor.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
M llvm/test/CodeGen/AMDGPU/sitofp.f16.ll
M llvm/test/CodeGen/AMDGPU/uitofp.f16.ll
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC] true16 for v_pack_b32_f16 (#119630)
Support true16 format for v_pack_b32_f16 in MC.
Since we are replacing v_alignbit_b32 to
`v_pack_b32_f16_t16/v_pack_b32_f16_fake16` in Post-GFX11, have to update
the CodeGen pattern for `v_pack_b32_f16_fake16 `to get CodeGen test
passing. There is no pattern modified/created, but just replacing the
`v_pack_b32_f16` with fake16 format.
Some of the true16 CodeGen test are impacted since `v_pack_b32_f16`
selection are removed in Post-GFX11 while `v_pack_b32_f16_t16` are not
yet supported. The CodeGen patch for `v_pack_b32_f16_t16` will be done
is the following patch.
Commit: 1a87f07465d76c87ace25623c67faf9596bbbf56
https://github.com/llvm/llvm-project/commit/1a87f07465d76c87ace25623c67faf9596bbbf56
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp
Log Message:
-----------
[clang] Change initialization of a vector from undef to poison [NFC] (#120446)
It is fully initialized with insertelements.
Commit: 9af5de320b77d3757ea2b7e3d85c67f88dfbabb5
https://github.com/llvm/llvm-project/commit/9af5de320b77d3757ea2b7e3d85c67f88dfbabb5
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
M clang/test/Driver/sanitizer-ld.c
M compiler-rt/test/hwasan/TestCases/sizes.cpp
Log Message:
-----------
[driver] Fix sanitizer libc++ runtime linking (#120370)
1. -f[no-]sanitize-link-c++-runtime suppose to
override defauld behavior implied from `CCCIsCXX`
2. Take into account -nostdlib++ (unblocks #108357)
3. Fix typo hasFlag vs hasArg.
Commit: 402a3b8293205ee4485e9eb85ee187fb643755db
https://github.com/llvm/llvm-project/commit/402a3b8293205ee4485e9eb85ee187fb643755db
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/IR/BUILD.gn
Log Message:
-----------
[gn build] Port 5717a99d8de4
Commit: a710880b1ee1faa8a3b882e29797a07b1775b275
https://github.com/llvm/llvm-project/commit/a710880b1ee1faa8a3b882e29797a07b1775b275
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/lld/Common/BUILD.gn
Log Message:
-----------
[gn build] Port 79e859e049c7
Commit: d57230c72e7c1398c52b1676809224b633fa289d
https://github.com/llvm/llvm-project/commit/d57230c72e7c1398c52b1676809224b633fa289d
Author: Jun Wang <jwang86 at yahoo.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/CodeGen/AMDGPU/mai-hazards-gfx90a.mir
M llvm/test/CodeGen/AMDGPU/mai-hazards-gfx940.mir
M llvm/test/MC/AMDGPU/dl-insts.s
M llvm/test/MC/AMDGPU/gfx1030_err.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop3p_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3p_err.s
A llvm/test/MC/AMDGPU/gfx908_err.s
M llvm/test/MC/AMDGPU/gfx90a_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx908-dl-insts.txt
Log Message:
-----------
[AMDGPU][MC] Disallow op_sel in some VOP3P dot instructions (#100485)
In v_dot4 and v_dot8 instructions with 4- or 8-bit packed data (e.g.,
v_dot4_u32_u8, v_dot8_u32_u4), the op_sel modifier should not be
allowed.
Commit: 6e41483b8430ee3c4c3076b0a24537492ed19386
https://github.com/llvm/llvm-project/commit/6e41483b8430ee3c4c3076b0a24537492ed19386
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
Log Message:
-----------
[MemRef] Migrate away from PointerUnion::{is,get} (NFC) (#120382)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: 6fb967ec9e13216ee1b4fc15764e0b3df9e5683f
https://github.com/llvm/llvm-project/commit/6fb967ec9e13216ee1b4fc15764e0b3df9e5683f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/ProfileData/MemProf.cpp
Log Message:
-----------
[memprof] Move Frame::hash and hashCallStack to IndexedMemProfData (NFC) (#120365)
Now that IndexedMemProfData::{addFrame,addCallStack} are the only
callers of Frame::hash and hashCallStack, respectively, this patch
moves those functions into IndexedMemProfData and makes them private.
With this patch, we can obtain FrameId and CallStackId only through
addFrame and addCallStack, respectively.
Commit: bfd05102d817fce38938ce864f89ad90ef0b6cda
https://github.com/llvm/llvm-project/commit/bfd05102d817fce38938ce864f89ad90ef0b6cda
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/test/CodeGen/DirectX/CreateHandle.ll
M llvm/test/CodeGen/DirectX/CreateHandleFromBinding.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
Log Message:
-----------
[DirectX] Lower ops after translating metadata (#120157)
Move the DXILOpLoweringPass after DXILTranslateMetadata, and add asserts
in DXILShaderFlags to ensure it isn't scheduled after op lowering. This
will allow us to rely on DirectX intrinsics in the shader flags analysis
rather than having to recover information from lowered operations.
Fixes #120119.
Commit: 41bd35b58bb482fd466aa4b13aa44a810ad6470f
https://github.com/llvm/llvm-project/commit/41bd35b58bb482fd466aa4b13aa44a810ad6470f
Author: Peter Hawkins <phawkins at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
M mlir/include/mlir/Bindings/Python/IRTypes.h
M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
M mlir/lib/Bindings/Python/Globals.h
M mlir/lib/Bindings/Python/IRAffine.cpp
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRInterfaces.cpp
M mlir/lib/Bindings/Python/IRModule.cpp
M mlir/lib/Bindings/Python/IRModule.h
M mlir/lib/Bindings/Python/IRTypes.cpp
M mlir/lib/Bindings/Python/MainModule.cpp
A mlir/lib/Bindings/Python/NanobindUtils.h
M mlir/lib/Bindings/Python/Pass.cpp
M mlir/lib/Bindings/Python/Pass.h
R mlir/lib/Bindings/Python/PybindUtils.h
M mlir/lib/Bindings/Python/Rewrite.cpp
M mlir/lib/Bindings/Python/Rewrite.h
M mlir/python/CMakeLists.txt
M mlir/python/requirements.txt
M mlir/test/python/ir/symbol_table.py
M utils/bazel/WORKSPACE
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir python] Port Python core code to nanobind. (#118583)
Why? https://nanobind.readthedocs.io/en/latest/why.html says it better
than I can, but my primary motivation for this change is to improve MLIR
IR construction time from JAX.
For a complicated Google-internal LLM model in JAX, this change improves
the MLIR
lowering time by around 5s (out of around 30s), which is a significant
speedup for simply switching binding frameworks.
To a large extent, this is a mechanical change, for instance changing
`pybind11::`
to `nanobind::`.
Notes:
* this PR needs Nanobind 2.4.0, because it needs a bug fix
(https://github.com/wjakob/nanobind/pull/806) that landed in that
release.
* this PR does not port the in-tree dialect extension modules. They can
be ported in a future PR.
* I removed the py::sibling() annotations from def_static and def_class
in `PybindAdapters.h`. These ask pybind11 to try to form an overload
with an existing method, but it's not possible to form mixed
pybind11/nanobind overloads this ways and the parent class is now
defined in nanobind. Better solutions may be possible here.
* nanobind does not contain an exact equivalent of pybind11's buffer
protocol support. It was not hard to add a nanobind implementation of a
similar API.
* nanobind is pickier about casting to std::vector<bool>, expecting that
the input is a sequence of bool types, not truthy values. In a couple of
places I added code to support truthy values during casting.
* nanobind distinguishes bytes (`nb::bytes`) from strings (e.g.,
`std::string`). This required nb::bytes overloads in a few places.
Commit: 6e8b3a3e0cad614954fc387df22d59d941f081c3
https://github.com/llvm/llvm-project/commit/6e8b3a3e0cad614954fc387df22d59d941f081c3
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
M mlir/include/mlir/Bindings/Python/IRTypes.h
M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
M mlir/lib/Bindings/Python/Globals.h
M mlir/lib/Bindings/Python/IRAffine.cpp
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRInterfaces.cpp
M mlir/lib/Bindings/Python/IRModule.cpp
M mlir/lib/Bindings/Python/IRModule.h
M mlir/lib/Bindings/Python/IRTypes.cpp
M mlir/lib/Bindings/Python/MainModule.cpp
R mlir/lib/Bindings/Python/NanobindUtils.h
M mlir/lib/Bindings/Python/Pass.cpp
M mlir/lib/Bindings/Python/Pass.h
A mlir/lib/Bindings/Python/PybindUtils.h
M mlir/lib/Bindings/Python/Rewrite.cpp
M mlir/lib/Bindings/Python/Rewrite.h
M mlir/python/CMakeLists.txt
M mlir/python/requirements.txt
M mlir/test/python/ir/symbol_table.py
M utils/bazel/WORKSPACE
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Revert "[mlir python] Port Python core code to nanobind. (#118583)"
This reverts commit 41bd35b58bb482fd466aa4b13aa44a810ad6470f.
Breakage detected, rolling back.
Commit: 9f3a6114807b66738585af060012927bd0f05b88
https://github.com/llvm/llvm-project/commit/9f3a6114807b66738585af060012927bd0f05b88
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M flang/runtime/findloc.cpp
Log Message:
-----------
[flang] Don't needlessly instantiate distinct UNSIGNED cases for FINDLOC (#120471)
The FINDLOC runtime doesn't need to distinguish between INTEGER and
UNSIGNED data, so use the code for INTEGER also for UNSIGNED.
Commit: cb0effc0e61d5a0b2f952d9aa9d97f1652beabac
https://github.com/llvm/llvm-project/commit/cb0effc0e61d5a0b2f952d9aa9d97f1652beabac
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/module/cudadevice.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Using nvvm intrinsics for the syncthread and threadfence families of calls (#120020)
Commit: 6910aec097125317d33ade727d09db837be58d5f
https://github.com/llvm/llvm-project/commit/6910aec097125317d33ade727d09db837be58d5f
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Don't use VPlan ctor taking trip count in most unit tests (NFC).
Update tests to use constructor not passing a trip count VPValue. The
tests don't need that and are simpler as a result.
Commit: b905bcc5090cde734e8b7bbceae13bd5a606cc14
https://github.com/llvm/llvm-project/commit/b905bcc5090cde734e8b7bbceae13bd5a606cc14
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M libcxx/include/__algorithm/adjacent_find.h
M libcxx/include/__algorithm/binary_search.h
M libcxx/include/__algorithm/equal.h
M libcxx/include/__algorithm/equal_range.h
M libcxx/include/__algorithm/fill_n.h
M libcxx/include/__algorithm/find.h
M libcxx/include/__algorithm/find_end.h
M libcxx/include/__algorithm/find_first_of.h
M libcxx/include/__algorithm/for_each.h
M libcxx/include/__algorithm/includes.h
M libcxx/include/__algorithm/inplace_merge.h
M libcxx/include/__algorithm/is_heap.h
M libcxx/include/__algorithm/is_permutation.h
M libcxx/include/__algorithm/is_sorted.h
M libcxx/include/__algorithm/is_sorted_until.h
M libcxx/include/__algorithm/lower_bound.h
M libcxx/include/__algorithm/make_projected.h
M libcxx/include/__algorithm/merge.h
M libcxx/include/__algorithm/mismatch.h
M libcxx/include/__bit_reference
M libcxx/include/__hash_table
M libcxx/include/__split_buffer
M libcxx/include/__tree
Log Message:
-----------
[libc++] Remove some unused includes (#120219)
Commit: 9b3d85f0f43a9337223f8d69bbe71d5b4f41fd33
https://github.com/llvm/llvm-project/commit/9b3d85f0f43a9337223f8d69bbe71d5b4f41fd33
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.h
A llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll
Log Message:
-----------
[DirectX] TypedUAVLoadAdditionalFormats shader flag (#120477)
Set the TypedUAVLoadAddtionalFormats flag if the shader contains a load
from a multicomponent UAV.
Fixes #114557
Commit: f03bf8c45f430c4fbf9f3a60c67bf2e69459d7a5
https://github.com/llvm/llvm-project/commit/f03bf8c45f430c4fbf9f3a60c67bf2e69459d7a5
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Don't change breaking before CtorInitializerColon (#119522)
Don't change breaking before CtorInitializerColon with `ColumnLimit: 0`.
Fixes #119519.
Commit: b1b60d4c1db723ca9deca899f0c055b4f0e0ddc3
https://github.com/llvm/llvm-project/commit/b1b60d4c1db723ca9deca899f0c055b4f0e0ddc3
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in annotating arrows after init braces (#119958)
Fixes #59066.
Commit: 2916352936097a35cdcaaf38a9097465adbf8cf5
https://github.com/llvm/llvm-project/commit/2916352936097a35cdcaaf38a9097465adbf8cf5
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/ThinLTO/X86/memprof-missing-callsite.ll
M llvm/test/ThinLTO/X86/memprof-tailcall-nonunique.ll
M llvm/test/Transforms/MemProfContextDisambiguation/fix_clone_checking.ll
Log Message:
-----------
[MemProf] Skip unmatched callers when cloning (#120455)
Don't unnecessarily clone for a caller that wasn't matched to a call
instruction.
This necessitated updated a couple of tests that were either
unnecessarily cloning or unnecessarily processing an allocation and
hinting it not cold.
Commit: 00840fbb51789278a40a4a2f83ebce04a32f0dde
https://github.com/llvm/llvm-project/commit/00840fbb51789278a40a4a2f83ebce04a32f0dde
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/ThinLTO/X86/memprof-missing-callsite.ll
Log Message:
-----------
[MemProf] Add quotes around FileCheck pattern (#120481)
Some bots are failing with 2916352936097a35cdcaaf38a9097465adbf8cf5,
likely due to the escapes in the FileCheck pattern. Add extra quotes to
try to fix this.
E.g. https://lab.llvm.org/buildbot/#/builders/46/builds/9442
Commit: 6ea8b4cebd322fe604efa96b943abf6ad419414c
https://github.com/llvm/llvm-project/commit/6ea8b4cebd322fe604efa96b943abf6ad419414c
Author: Brad Smith <brad at comstyle.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Support/Unix/Threading.inc
Log Message:
-----------
[llvm][Support] Use __NR_gettid on Linux for compat with older glibc (#120007)
Commit: 6457aee5b7da6bb6d7f556d14f42a6763b42e060
https://github.com/llvm/llvm-project/commit/6457aee5b7da6bb6d7f556d14f42a6763b42e060
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
A llvm/test/CodeGen/DirectX/flatten-bug-117273.ll
M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
A llvm/test/CodeGen/DirectX/scalar-bug-117273.ll
M llvm/test/CodeGen/DirectX/scalar-load.ll
Log Message:
-----------
[DirectX] Bug fix for Data Scalarization crash (#118426)
Two bugs here. First calling `Inst->getFunction()` has undefined
behavior if the instruction is not tracked to a function. I suspect the
`replaceAllUsesWith` was leaving the GEPs in a weird ghost parent
situation. I switched up the visitor to be able to `eraseFromParent` as
part of visiting and then everything started working.
The second bug was in `DXILFlattenArrays.cpp`. I was unaware that you
can have multidimensional arrays of `zeroinitializer`, and `undef` so
fixed up the initializer to handle these two cases.
fixes #117273
Commit: 08aa95638713a37407367e0e158df6fb82509725
https://github.com/llvm/llvm-project/commit/08aa95638713a37407367e0e158df6fb82509725
Author: Amir Bishara <139038766+amirBish at users.noreply.github.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorElimination.cpp
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-analysis-empty-tensor-elimination.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
Log Message:
-----------
[mlir][bufferization]-Replace only one use in TensorEmptyElimination (#118958)
In many cases the emptyTensorElimination can not transform or eliminate
the empty tensor which is being inserted into the
`SubsetInsertionOpInterface`.
Two major reasons for that:
1- Failing when trying to find a legal/suitable insertion point for the
`subsetExtract` which is about to replace the empty tensor. However, we
may try to handle this issue by moving the needed values which
responsible on building the `subsetExtract` nearby the empty tensor
(which is about to be eliminated). Thus increasing the probability to
find a legal insertion point.
2-The EmptyTensorElimination transform replaces the tensor.empty's uses
all at once in one apply, rather than replacing only the specific use
which was visited in the use-def chain (when traversing from the
tensor.insert_slice). This scenario of replacing all the uses of the
tensor.empty may lead into additional read effects after bufferization
of the specific subset extract/subview which should not be the case.
Both cases may result in many copies in the coming bufferization which
can not be canonicalized.
The first case can be noticed when having a `tensor.empty` followed by
`SubsetInsertionOpInterface` (or in simple words `tensor.insert_slice`),
which have been lowered from `tensor/tosa.concat`.
The second case can be noticed when having a `tensor.empty`, with many
uses and leading to applying the transformation only once, since the
whole uses have been replaced at once.
The first commit in the PR only adds the lit tests for the cases shown
above (NFC), to emphasize how the transform works, in the coming MRs
will upload a slight changes to handle these case.
The second commit in this PR, we want to replace only the specific use
which was visited in the `use-def` chain (when traversing from the
`tensor.insert_slice`'s source).
Commit: 5ca3794e82bd4d96e5aa32821bed033e40f51814
https://github.com/llvm/llvm-project/commit/5ca3794e82bd4d96e5aa32821bed033e40f51814
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Move initial VPlan block creation to constructor. (NFC)
This sets up the initial blocks needed to initialize a VPlan directly
in the constructor. This will allow tracking of all created blocks
directly in VPlan, simplifying block deletion.
Commit: d8399d5dd6a5a7025621eddd97fc0fa1f494bad8
https://github.com/llvm/llvm-project/commit/d8399d5dd6a5a7025621eddd97fc0fa1f494bad8
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M mlir/include/mlir/IR/Constraints.td
M mlir/include/mlir/IR/Properties.td
M mlir/include/mlir/TableGen/Property.h
M mlir/lib/TableGen/Predicate.cpp
M mlir/lib/TableGen/Property.cpp
A mlir/test/IR/test-op-property-predicates.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
A mlir/test/mlir-tblgen/op-properties-predicates.td
M mlir/test/mlir-tblgen/op-properties.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir] Add predicates to tablegen-defined properties (#120176)
Give the properties from tablegen a `predicate` field that holds the
predicate that the property needs to satisfy, if one exists, and hook
that field up to verifier generation.
Commit: ac8a9f8fffb605514056f53f12f1fba94ee933e9
https://github.com/llvm/llvm-project/commit/ac8a9f8fffb605514056f53f12f1fba94ee933e9
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
A llvm/test/Transforms/PGOProfile/memprof-undrift.test
Log Message:
-----------
[memprof] Undrift MemProfRecord (#120138)
This patch undrifts source locations in MemProfRecord before readMemprof
starts the matching process.
The thoery of operation is as follows:
1. Collect the lists of direct calls, one from the IR and the other
from the profile.
2. Compute the correspondence (called undrift map in the patch)
between the two lists with longestCommonSequence.
3. Apply the undrift map just before readMemprof consumes
MemProfRecord.
The new function gated by a flag that is off by default.
Commit: e7a4d78ad328d02bf515b2fa4af8b2c188a6a636
https://github.com/llvm/llvm-project/commit/e7a4d78ad328d02bf515b2fa4af8b2c188a6a636
Author: DianQK <dianqk at dianqk.net>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/slp-deleted-inst.ll
Log Message:
-----------
[SLP] Check if instructions exist after vectorization (#120434)
Fixes #120433.
Commit: 8272b6bd6146aab973ff7018ad642b99fde00904
https://github.com/llvm/llvm-project/commit/8272b6bd6146aab973ff7018ad642b99fde00904
Author: Christopher Bate <cbate at nvidia.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M mlir/lib/IR/AffineExpr.cpp
M mlir/unittests/IR/AffineExprTest.cpp
Log Message:
-----------
[mlir][IR] Fix bug in AffineExpr simplifier `lhs % rhs` where `lhs = lhs floordiv rhs` (#119245)
Fixes an issue where the `SimpleAffineExprFlattener` would simplify
`lhs % rhs` to just `-(lhs floordiv rhs)` instead of
`lhs - (lhs floordiv rhs)`
if `lhs` happened to be equal to `lhs floordiv rhs`.
The reported failure case was
`(d0, d1) -> (((d1 - (d1 + 2)) floordiv 8) % 8)`
from https://github.com/llvm/llvm-project/issues/114654.
Note that many paths that simplify AffineMaps (e.g. the AffineApplyOp
folder and canonicalization) would not observe this bug because of
of slightly different paths taken by the code. Slightly different
grouping of the terms could also result in avoiding the bug.
Resolves https://github.com/llvm/llvm-project/issues/114654.
Commit: 26f5d1ee9c37e2a6d50898a5bf2d3b9171060ba0
https://github.com/llvm/llvm-project/commit/26f5d1ee9c37e2a6d50898a5bf2d3b9171060ba0
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/lib/APINotes/APINotesReader.cpp
Log Message:
-----------
[APINotes] Avoid assertion failure with expensive checks (#120487)
Found assertion failures when using EXPENSIVE_CHECKS and running lit
tests for APINotes:
Assertion `left.first != right.first && "two entries for the same
version"' failed.
It seems like std::is_sorted is verifying that the comparison function
is reflective (comp(a,a)=false) when using expensive checks. So we would
get callbacks to the lambda used for comparison, even for vectors with a
single element in APINotesReader::VersionedInfo<T>::VersionedInfo, with
"left" and "right" being the same object. Therefore the assert checking
that we never found equal values would fail.
Fix makes sure that we skip the check for equal values when "left" and
"right" is the same object.
Commit: 8e8692a542037056b332f4a3b5f12441267b76eb
https://github.com/llvm/llvm-project/commit/8e8692a542037056b332f4a3b5f12441267b76eb
Author: Bushev Dmitry <111585886+dybv-sc at users.noreply.github.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
A llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-A.s
A llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-C.s
A llvm/test/tools/llvm-exegesis/RISCV/latency-by-opcode-name-FADD_D.s
A llvm/test/tools/llvm-exegesis/RISCV/lit.local.cfg
M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
A llvm/tools/llvm-exegesis/lib/RISCV/CMakeLists.txt
A llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
M llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp
M llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
Log Message:
-----------
[Exegesis][RISCV] Add RISCV support for llvm-exegesis (#120467)
This patch also makes following amendments to core exegesis:
* Added distinction between regular registers aliasing check and
registers used as memory address in instruction.
* Added scratch memory space pointer register.
* General exegesis options were amended:
* mattr - new option to pass a list of enabled target features
Llvm-exegesis RISCV port is a result of team effort. Below everyone
involved listed.
Co-authored-by: Konstantin Vladimirov
<konstantin.vladimirov at syntacore.com>
Co-authored-by: Dmitrii Petrov <dmitrii.petrov at syntacore.com>
Co-authored-by: Dmitry Bushev <dmitry.bushev at syntacore.com>
Co-authored-by: Mark Goncharov <mark.goncharov at syntacore.com>
Co-authored-by: Anastasiya Chernikova
<anastasiya.chernikova at syntacore.com>
Original pr: #89047
---------
Co-authored-by: Kazu Hirata <kazu at google.com>
Commit: dc0ea0f945269387fa3a9db65cc907840903f245
https://github.com/llvm/llvm-project/commit/dc0ea0f945269387fa3a9db65cc907840903f245
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC] true16 for v_cvt_pknorm_i16/u16_f16 (#119605)
Support true16 format for v_cvt_pknorm_i16/u16_f16 in MC.
Commit: e10b12e6564c4da7d03fe1616e894ad162167663
https://github.com/llvm/llvm-project/commit/e10b12e6564c4da7d03fe1616e894ad162167663
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC] true16 for v_div_fixup_f16 (#119613)
Support true16 format for v_div_fixup_f16 in MC.
Commit: e0526b0780f56eede09b05a859a93626ecdc6e4d
https://github.com/llvm/llvm-project/commit/e0526b0780f56eede09b05a859a93626ecdc6e4d
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC] true16 for v_minmax/maxmin_f16 (#119586)
Support true16 format for v_minmax/maxmin_f16 in MC.
Since we are replacing `v_minmax/maxmin_f16` to `v_minmax/maxmin_f16_t16
/ v_minmax/maxmin_f16_fake16` in Post-GFX11, have to update the CodeGen
pattern for `v_minmax/maxmin_f16` to get CodeGen test passing.
Commit: e34cc7c99375c43e1698c78ec9150fa40c88d486
https://github.com/llvm/llvm-project/commit/e34cc7c99375c43e1698c78ec9150fa40c88d486
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/include/clang-c/Index.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
A clang/test/AST/ast-print-openacc-wait-construct.cpp
M clang/test/ParserOpenACC/parse-wait-construct.c
M clang/test/SemaOpenACC/combined-construct-default-clause.c
M clang/test/SemaOpenACC/compute-construct-default-clause.c
M clang/test/SemaOpenACC/unimplemented-construct.c
A clang/test/SemaOpenACC/wait-construct-ast.cpp
A clang/test/SemaOpenACC/wait-construct.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
Log Message:
-----------
[OpenACC] Implement 'wait' construct
The arguments to this are the same as for the 'wait' clause, so this
reuses all of that infrastructure. So all this has to do is support a
pair of clauses that are already implemented (if and async), plus create
an AST node. This patch does so, and adds proper testing.
Commit: 0fd7c49a770da936b704ea9b2162a85377b1e374
https://github.com/llvm/llvm-project/commit/0fd7c49a770da936b704ea9b2162a85377b1e374
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
A compiler-rt/test/ubsan/TestCases/Misc/local_bounds.cpp
A compiler-rt/test/ubsan_minimal/TestCases/local_bounds.cpp
Log Message:
-----------
[ubsan] Add runtime test for -fsanitize=local-bounds (#120038)
Commit: 7eaf4708098c216bf432fc7e0bc79c3771e793a4
https://github.com/llvm/llvm-project/commit/7eaf4708098c216bf432fc7e0bc79c3771e793a4
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/SanitizerArgs.h
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/CodeGen/ubsan-trap-merge.c
M clang/test/Driver/fsanitize.c
Log Message:
-----------
[ubsan] Add -fsanitize-merge (and -fno-sanitize-merge) (#120464)
'-mllvm -ubsan-unique-traps'
(https://github.com/llvm/llvm-project/pull/65972) applies to all UBSan
checks. This patch introduces -fsanitize-merge (defaults to on,
maintaining the status quo behavior) and -fno-sanitize-merge (equivalent
to '-mllvm -ubsan-unique-traps'), with the option to selectively
applying non-merged handlers to a subset of UBSan checks (e.g.,
-fno-sanitize-merge=bool,enum).
N.B. we do not use "trap" in the argument name since
https://github.com/llvm/llvm-project/pull/119302 has generalized
-ubsan-unique-traps to work for non-trap modes (min-rt and regular rt).
This patch does not remove the -ubsan-unique-traps flag; that will
override -f(no-)sanitize-merge.
Commit: ef955908302b6a6170e9775d89a94846fde12ebf
https://github.com/llvm/llvm-project/commit/ef955908302b6a6170e9775d89a94846fde12ebf
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/test/CoverageMapping/switch.cpp
M clang/test/CoverageMapping/switchmacro.c
Log Message:
-----------
[Coverage] Resurrect Branch:FalseCnt in SwitchStmt that was pruned in #112694 (#120418)
I missed that FalseCnt for each Case was used to calculate percentage in
the SwitchStmt. At the moment I resurrect them.
In `!HasDefaultCase`, the pair of Counters shall be `[CaseCountSum,
FalseCnt]`. (Reversal of before #112694)
I think it can be considered as the False count on SwitchStmt.
FalseCnt shall be folded (same as current impl) in the coming
SingleByteCoverage changes, since percentage would not make sense.
Commit: e6980796585940bffd8c9e95052761c1a32c1dfe
https://github.com/llvm/llvm-project/commit/e6980796585940bffd8c9e95052761c1a32c1dfe
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/test/tools/llvm-cov/branch-macros.cpp
Log Message:
-----------
Allow `CoverageMapping::getCoverageForFile()` to show Branches also outside functions (#120416)
Fixes #119952
Commit: 2691b964150c77a9e6967423383ad14a7693095e
https://github.com/llvm/llvm-project/commit/2691b964150c77a9e6967423383ad14a7693095e
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/SanitizerArgs.h
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/CodeGen/ubsan-trap-merge.c
M clang/test/Driver/fsanitize.c
Log Message:
-----------
Revert "[ubsan] Add -fsanitize-merge (and -fno-sanitize-merge) (#120464)"
This reverts commit 7eaf4708098c216bf432fc7e0bc79c3771e793a4.
Reason: buildbot breakage (e.g.,
https://lab.llvm.org/buildbot/#/builders/144/builds/14299/steps/6/logs/FAIL__Clang__ubsan-trap-debugloc_c)
Commit: f334db92be168876b618db72dc93078ce23ffa89
https://github.com/llvm/llvm-project/commit/f334db92be168876b618db72dc93078ce23ffa89
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
A llvm/test/CodeGen/LoongArch/lasx/fpowi.ll
A llvm/test/CodeGen/LoongArch/lsx/fpowi.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpowi.ll
Log Message:
-----------
[llvm][CodeGen] Intrinsic `llvm.powi.*` code gen for vector arguments (#118242)
Scalarize vector FPOWI instead of promoting the type. This allows the
scalar FPOWIs to be visited and converted to libcalls before promoting
the type.
FIXME: This should be done in LegalizeVectorOps/LegalizeDAG, but call
lowering needs the unpromoted EVT.
Without this patch, in some backends, such as RISCV64 and LoongArch64,
the i32 type is illegal and will be promoted. This causes exponent type
check to fail when ISD::FPOWI node generates a libcall.
Fix https://github.com/llvm/llvm-project/issues/118079
Commit: 60a2f32cf5ce75c9a2511d7fc2b0f24699605912
https://github.com/llvm/llvm-project/commit/60a2f32cf5ce75c9a2511d7fc2b0f24699605912
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
M clang/test/Driver/sanitizer-ld.c
M compiler-rt/test/hwasan/TestCases/sizes.cpp
Log Message:
-----------
Revert "[driver] Fix sanitizer libc++ runtime linking (#120370)"
This reverts commit 9af5de320b77d3757ea2b7e3d85c67f88dfbabb5.
Reason: buildbot breakage
(https://lab.llvm.org/buildbot/#/builders/24/builds/3394/steps/10/logs/stdio)
"Unexpectedly Passed Tests (1):
llvm-libc++-shared.cfg.in :: libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp"
Commit: ffff7bb582a39c5444ce1e43fd272a35cb87498d
https://github.com/llvm/llvm-project/commit/ffff7bb582a39c5444ce1e43fd272a35cb87498d
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/SanitizerArgs.h
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/CodeGen/ubsan-trap-debugloc.c
M clang/test/CodeGen/ubsan-trap-merge.c
M clang/test/Driver/fsanitize.c
Log Message:
-----------
Reapply "[ubsan] Add -fsanitize-merge (and -fno-sanitize-merge) (#120…464)" (#120511)
This reverts commit 2691b964150c77a9e6967423383ad14a7693095e. This
reapply fixes the buildbot breakage of the original patch, by updating
clang/test/CodeGen/ubsan-trap-debugloc.c to specify -fsanitize-merge
(the default, which is merge, is applied by the driver but not
clang_cc1).
This reapply also expands clang/test/CodeGen/ubsan-trap-merge.c.
----
Original commit message:
'-mllvm -ubsan-unique-traps'
(https://github.com/llvm/llvm-project/pull/65972) applies to all UBSan
checks. This patch introduces -fsanitize-merge (defaults to on,
maintaining the status quo behavior) and -fno-sanitize-merge (equivalent
to '-mllvm -ubsan-unique-traps'), with the option to selectively
applying non-merged handlers to a subset of UBSan checks (e.g.,
-fno-sanitize-merge=bool,enum).
N.B. we do not use "trap" in the argument name since
https://github.com/llvm/llvm-project/pull/119302 has generalized
-ubsan-unique-traps to work for non-trap modes (min-rt and regular rt).
This patch does not remove the -ubsan-unique-traps flag; that will
override -f(no-)sanitize-merge.
Commit: 4530273d7ce8615d2773bbdffce8e2d2fa9dceee
https://github.com/llvm/llvm-project/commit/4530273d7ce8615d2773bbdffce8e2d2fa9dceee
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Fir/CUDA/cuda-code-gen.mlir
Log Message:
-----------
[flang][cuda] Allocate descriptor in managed memory when emboxing device memory (#120485)
When emboxing memory that comes from CUFMemAlloc, we need to allocate
the descriptor in manage memory as it might be passed to a kernel.
Commit: 89b34ec9ccb93bff5064227ac2424cc1bdf73b8d
https://github.com/llvm/llvm-project/commit/89b34ec9ccb93bff5064227ac2424cc1bdf73b8d
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/targets_with_exegesis.gni
A llvm/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/RISCV/BUILD.gn
Log Message:
-----------
[gn] port 8e8692a5420370 (RISCV support for llvm-exegesis)
Commit: b56d1ec6cb8b5cb3ff46cba39a1049ecf3831afb
https://github.com/llvm/llvm-project/commit/b56d1ec6cb8b5cb3ff46cba39a1049ecf3831afb
Author: Peter Hawkins <phawkins at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
M mlir/include/mlir/Bindings/Python/IRTypes.h
M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
M mlir/lib/Bindings/Python/Globals.h
M mlir/lib/Bindings/Python/IRAffine.cpp
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRInterfaces.cpp
M mlir/lib/Bindings/Python/IRModule.cpp
M mlir/lib/Bindings/Python/IRModule.h
M mlir/lib/Bindings/Python/IRTypes.cpp
M mlir/lib/Bindings/Python/MainModule.cpp
A mlir/lib/Bindings/Python/NanobindUtils.h
M mlir/lib/Bindings/Python/Pass.cpp
M mlir/lib/Bindings/Python/Pass.h
R mlir/lib/Bindings/Python/PybindUtils.h
M mlir/lib/Bindings/Python/Rewrite.cpp
M mlir/lib/Bindings/Python/Rewrite.h
M mlir/python/CMakeLists.txt
M mlir/python/requirements.txt
M mlir/test/python/ir/symbol_table.py
M utils/bazel/WORKSPACE
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir python] Port Python core code to nanobind. (#120473)
Relands #118583, with a fix for Python 3.8 compatibility. It was not
possible to set the buffer protocol accessers via slots in Python 3.8.
Why? https://nanobind.readthedocs.io/en/latest/why.html says it better
than I can, but my primary motivation for this change is to improve MLIR
IR construction time from JAX.
For a complicated Google-internal LLM model in JAX, this change improves
the MLIR
lowering time by around 5s (out of around 30s), which is a significant
speedup for simply switching binding frameworks.
To a large extent, this is a mechanical change, for instance changing
`pybind11::` to `nanobind::`.
Notes:
* this PR needs Nanobind 2.4.0, because it needs a bug fix
(https://github.com/wjakob/nanobind/pull/806) that landed in that
release.
* this PR does not port the in-tree dialect extension modules. They can
be ported in a future PR.
* I removed the py::sibling() annotations from def_static and def_class
in `PybindAdapters.h`. These ask pybind11 to try to form an overload
with an existing method, but it's not possible to form mixed
pybind11/nanobind overloads this ways and the parent class is now
defined in nanobind. Better solutions may be possible here.
* nanobind does not contain an exact equivalent of pybind11's buffer
protocol support. It was not hard to add a nanobind implementation of a
similar API.
* nanobind is pickier about casting to std::vector<bool>, expecting that
the input is a sequence of bool types, not truthy values. In a couple of
places I added code to support truthy values during casting.
* nanobind distinguishes bytes (`nb::bytes`) from strings (e.g.,
`std::string`). This required nb::bytes overloads in a few places.
Commit: dc72ec808d97a83fe9d3c1889302067cbee24c91
https://github.com/llvm/llvm-project/commit/dc72ec808d97a83fe9d3c1889302067cbee24c91
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge.ll
M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
Log Message:
-----------
[RISCV] Custom legalize vp.merge for mask vectors. (#120479)
The default legalization uses vmslt with a vector of XLen to compute a
mask. This doesn't work if the type isn't legal. For fixed vectors it
will scalarize. For scalable vectors it crashes the compiler.
This patch uses an alternate strategy that promotes the i1 vector to an
i8 vector and does the merge. I don't claim this to be the best
lowering. I wrote it quickly almost 3 years ago when a crash was
reported in our downstream.
Fixes #120405.
Commit: f0dcf3240dffe3767c7f3a2e2da5b92ae9fd1bef
https://github.com/llvm/llvm-project/commit/f0dcf3240dffe3767c7f3a2e2da5b92ae9fd1bef
Author: Nathan Chancellor <nathan at kernel.org>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaExpr.cpp
M clang/test/Sema/tautological-pointer-comparison.c
Log Message:
-----------
[Sema] Fix tautological bounds check warning with -fwrapv (#120480)
The tautological bounds check warning added in #120222 does not take
into account whether signed integer overflow is well defined or not,
which could result in a developer removing a bounds check that may not
actually be always false because of different overflow semantics.
```c
int check(const int* foo, unsigned int idx)
{
return foo + idx < foo;
}
```
```
$ clang -O2 -c test.c
test.c:3:19: warning: pointer comparison always evaluates to false [-Wtautological-compare]
3 | return foo + idx < foo;
| ^
1 warning generated.
# Bounds check is eliminated without -fwrapv, warning was correct
$ llvm-objdump -dr test.o
...
0000000000000000 <check>:
0: 31 c0 xorl %eax, %eax
2: c3 retq
```
```
$ clang -O2 -fwrapv -c test.c
test.c:3:19: warning: pointer comparison always evaluates to false [-Wtautological-compare]
3 | return foo + idx < foo;
| ^
1 warning generated.
# Bounds check remains, warning was wrong
$ llvm-objdump -dr test.o
0000000000000000 <check>:
0: 89 f0 movl %esi, %eax
2: 48 8d 0c 87 leaq (%rdi,%rax,4), %rcx
6: 31 c0 xorl %eax, %eax
8: 48 39 f9 cmpq %rdi, %rcx
b: 0f 92 c0 setb %al
e: c3 retq
```
Commit: 1cc926b8b6976ac4a5a411eae564cfde2df1ef9d
https://github.com/llvm/llvm-project/commit/1cc926b8b6976ac4a5a411eae564cfde2df1ef9d
Author: Pavel Samolysov <samolisov at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/unittests/ADT/CMakeLists.txt
A llvm/unittests/ADT/ScopedHashTableTest.cpp
Log Message:
-----------
[ADT] Add a unittest for the ScopedHashTable class (#120183)
The ScopedHashTable class is particularly used to develop string tables
for parsers and code convertors. For instance, the MLIRGen class from the
toy example for MLIR actively uses this class to define scopes for
declared variables. To demonstrate common use cases for the
ScopedHashTable class as well as to check its behavior in different
situations, the unittest has been added.
Signed-off-by: Pavel Samolysov <samolisov at gmail.com>
Commit: 76275c0c41739a30939afd1709174861a587a823
https://github.com/llvm/llvm-project/commit/76275c0c41739a30939afd1709174861a587a823
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/ADT/BUILD.gn
Log Message:
-----------
[gn build] Port 1cc926b8b697
Commit: fe2685303b215182b1acc5b6fb8be30c24bd6e8e
https://github.com/llvm/llvm-project/commit/fe2685303b215182b1acc5b6fb8be30c24bd6e8e
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix a crash caused by commit f03bf8c45f43
Commit: c94ce0cca25229cd0e38560ad6e56a1a2f9a0c8b
https://github.com/llvm/llvm-project/commit/c94ce0cca25229cd0e38560ad6e56a1a2f9a0c8b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/unittests/ADT/ScopedHashTableTest.cpp
Log Message:
-----------
[ADT] Fix warnings
This patch fixes warnings of the form:
llvm/unittests/ADT/ScopedHashTableTest.cpp:41:20: error:
'ScopedHashTableScope' may not intend to support class template
argument deduction [-Werror,-Wctad-maybe-unsupported]
Commit: 104ad9258a0f93a969bf7a85ebc0c7d9c533edf1
https://github.com/llvm/llvm-project/commit/104ad9258a0f93a969bf7a85ebc0c7d9c533edf1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/VE/VEISelLowering.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
Log Message:
-----------
[SelectionDAG] Rename SDNode::uses() to users(). (#120499)
This function is most often used in range based loops or algorithms
where the iterator is implicitly dereferenced. The dereference returns
an SDNode * of the user rather than SDUse * so users() is a better name.
I've long beeen annoyed that we can't write a range based loop over
SDUse when we need getOperandNo. I plan to rename use_iterator to
user_iterator and add a use_iterator that returns SDUse& on dereference.
This will make it more like IR.
Commit: 2302142f2318ba9624b847cd8c1a7e2d255be5c5
https://github.com/llvm/llvm-project/commit/2302142f2318ba9624b847cd8c1a7e2d255be5c5
Author: Tyler Nowicki <tyler.nowicki at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/docs/Coroutines.rst
Log Message:
-----------
[Coroutines][Docs] Add a discussion on the handling of certain parameter attribs (#117183)
ByVal arguments and Swifterror require special handling in the coroutine
passes. The goal of this section is to provide a description of how
these parameter attributes are handled.
Commit: 2c782ab2718758bd106ad5939adf7cfb6cd9d1e9
https://github.com/llvm/llvm-project/commit/2c782ab2718758bd106ad5939adf7cfb6cd9d1e9
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
A llvm/test/CodeGen/RISCV/machine-pipeliner.ll
Log Message:
-----------
[RISCV] Add software pipeliner support (#117546)
This patch adds basic support of `MachinePipeliner` and disable
it by default.
The functionality should be OK and all llvm-test-suite tests have
passed.
Commit: 5c55f9664f7e2f9fe29589a97bc5818d6b8d3c9c
https://github.com/llvm/llvm-project/commit/5c55f9664f7e2f9fe29589a97bc5818d6b8d3c9c
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/test/SemaTemplate/pack-deduction.cpp
Log Message:
-----------
[Clang] Don't assume unexpanded PackExpansions' size when expanding packs (#120380)
CheckParameterPacksForExpansion() previously assumed that template
arguments don't include PackExpansion types when attempting another pack
expansion (i.e. when NumExpansions is present). However, this assumption
doesn't hold for type aliases, whose substitution might involve
unexpanded packs. This can lead to incorrect diagnostics during
substitution because the pack size is not yet determined.
To address this, this patch calculates the minimum pack size (ignoring
unexpanded PackExpansionTypes) and compares it to the previously
expanded size. If the minimum pack size is smaller, then there's still a
chance for future substitution to expand it to a correct size, so we
don't diagnose it too eagerly.
Fixes #61415
Fixes #32252
Fixes #17042
Commit: 4ca4287da472c045f1587b1e8c7bd2ba8ef2e5c0
https://github.com/llvm/llvm-project/commit/4ca4287da472c045f1587b1e8c7bd2ba8ef2e5c0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Log Message:
-----------
[SelectionDAG] Replace findGlueUse in SelectionDAGISel with SDNode::getGluedUser. NFC (#120512)
Commit: bd261ecc5aeefd62150cb5f04e4a4f0cb7a12e1c
https://github.com/llvm/llvm-project/commit/bd261ecc5aeefd62150cb5f04e4a4f0cb7a12e1c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
Log Message:
-----------
[SelectionDAG] Add SDNode::user_begin() and use it in some places (#120509)
Most of these are just places that want the first user and aren't
iterating over the whole list.
While there I changed some use_size() == 1 to hasOneUse() which
is more efficient.
This is part of an effort to rename use_iterator to user_iterator
and provide a use_iterator that dereferences to SDUse&. This patch
helps reduce the diff on later patches.
Commit: 296c29483e4000963a08fc51828df948d47e945a
https://github.com/llvm/llvm-project/commit/296c29483e4000963a08fc51828df948d47e945a
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
R llvm/test/tools/llvm-mca/RISCV/SiFive7/reductions.s
R llvm/test/tools/llvm-mca/RISCV/SiFive7/strided-load-store.s
R llvm/test/tools/llvm-mca/RISCV/SiFive7/strided-load-x0.s
R llvm/test/tools/llvm-mca/RISCV/SiFive7/vector-integer-arithmetic.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/different-lmul-instruments.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/different-sew-instruments.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/disable-im.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/fractional-lmul-data.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-at-start.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-in-middle.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-in-region.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-straddles-region.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/multiple-same-lmul-instruments.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/multiple-same-sew-instruments.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/needs-sew-but-only-lmul.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/no-vsetvli-to-start.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/reductions.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/riscv-lmul-instrument-no-data-is-err.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/riscv-sew-instrument-no-data-is-err.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-at-start.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-in-middle.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-in-region.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-straddles-region.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/strided-load-store.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/strided-load-x0.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/unknown-instrument-is-err.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/unknown-lmul-is-err.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/unknown-sew-is-err.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vector-integer-arithmetic.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vle-vse.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetivli-lmul-instrument.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetivli-lmul-sew-instrument.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetvli-lmul-instrument.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetvli-lmul-sew-instrument.s
R llvm/test/tools/llvm-mca/RISCV/different-lmul-instruments.s
R llvm/test/tools/llvm-mca/RISCV/different-sew-instruments.s
R llvm/test/tools/llvm-mca/RISCV/disable-im.s
R llvm/test/tools/llvm-mca/RISCV/fractional-lmul-data.s
R llvm/test/tools/llvm-mca/RISCV/lmul-instrument-at-start.s
R llvm/test/tools/llvm-mca/RISCV/lmul-instrument-in-middle.s
R llvm/test/tools/llvm-mca/RISCV/lmul-instrument-in-region.s
R llvm/test/tools/llvm-mca/RISCV/lmul-instrument-straddles-region.s
R llvm/test/tools/llvm-mca/RISCV/multiple-same-lmul-instruments.s
R llvm/test/tools/llvm-mca/RISCV/multiple-same-sew-instruments.s
R llvm/test/tools/llvm-mca/RISCV/needs-sew-but-only-lmul.s
R llvm/test/tools/llvm-mca/RISCV/no-vsetvli-to-start.s
R llvm/test/tools/llvm-mca/RISCV/riscv-lmul-instrument-no-data-is-err.s
R llvm/test/tools/llvm-mca/RISCV/riscv-sew-instrument-no-data-is-err.s
R llvm/test/tools/llvm-mca/RISCV/sew-instrument-at-start.s
R llvm/test/tools/llvm-mca/RISCV/sew-instrument-in-middle.s
R llvm/test/tools/llvm-mca/RISCV/sew-instrument-in-region.s
R llvm/test/tools/llvm-mca/RISCV/sew-instrument-straddles-region.s
R llvm/test/tools/llvm-mca/RISCV/unknown-instrument-is-err.s
R llvm/test/tools/llvm-mca/RISCV/unknown-lmul-is-err.s
R llvm/test/tools/llvm-mca/RISCV/unknown-sew-is-err.s
R llvm/test/tools/llvm-mca/RISCV/vle-vse.s
R llvm/test/tools/llvm-mca/RISCV/vsetivli-lmul-instrument.s
R llvm/test/tools/llvm-mca/RISCV/vsetivli-lmul-sew-instrument.s
R llvm/test/tools/llvm-mca/RISCV/vsetvli-lmul-instrument.s
R llvm/test/tools/llvm-mca/RISCV/vsetvli-lmul-sew-instrument.s
Log Message:
-----------
[RISCV][MCA] Move sifive-x280 tests to directory SiFiveX280 (#120522)
Commit: a3bf87357da3bae1a35c7a855988287b1fc7ca2f
https://github.com/llvm/llvm-project/commit/a3bf87357da3bae1a35c7a855988287b1fc7ca2f
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/MC/ELF/noexec.s
M llvm/tools/llvm-mc/llvm-mc.cpp
Log Message:
-----------
[llvm-mc] --no-exec-stack: replace initSection with switchSection. NFC
AsmParser will call initSection unless -n is specified.
It is not good to call initSection twice.
Commit: e389492d6a00e1c49a034e13343098541ebd03c6
https://github.com/llvm/llvm-project/commit/e389492d6a00e1c49a034e13343098541ebd03c6
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
A llvm/include/llvm/Analysis/DroppedVariableStats.h
R llvm/include/llvm/Passes/DroppedVariableStats.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/Analysis/CMakeLists.txt
A llvm/lib/Analysis/DroppedVariableStats.cpp
M llvm/lib/Passes/CMakeLists.txt
R llvm/lib/Passes/DroppedVariableStats.cpp
Log Message:
-----------
[NFC] Move DroppedVariableStats code to Analysis (#120502)
This is done because the CodeGen library and Passes library both link
against Analysis, to avoid adding a dependency between CodeGen and
Passes if we want to extend the DroppedVariableStats code for MIR stats
as well, as seen in https://github.com/llvm/llvm-project/pull/120501
Commit: 2c3126247873f126be3218425f1d053aa6d5e8e8
https://github.com/llvm/llvm-project/commit/2c3126247873f126be3218425f1d053aa6d5e8e8
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
Log Message:
-----------
[gn build] Port e389492d6a00
Commit: 16bc44a71266e8855dddffa932f82ad184450ba0
https://github.com/llvm/llvm-project/commit/16bc44a71266e8855dddffa932f82ad184450ba0
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Update BPF maintainer (#120429)
Nowadays yonghong-song and eddyz87 are more involved with LLVM
BPF development than 4ast, so update the maintainer list to reflect
this.
Commit: 70f326c4bcb4f45744ff93c12a963ffad28136ef
https://github.com/llvm/llvm-project/commit/70f326c4bcb4f45744ff93c12a963ffad28136ef
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Move Bigcheese to inactive maintainer for Windows object tools (#120425)
Bigcheese isn't actively working on Windows support in object tools
anymore, so move him to the inactive maintainer list. I'm also not
aware of anyone else who is actively involved in this area currently,
so I'm dropping the category entirely for now.
Commit: 881447fe443788f556fbf5462384ee5677d5d7ef
https://github.com/llvm/llvm-project/commit/881447fe443788f556fbf5462384ee5677d5d7ef
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Update maintainers for binary utilities (#120428)
We currently list jakehehrlich as the maintainer for llvm-objcopy /
ObjCopy, but he hasn't been involved with LLVM for more than 5 years.
Convert the llvm-object category into a broader binary utilities
category and add jh7370 and MaskRay as the new maintainers.
Commit: 223c7648468cd4f649a578d3f9cbc27a63523192
https://github.com/llvm/llvm-project/commit/223c7648468cd4f649a578d3f9cbc27a63523192
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/DroppedVariableStats.h
M llvm/include/llvm/CodeGen/MachineFunctionPass.h
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/DroppedVariableStats.cpp
M llvm/lib/CodeGen/MachineFunctionPass.cpp
M llvm/unittests/MIR/CMakeLists.txt
A llvm/unittests/MIR/DroppedVariableStatsMIRTest.cpp
Log Message:
-----------
Add a pass to collect dropped var stats for MIR (#120501)
Reland "Add a pass to collect dropped var stats for MIR" (#117044)
I am trying to reland https://github.com/llvm/llvm-project/pull/115566
I also moved the DroppedVariableStats code to the Analysis lib
This is part of a stack of patches with
https://github.com/llvm/llvm-project/pull/120502 being the first one in
the stack
Commit: 16d952898f2b41e768f7f2bfd867e48a5b7ef976
https://github.com/llvm/llvm-project/commit/16d952898f2b41e768f7f2bfd867e48a5b7ef976
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/DroppedVariableStats.h
M llvm/include/llvm/CodeGen/MachineFunctionPass.h
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/DroppedVariableStats.cpp
M llvm/lib/CodeGen/MachineFunctionPass.cpp
M llvm/unittests/MIR/CMakeLists.txt
R llvm/unittests/MIR/DroppedVariableStatsMIRTest.cpp
Log Message:
-----------
Revert "Add a pass to collect dropped var stats for MIR (#120501)"
This reverts commit 223c7648468cd4f649a578d3f9cbc27a63523192.
Reverted due to vuildbot failure:
flang-aarch64-libcxx
Linking CXX shared library lib/libLLVMAnalysis.so.20.0git
FAILED: lib/libLLVMAnalysis.so.20.0git
Commit: 0f9257b9abab72afdc210412a21c628f2df1a1f0
https://github.com/llvm/llvm-project/commit/0f9257b9abab72afdc210412a21c628f2df1a1f0
Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
A llvm/lib/Target/RISCV/RISCVSchedMIPSP8700.td
A llvm/test/tools/llvm-mca/RISCV/MIPS/p8700.s
Log Message:
-----------
[RISCV] Add scheduling model for mips p8700 CPU (#119885)
Depends on #119882.
Commit: 023fb258b0a8f81b4eb80a8a1c8e1c48a71873de
https://github.com/llvm/llvm-project/commit/023fb258b0a8f81b4eb80a8a1c8e1c48a71873de
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Update ADT/Support maintainers (#120423)
Nominate dwblaikie and kuhar as new maintainers for ADT/Support,
replacing chandlerc.
Commit: 9fa109a5088bff9e8eabf6d67d0650fbd3db27cb
https://github.com/llvm/llvm-project/commit/9fa109a5088bff9e8eabf6d67d0650fbd3db27cb
Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
R llvm/lib/Target/RISCV/RISCVSchedMIPSP8700.td
R llvm/test/tools/llvm-mca/RISCV/MIPS/p8700.s
Log Message:
-----------
Revert "[RISCV] Add scheduling model for mips p8700 CPU" (#120537)
Reverts llvm/llvm-project#119885
llvm-project/llvm/lib/Target/RISCV/RISCVSchedMIPSP8700.td:20:5:
error: Processor does not define resources for WriteFCvtF32ToF16
def MIPSP8700Model : SchedMachineModel {
Commit: e4351f27cdaa6ca80312b6fca5c160d78acd9bb4
https://github.com/llvm/llvm-project/commit/e4351f27cdaa6ca80312b6fca5c160d78acd9bb4
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[TOSA] Don't run validation pass on non TOSA operations (#120205)
This commit ensures the validation pass is not run on operations from
other dialects. In doing so, operations from other dialects that, for
example, use types not supported by TOSA don't result in an error.
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Commit: beea5acc5e7d17a29e48f5dc627019e4db510e23
https://github.com/llvm/llvm-project/commit/beea5acc5e7d17a29e48f5dc627019e4db510e23
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
Reapply "[driver] Fix sanitizer libc++ runtime linking (#120370)" (#120538)
Reland without item 2 from #120370 to avoid breaking libc++ tests.
This reverts commit 60a2f32cf5ce75c9a2511d7fc2b0f24699605912.
Commit: 9fc2fadbfcb34df5f72bdaed28a7874bf584eed7
https://github.com/llvm/llvm-project/commit/9fc2fadbfcb34df5f72bdaed28a7874bf584eed7
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/AST/Expr.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGen/atomic-test-and-set.c
M clang/test/Sema/atomic-ops.c
Log Message:
-----------
[Clang] Re-write codegen for atomic_test_and_set and atomic_clear (#120449)
Re-write the sema and codegen for the atomic_test_and_set and
atomic_clear builtin functions to go via AtomicExpr, like the other
atomic builtins do. This simplifies the code, because AtomicExpr already
handles things like generating code for to dynamically select the memory
ordering, which was duplicated for these builtins. This also fixes a few
crash bugs, one when passing an integer to the pointer argument, and one
when using an array.
This also adds diagnostics for the memory orderings which are not valid
for atomic_clear according to
https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html, which
were missing before.
Fixes #111293.
Commit: 2210da3b823ccf21fc634c858827c9f12c864b51
https://github.com/llvm/llvm-project/commit/2210da3b823ccf21fc634c858827c9f12c864b51
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
Log Message:
-----------
[lldb][AIX] clang-format changes for ProcessLauncherPosixFork.cpp (#120459)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
Added clang-format changes for ProcessLauncherPosixFork.cpp which will
be followed by ptrace changes in:
- https://github.com/llvm/llvm-project/pull/120390
Commit: 9829598933a0b79117891dd733fde5374e59f064
https://github.com/llvm/llvm-project/commit/9829598933a0b79117891dd733fde5374e59f064
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/test/CodeGen/AArch64/sme2-intrinsics-int-dots.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-vdot.ll
Log Message:
-----------
[AArch64][SME2] Extend getRegAllocationHints for ZPRStridedOrContiguousReg (#119865)
ZPR2StridedOrContiguous loads used by a FORM_TRANSPOSED_REG_TUPLE
pseudo should attempt to assign a strided register to avoid unnecessary
copies, even though this may overlap with the list of SVE callee-saved registers.
Commit: 3c661cf03a2b1f669710a93bf73b15c831171888
https://github.com/llvm/llvm-project/commit/3c661cf03a2b1f669710a93bf73b15c831171888
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
M llvm/test/MC/AArch64/arm64-elf-relocs.s
M llvm/test/MC/AArch64/ilp32-diagnostics.s
Log Message:
-----------
[PAC][MC][ELF][AArch64] Support signed TLSDESC (#120010)
Support the following relocations and assembly operators:
- `R_AARCH64_AUTH_TLSDESC_ADR_PAGE21` (`:tlsdesc_auth:` for `adrp`)
- `R_AARCH64_AUTH_TLSDESC_LD64_LO12` (`:tlsdesc_auth_lo12:` for `ldr`)
- `R_AARCH64_AUTH_TLSDESC_ADD_LO12` (`:tlsdesc_auth_lo12:` for `add`)
Commit: 431975b630d475920dfba4f38ac501d521427b34
https://github.com/llvm/llvm-project/commit/431975b630d475920dfba4f38ac501d521427b34
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerShift - directly initialize SmallVector with build vector operands. NFC.
Don't push_back the operands separately.
Commit: 976f877388cec5c8976ebe404e6ee68ff7bd5906
https://github.com/llvm/llvm-project/commit/976f877388cec5c8976ebe404e6ee68ff7bd5906
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] ExtendToType - directly initialize SmallVector with build vector operands. NFC.
Don't push_back the operands separately.
Commit: c616fdc8d0d6598679f667c351b458cb1cf8101b
https://github.com/llvm/llvm-project/commit/c616fdc8d0d6598679f667c351b458cb1cf8101b
Author: Edd Dawson <edd.dawson at sony.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/test/Driver/ps5-linker.c
Log Message:
-----------
[PS5][Driver] Pass user search paths to linker before implict ones (#119875)
Responsibility for setting up implicit library search paths was recently
transferred to the PS5 driver (llvm#109796). Prior to this, SIE private
patches in lld performed this function. During the transition, I failed
to maintain the order in which implicit and user-supplied search paths
were supplied/considered. This change ensures user-supplied search paths
appear before any implicit ones on the link line.
SIE tracker: TOOLCHAIN-17490
Commit: 10d84a86e54cfd0dcd3412e415edeb36b3f622c3
https://github.com/llvm/llvm-project/commit/10d84a86e54cfd0dcd3412e415edeb36b3f622c3
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
Log Message:
-----------
[bazel] port 79e859e049c77b5190a54fc1ecf1d262e3ef9f11
Commit: cffe22a93726a64e6a205b5dcd1c306a62488412
https://github.com/llvm/llvm-project/commit/cffe22a93726a64e6a205b5dcd1c306a62488412
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
R llvm/include/llvm/Analysis/DroppedVariableStats.h
A llvm/include/llvm/Passes/DroppedVariableStats.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/Analysis/CMakeLists.txt
R llvm/lib/Analysis/DroppedVariableStats.cpp
M llvm/lib/Passes/CMakeLists.txt
A llvm/lib/Passes/DroppedVariableStats.cpp
Log Message:
-----------
Revert "[NFC] Move DroppedVariableStats code to Analysis (#120502)"
that introduces a circular dependency of analysis -> codegen -> target
This reverts commit e389492d6a00e1c49a034e13343098541ebd03c6.
Commit: a3bb2d675f2cf0409b681273719b5e064a2c137f
https://github.com/llvm/llvm-project/commit/a3bb2d675f2cf0409b681273719b5e064a2c137f
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
Log Message:
-----------
[gn build] Port cffe22a93726
Commit: c18fda02e1c5dd68ce65b8505d3976f0d5714d52
https://github.com/llvm/llvm-project/commit/c18fda02e1c5dd68ce65b8505d3976f0d5714d52
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
Log Message:
-----------
[LoopVectorize] Use new single string variant of reportVectorizationFailure (#120414)
Commit: eaf482f01252a0276a6b422dabe810a1abc7e168
https://github.com/llvm/llvm-project/commit/eaf482f01252a0276a6b422dabe810a1abc7e168
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/sve-cast.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/AArch64/sve-trunc.ll
Log Message:
-----------
[AArch64] Tweak truncate costs for some scalable vector types (#119542)
== We were previously returning an invalid cost when truncating
anything to <vscale x 2 x i1>, which is incorrect since we can
generate perfectly good code for this.
== The costs for truncating legal or unpacked types to predicates
seemed overly optimistic. For example, when truncating
<vscale x 8 x i16> to <vscale x 8 x i1> we typically do
something like
and z0.h, z0.h, #0x1
cmpne p0.h, p0/z, z0.h, #0
I guess it might depend upon whether the input value is
generated in the same block or not and if we can avoid the
inreg zero-extend. However, it feels safe to take the more
conservative cost here.
== The costs for some truncates such as
trunc <vscale x 2 x i32> %a to <vscale x 2 x i16>
were 1, whereas in actual fact they are free and no instructions
are required.
== Also, for this
trunc <vscale x 8 x i32> %a to <vscale x 8 x i16>
it's just a single uzp1 instruction so I reduced the cost to 1.
In general, I've added costs for all cases where the destination
type is legal or unpacked. One unfortunate side effect of this
is the costs for some fixed-width truncates when using SVE now
look too optimistic.
Commit: e020f460275aab9053d9e090d0b777b40da14a81
https://github.com/llvm/llvm-project/commit/e020f460275aab9053d9e090d0b777b40da14a81
Author: David Green <david.green at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
A llvm/test/CodeGen/Thumb2/bf16-instructions.ll
Log Message:
-----------
[ARM] Fix BF16 lowering with FullFP16
This adds test coverage for bf16 instructions, making sure that lowering bf16
works with and without +fullfp16.
Commit: ecdc5289afec1af98640b6375a52aaf448fe7388
https://github.com/llvm/llvm-project/commit/ecdc5289afec1af98640b6375a52aaf448fe7388
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-vararg.cpp
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaChecking.cpp
A clang/test/Sema/builtin-assume-aligned-downgrade.c
M clang/test/Sema/builtin-assume-aligned.c
Log Message:
-----------
[Clang] Fix crash in __builtin_assume_aligned (#114217)
The CodeGen for __builtin_assume_aligned assumes that the first argument
is a pointer, so crashes if the int-conversion error is downgraded or
disabled. Emit a non-downgradable error if the argument is not a
pointer, like we currently do for __builtin_launder.
Fixes #110914.
Commit: 30f386cb4d43d0bd8f57c49f68f71defd7dcf968
https://github.com/llvm/llvm-project/commit/30f386cb4d43d0bd8f57c49f68f71defd7dcf968
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/MC/AArch64/SVE/bfcvtnt-diagnostics.s
M llvm/test/MC/AArch64/SVE/bfcvtnt.s
Log Message:
-----------
[AArch64] Fixup destructive floating-point precision conversions (#118788)
This patch changes the zeroing forms of `FCVTXNT`, `FCVTNT`, and
`BFCVTNT` such that their destination operand is also listed as a dag
input. These narrowing down-conversions leave the even elements of the
destination vector unchanged, regardless of the predicate type.
This patch also makes the merging form of `BFCVTNT` non-movprfx'able.
- `FCVTXNT` - [Arm
Developer](https://developer.arm.com/documentation/ddi0602/2024-09/SVE-Instructions/FCVTXNT--Floating-point-down-convert--rounding-to-odd--top--predicated--?lang=en)
- `FCVTNT` - [Arm
Developer](https://developer.arm.com/documentation/ddi0602/2024-09/SVE-Instructions/FCVTNT--predicated---Floating-point-down-convert-and-narrow--top--predicated--?lang=en)
- `BFCVTNT` - [Arm
Developer](https://developer.arm.com/documentation/ddi0602/2024-09/SVE-Instructions/BFCVTNT--Floating-point-down-convert-and-narrow-to-BFloat16--top--predicated--?lang=en)
Commit: 5a3f1acad7e8ce0e8cb90165794dce71f4b80bcd
https://github.com/llvm/llvm-project/commit/5a3f1acad7e8ce0e8cb90165794dce71f4b80bcd
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/AsmParser/LLParser.cpp
Log Message:
-----------
[LLParser] Remove redundant code (NFC) (#120478)
Commit: 5fb8d70e5f1c5d26bfa6ca9034863c10f3d8669d
https://github.com/llvm/llvm-project/commit/5fb8d70e5f1c5d26bfa6ca9034863c10f3d8669d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
Log Message:
-----------
ARM: Handle vldrh and vstrh in stack access hooks (#120527)
Commit: 056e5eccaf440e9127990f9fba1e5cacac399a14
https://github.com/llvm/llvm-project/commit/056e5eccaf440e9127990f9fba1e5cacac399a14
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
Log Message:
-----------
[AMDGPU] Remove unneeded use of !dag. NFC. (#120546)
Commit: b41240be6b9e58687011b2bd1b942c6625cbb5ad
https://github.com/llvm/llvm-project/commit/b41240be6b9e58687011b2bd1b942c6625cbb5ad
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
A clang/include/clang/StaticAnalyzer/Core/PathSensitive/APSIntPtr.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
M clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
Log Message:
-----------
[analyzer][NFC] Introduce APSIntPtr, a safe wrapper of APSInt (1/4) (#120435)
One could create dangling APSInt references in various ways in the past, that were sometimes assumed to be persisted in the BasicValueFactor.
One should always use BasicValueFactory to create persistent APSInts, that could be used by ConcreteInts or SymIntExprs and similar long-living objects.
If one used a temporary or local variables for this, these would dangle.
To enforce the contract of the analyzer BasicValueFactory and the uses of APSInts, let's have a dedicated strong-type for this.
The idea is that APSIntPtr is always owned by the BasicValueFactory, and that is the only component that can construct it.
These PRs are all NFC - besides fixing dangling APSInt references.
Commit: 060d62b48aeb5080ffcae1dc56e41a06c6f56701
https://github.com/llvm/llvm-project/commit/060d62b48aeb5080ffcae1dc56e41a06c6f56701
Author: Nicholas Guy <nicholas.guy at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
A llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
Log Message:
-----------
[LoopVectorizer] Add support for partial reductions (#92418)
Following on from https://github.com/llvm/llvm-project/pull/94499, this
patch adds support to the Loop Vectorizer to emit the partial reduction
intrinsics where they may be beneficial for the target.
---------
Co-authored-by: Samuel Tebbs <samuel.tebbs at arm.com>
Commit: d0d5101f9959013e42f6f07d79d0fe638aaa0aa3
https://github.com/llvm/llvm-project/commit/d0d5101f9959013e42f6f07d79d0fe638aaa0aa3
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
M clang/lib/StaticAnalyzer/Checkers/BitwiseShiftChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CheckPlacementNew.cpp
M clang/lib/StaticAnalyzer/Checkers/Iterator.cpp
M clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/SVals.cpp
M clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp
M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
Log Message:
-----------
[analyzer][NFC] Migrate nonloc::ConcreteInt to use APSIntPtr (2/4) (#120436)
Commit: 13e20bcb98e57831d46162b9ba42a78d85e8283d
https://github.com/llvm/llvm-project/commit/13e20bcb98e57831d46162b9ba42a78d85e8283d
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/SVals.cpp
M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
Log Message:
-----------
[analyzer][NFC] Migrate loc::ConcreteInt to use APSIntPtr (3/4) (#120437)
Commit: 23377890d022eb1fa9cb42eba5c4f72a1f8ac38d
https://github.com/llvm/llvm-project/commit/23377890d022eb1fa9cb42eba5c4f72a1f8ac38d
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
Log Message:
-----------
[analyzer][NFC] Migrate {SymInt,IntSym}Expr to use APSIntPtr (4/4) (#120438)
Commit: eace8269d9aeb67013d273735ec1be1002a6fac1
https://github.com/llvm/llvm-project/commit/eace8269d9aeb67013d273735ec1be1002a6fac1
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/Sema/CheckExprLifetime.cpp
Log Message:
-----------
[clang] NFC, simplify the shouldLifetimeExtendThroughPath.
Commit: 6586c676b42aa9c7e78f9b1d419767a02793a70f
https://github.com/llvm/llvm-project/commit/6586c676b42aa9c7e78f9b1d419767a02793a70f
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Sema/SemaDecl.cpp
A clang/test/CodeGen/AArch64/fmv-mix-explicit-implicit-default.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGenCXX/fmv-namespace.cpp
M clang/test/Sema/attr-target-version.c
M clang/test/SemaCXX/attr-target-version.cpp
Log Message:
-----------
[FMV][AArch64] Emit mangled default version if explicitly specified. (#120022)
Currently we need at least one more version other than the default to
trigger FMV. However we would like a header file declaration
__attribute__((target_version("default"))) void f(void);
to guarantee that there will be f.default
Commit: eb812d28f542bf0de54c157a7391e446739570cc
https://github.com/llvm/llvm-project/commit/eb812d28f542bf0de54c157a7391e446739570cc
Author: Feng Zou <feng.zou at intel.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86RegisterInfo.td
M llvm/test/CodeGen/X86/apx/mul-i1024.ll
Log Message:
-----------
[X86] Put R20/R21/R28/R29 later in GR64 list (#120510)
Because these registers require an extra byte to encode in certain
memory form. Putting them later in the list will reduce code size when
EGPR is enabled. And align the same order in GR8, GR16 and GR32 lists.
Example:
movq (%r20), %r11 # encoding: [0xd5,0x1c,0x8b,0x1c,0x24]
movq (%r22), %r11 # encoding: [0xd5,0x1c,0x8b,0x1e]
Commit: 89da344e5879e5347b5057520d5230e40ae24831
https://github.com/llvm/llvm-project/commit/89da344e5879e5347b5057520d5230e40ae24831
Author: Vinay Deshmukh <32487576+vinay-deshmukh at users.noreply.github.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/include/clang/AST/AttrIterator.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/lib/Analysis/CFG.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
A clang/test/Analysis/cxx23-assume-attribute.cpp
M clang/test/Analysis/out-of-bounds-new.cpp
Log Message:
-----------
[analyzer] Handle [[assume(cond)]] as __builtin_assume(cond) (#116462)
Resolves #100762
Gist of the change:
1. All the symbol analysis, constraint manager and expression parsing
logic was already present, but the previous code didn't "visit" the
expressions within `assume()` by parsing those expressions, all of the
code "just works" by evaluating the SVals, and hence leaning on the same
logic that makes the code with `__builtin_assume` work
2. "Ignore" an expression from adding in CFG if it has side-effects (
similar to CGStmt.cpp (todo add link))
3. Add additional test case for ternary operator handling and modify
CFG.cpp's VisitGuardedExpr code for `continue`-ing if the `ProgramPoint`
is a `StmtPoint`
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: 9bb1d0369c064d50c5f0f7ed6313289c8a42d14f
https://github.com/llvm/llvm-project/commit/9bb1d0369c064d50c5f0f7ed6313289c8a42d14f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/reduction.ll
Log Message:
-----------
[X86] getShuffleCost - when splitting shuffles, if a whole vector source is just copied we should treat this as free. (#120561)
If the shuffle split results in referencing a single legalised whole vector (i.e. no permutation), then this can be treated as free.
We already do something similar for broadcasts / whole subvector insertion + extraction - its purely an issue for register allocation.
Commit: ca98a3d9bbc254cbb7f028866a7d2077b7994ee8
https://github.com/llvm/llvm-project/commit/ca98a3d9bbc254cbb7f028866a7d2077b7994ee8
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/sve-streaming-mode-cvt-fp-int-fp.ll
A llvm/test/CodeGen/AArch64/sve-streaming-mode-cvt-fp-to-int.ll
A llvm/test/CodeGen/AArch64/sve-streaming-mode-cvt-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
Log Message:
-----------
[AArch64][SVE] Use SVE for scalar FP converts in streaming[-compatible] functions (1/n) (#118505)
In streaming[-compatible] functions, use SVE for scalar FP conversions
to/from integer types. This can help avoid moves between FPRs and GRPs,
which could be costly.
This patch also updates definitions of SCVTF_ZPmZ_StoD and
UCVTF_ZPmZ_StoD to disallow lowering to them from ISD nodes, as doing so
requires creating a [U|S]INT_TO_FP_MERGE_PASSTHRU node with inconsistent
types.
Follow up to #112213.
Note: This PR does not include support for f64 <-> i32 conversions (like
#112564), which needs a bit more work to support.
Commit: 32220601247896f508ccfde614f5ba6afc85b27d
https://github.com/llvm/llvm-project/commit/32220601247896f508ccfde614f5ba6afc85b27d
Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
A llvm/lib/Target/RISCV/RISCVSchedMIPSP8700.td
A llvm/test/tools/llvm-mca/RISCV/MIPS/p8700.s
Log Message:
-----------
Reland "[RISCV] Add scheduling model for mips p8700 CPU" (#120550)
This patch introduces a scheduling model for the MIPS p8700, an
out-of-order
RISC-V processor. The model includes pipelines for the following units:
- 2 Integer Arithmetic/Logical Units (ALU and AL2)
- Multiply/Divide Unit (MDU)
- Branch Unit (CTI)
- Load/Store Unit (LSU)
- Short Floating-Point Pipe (FPUS)
- Long Floating-Point Pipe (FPUL)
For additional details, refer to the official product page:
https://mips.com/products/hardware/p8700/.
Also adds `UnsupportedSchedZfhmin` to handle cases like
`WriteFCvtF16ToF32` that
previously caused build failures.
Commit: db84ae3a68173fc561acb79adb6c557cb73ad938
https://github.com/llvm/llvm-project/commit/db84ae3a68173fc561acb79adb6c557cb73ad938
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_store.c
M clang/utils/TableGen/SveEmitter.cpp
Log Message:
-----------
[Clang][AArch64] Add signed index/offset variants of sve2p1 qword stores (#120549)
This patch adds signed offset/index variants to the SVE2p1 quadword
store intrinsics, in accordance with
https://github.com/ARM-software/acle/pull/359.
Commit: eba7690d2b94ebe7fcf3e8ceecd4486f328de035
https://github.com/llvm/llvm-project/commit/eba7690d2b94ebe7fcf3e8ceecd4486f328de035
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M lldb/include/lldb/Host/HostGetOpt.h
M lldb/include/lldb/Host/common/GetOptInc.h
Log Message:
-----------
[lldb][AIX] GetOpt support in AIX (#120574)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
Adding changes for minimal build for lldb binary on AIX.
getopt.h is missing in AIX, so instead relying on LLDB's getopt
functions.
Commit: 0745add7f458e0a65e048f8c74933bdb48ae97d9
https://github.com/llvm/llvm-project/commit/0745add7f458e0a65e048f8c74933bdb48ae97d9
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M mlir/lib/Dialect/GPU/Pipelines/GPUToNVVMPipeline.cpp
Log Message:
-----------
[mlir][GPU] Do not strip location info when lowering to NVVM (#120432)
This is needed for a subsequent commit that reads location information
when lowering `gpu.assert`.
Commit: 9469fd24b9a377947ed7726aee671a6095d44e44
https://github.com/llvm/llvm-project/commit/9469fd24b9a377947ed7726aee671a6095d44e44
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_st1_single.c
Log Message:
-----------
[Clang][AArch64] Remove const from base pointers in sve2p1 stores (#120551)
This patch removes the const qualifier from the base pointer argument of
`svst1wq`/`svst1wq_vnum` and `svst1dq`/`svst1dq_vnum`, in accordance
with https://github.com/ARM-software/acle/pull/359.
Commit: 94837c8b5761d20310947be5d2e1e568f67e8c0c
https://github.com/llvm/llvm-project/commit/94837c8b5761d20310947be5d2e1e568f67e8c0c
Author: Tim Creech <timothy.m.creech at intel.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
Log Message:
-----------
Add llvm-profgen to the list of toolchain tools (#120106)
This tool is used for SPGO and is invoked directly by users as described
in the Clang User's Manual[^1].
This change will include llvm-profgen in installations configured with
LLVM_INSTALL_TOOLCHAIN_ONLY, such as those provided by LLVM's executable
Windows installers. This is useful now that LLVM can perform SPGO on
Windows.
[^1]:
https://clang.llvm.org/docs/UsersManual.html#using-sampling-profilers
Commit: 6f8afafd308d37d9abc4af0801dd5a4451c13718
https://github.com/llvm/llvm-project/commit/6f8afafd308d37d9abc4af0801dd5a4451c13718
Author: Veera <32646674+veera-sivarajan at users.noreply.github.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
A llvm/test/Transforms/InstCombine/select-with-extreme-eq-cond.ll
Log Message:
-----------
[InstCombine] Fold `A == MIN_INT ? B != MIN_INT : A < B` to `A < B` (#120177)
This PR folds:
`A == MIN_INT ? B != MIN_INT : A < B` to `A < B`
`A == MAX_INT ? B != MAX_INT : A > B` to `A > B`
Proof: https://alive2.llvm.org/ce/z/bR6E2s
This helps in optimizing comparison of optional unsigned non-zero types
in https://github.com/rust-lang/rust/issues/49892.
Rust compiler's current output: https://rust.godbolt.org/z/9fxfq3Gn8
Commit: 1f2d934525833c4aae5f0436fd99551c776fd246
https://github.com/llvm/llvm-project/commit/1f2d934525833c4aae5f0436fd99551c776fd246
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.h
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Support pointers in __builtin_mem{move,cpy} (#120560)
Unfortunately, that means we can't use the __builtin_bit_cast
implementation for this.
Commit: a161e73fcc957860afe1ff603d3ed77ea0311cc3
https://github.com/llvm/llvm-project/commit/a161e73fcc957860afe1ff603d3ed77ea0311cc3
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
Log Message:
-----------
[AMDGPU] Remove unnecessary casts to GCNSubtarget
Commit: 310e79875752886a7713911e2a1ec14bc75bd4b3
https://github.com/llvm/llvm-project/commit/310e79875752886a7713911e2a1ec14bc75bd4b3
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/atomics-sm70.ll
M llvm/test/CodeGen/NVPTX/atomics-sm90.ll
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/chain-different-as.ll
M llvm/test/CodeGen/NVPTX/cmpxchg.ll
M llvm/test/CodeGen/NVPTX/compute-ptx-value-vts.ll
M llvm/test/CodeGen/NVPTX/demote-vars.ll
M llvm/test/CodeGen/NVPTX/extractelement.ll
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/fma-relu-contract.ll
M llvm/test/CodeGen/NVPTX/fma-relu-fma-intrinsic.ll
M llvm/test/CodeGen/NVPTX/fma-relu-instruction-flag.ll
M llvm/test/CodeGen/NVPTX/i1-load-lower.ll
M llvm/test/CodeGen/NVPTX/i128.ll
M llvm/test/CodeGen/NVPTX/i16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test1.ll
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test2.ll
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test3.ll
M llvm/test/CodeGen/NVPTX/math-intrins.ll
M llvm/test/CodeGen/NVPTX/misched_func_call.ll
M llvm/test/CodeGen/NVPTX/pr13291-i1-store.ll
M llvm/test/CodeGen/NVPTX/reg-types.ll
M llvm/test/CodeGen/NVPTX/unfold-masked-merge-vector-variablemask.ll
M llvm/test/CodeGen/NVPTX/vaargs.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
M llvm/test/CodeGen/NVPTX/vector-returns.ll
Log Message:
-----------
[NVPTX] Avoid introducing unnecessary ProxyRegs and Movs in ISel (#120486)
Avoid introducing `ProxyReg` and `MOV` nodes during ISel when lowering
`bitconvert` or similar operations. These nodes are all erased by a
later pass but not introducing them in the first place is simpler and
likely saves compile time.
Also remove redundant `MOV` instruction definitions.
Commit: b0a4b5b35ab1951d0a4fa95ff58d96e902aa8b1e
https://github.com/llvm/llvm-project/commit/b0a4b5b35ab1951d0a4fa95ff58d96e902aa8b1e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#120532)
Commit: d56edc14d8f7e6f0a43f488ef8c2457e1c0cad91
https://github.com/llvm/llvm-project/commit/d56edc14d8f7e6f0a43f488ef8c2457e1c0cad91
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
Log Message:
-----------
[libc++] Bump the Docker image used in the CI (#120248)
This switches to using a slightly newer CMake version in our CI.
Commit: cc246d4a29a0ece8470d2baa1f98245446051fe3
https://github.com/llvm/llvm-project/commit/cc246d4a29a0ece8470d2baa1f98245446051fe3
Author: Abhay Kanhere <abhay at kanhere.net>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
A llvm/test/Transforms/HotColdSplit/outline-inner-region-stacktoocomplex.ll
Log Message:
-----------
[Transforms][CodeExtraction] bug fix regions with stackrestore (#118564)
Ensure code extraction for outlining to a function does not create a function with stacksave of caller to restore stack (e.g. tail call).
Commit: 4039a79de71bd969ef5bf944fd9f46430338ff7e
https://github.com/llvm/llvm-project/commit/4039a79de71bd969ef5bf944fd9f46430338ff7e
Author: Peng Liu <winner245 at hotmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
A libcxx/test/std/containers/sequences/vector.bool/assign_iter_iter.pass.cpp
A libcxx/test/std/containers/sequences/vector.bool/assign_size_value.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/assign_iter_iter.pass.cpp
Log Message:
-----------
[libc++][test] Improve tests for assign in std::vector and vector<bool> (#119163)
This PR enhances the test coverage for std::vector::assign by adding new
tests for several important test cases that were previously missing, as
shown in the following table:
| test cases | forward_iterator | input_iterator |
|-----------------------------------|------------------|----------------|
| new_size > capacity() | Yes | Yes |
| size() < new_size <= capacity() | No | No |
| new_size <= size() | No | No |
Similarly, no tests have previously covered `assign(InputIterator, InputIterator)`
and `assign(size_type, const value_type&)` for `vector<bool>`.
With this patch applied, all missing tests are covered.
Commit: 2b6713d3b87d6e0bf562cf10ef620a12328c4106
https://github.com/llvm/llvm-project/commit/2b6713d3b87d6e0bf562cf10ef620a12328c4106
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M lld/COFF/InputFiles.cpp
M lld/test/COFF/start-lib.ll
Log Message:
-----------
[lld/coff] Fix assert on /start-lib foo.obj /end-lib during eager loads (#120292)
If foo.obj is eagerly loaded (due to a prior undef referencing one if
its symbols) and has more than one symbol, we used to assert:
SymbolTable::addLazyObject() for the first symbol would set `lazy` to
false and load all symbols from the file, but the outer
ObjFile::parseLazy() loop would continue to run and call addLazyObject()
for the second symbol, which would assert.
Instead, just stop adding lazy symbols if the file got loaded for real
while adding a symbol.
(The ELF port has a similar early exit in `ObjFile<ELFT>::parseLazy()`.)
Commit: b05071de89e9c26ef8b3f7ab2ff6a56241b54ea8
https://github.com/llvm/llvm-project/commit/b05071de89e9c26ef8b3f7ab2ff6a56241b54ea8
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
A lld/test/ELF/Inputs/eager.s
A lld/test/ELF/lto/Inputs/eager.ll
M lld/test/ELF/lto/start-lib.ll
M lld/test/ELF/start-lib.s
Log Message:
-----------
[lld/ELF] Add tests for start-lib / end-lib with eager loads (#120294)
Contains tests for the scenarios fixed in lld/COFF in #120292. They pass
without code changes, but I didn't see existing tests for this.
Commit: f8bcd93224283291534d75a61cc7e5d8fbf0d311
https://github.com/llvm/llvm-project/commit/f8bcd93224283291534d75a61cc7e5d8fbf0d311
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M lld/COFF/SymbolTable.cpp
M lld/test/COFF/start-lib.ll
Log Message:
-----------
[lld/COFF] Fix -start-lib / -end-lib after reviews.llvm.org/D116434 (#120452)
That change forgot to set `lazy` to false before calling `addFile()` in
`forceLazy()` which caused `addFile()` to parse the file we want to
force a load for to be added as a lazy object again instead of adding
the file to `ctx.objFileInstances`.
This is caught by a pretty simple test (included).
Commit: e6b24955455d74ee748d1e9986d67de6d40ed22e
https://github.com/llvm/llvm-project/commit/e6b24955455d74ee748d1e9986d67de6d40ed22e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[SelectionDAG] Split SDNode::use_iterator into user_iterator and use_iterator. (#120531)
SDNode::use_iterator now returns an SDUse& when dereferenced.
SDNode::user_iterator returns SDNode*. SDNode::use_begin/use_end/uses
work on use_iterator. SDNode::user_begin/user_end/users work on
user_iterator.
We can now write range based for loops using SDUse& and SDNode::uses().
I've converted many of these in this patch. I didn't update loops that
have additional variables updated in their for statement.
Some loops use SDNode::use_iterator::getOperandNo() which also prevents
using range based for loops. I plan to move this into SDUse in a follow
up patch.
Commit: fafdf97047b1d9622ffbb59919d2422e062882f2
https://github.com/llvm/llvm-project/commit/fafdf97047b1d9622ffbb59919d2422e062882f2
Author: Peng Liu <winner245 at hotmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M libcxx/include/__vector/vector_bool.h
A libcxx/test/std/containers/sequences/vector.bool/flip.pass.cpp
Log Message:
-----------
[libc++] Simplify vector<bool>::flip() and add new tests (#119607)
This PR simplifies the internal bitwise logic of the `flip()` function
for `vector<bool>`, and creates new tests to validate the changes.
Commit: 145ddf7ede28d9131a65b7f86ad07736a824ee21
https://github.com/llvm/llvm-project/commit/145ddf7ede28d9131a65b7f86ad07736a824ee21
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/M68k/M68kISelLowering.cpp
Log Message:
-----------
[M68k] Fix build after splitting SDNode::use_iterator.
Commit: 527595f92789f9701a4b91ab32b792034352f78d
https://github.com/llvm/llvm-project/commit/527595f92789f9701a4b91ab32b792034352f78d
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M lldb/test/API/macosx/lc-note/firmware-corefile/create-empty-corefile.cpp
Log Message:
-----------
[lldb][Mach-O] Initialize cputype/cpusubtype in test corefiles (#120518)
TestFirmwareCorefiles.py has a helper utility,
create-empty-corefile.cpp, which creates corefiles with different
metadata to specify the binary that should be loaded. It normally uses
an actual binary's UUID for the metadata, and it uses the binary's
cputype/cpusubtype for the corefile's mach header.
There is one test where it creates a corefile with metadata for a UUID
that cannot be found -- it is given no binary -- and in that case, the
cputype/cpusubtype it sets in the core file mach header was
uninitialized data. Through luck, on Darwin systems, the uninitialized
data typically matched a CPU_TYPE from machine.h and the test would
work. But when the value doens't match one of thoes defines, lldb would
reject the corefile entirely, and the test would fail. This has been an
infrequent failure on the CI bots for a while and I couldn't ever repo
it. There's a recent configuration where it was happening every time and
I was able to track it down.
rdar://141727563
Commit: 2b9abf0db2d106c7208b4372e662ef5df869e6f1
https://github.com/llvm/llvm-project/commit/2b9abf0db2d106c7208b4372e662ef5df869e6f1
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/include/clang/AST/AttrIterator.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/lib/Analysis/CFG.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
R clang/test/Analysis/cxx23-assume-attribute.cpp
M clang/test/Analysis/out-of-bounds-new.cpp
Log Message:
-----------
Revert "[analyzer] Handle [[assume(cond)]] as __builtin_assume(cond) (#116462)"
This reverts commit 89da344e5879e5347b5057520d5230e40ae24831.
Reason: buildbot breakages e.g., https://lab.llvm.org/buildbot/#/builders/55/builds/4556 (for which the reverted patch is the only code change)
Commit: f139bde8d85e4f7666f2fd739b61894fa58f2f18
https://github.com/llvm/llvm-project/commit/f139bde8d85e4f7666f2fd739b61894fa58f2f18
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[SelectionDAG] Move SDNode::use_iterator::getOperandNo to SDUse. (#120536)
This allows us to write more range based for loops because we no
longer need the iterator. It also matches IR's Use class.
Commit: 4044886c7c6f75a6d7d0205f8a33d9f404f7832f
https://github.com/llvm/llvm-project/commit/4044886c7c6f75a6d7d0205f8a33d9f404f7832f
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
Log Message:
-----------
Revert "[AMDGPU][True16][MC] true16 for v_minmax/maxmin_f16 (#119586)" (#120594)
This reverts commit e0526b0780f56eede09b05a859a93626ecdc6e4d.
The `v_minmax/maxmin_f16`(GFX11) needs to be updated to t16 with
`v_minmax/maxmin_num_f16`(GFX12) together since they share the same
codegen pattern. Revert the old patch and resubmit
Commit: c2dd61279764c9e525b73d37dae58ed77b773b1d
https://github.com/llvm/llvm-project/commit/c2dd61279764c9e525b73d37dae58ed77b773b1d
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M lld/test/COFF/thin-archive.s
M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
M llvm/lib/ToolDrivers/llvm-lib/Options.td
Log Message:
-----------
[llvm-lib] Add /llvmlibindex:no to disable writing an index (#120596)
This can be used with /llvmlibthin to create thin archives without an
index, which is a prerequisite for porting
https://reviews.llvm.org/D117284 to lld-link.
Creating files like this is already possible with `llvm-ar rcS`, so this
doesn't add additional problems.
Commit: 434819c35f4e0168248a30677077fe7c8c8ab29c
https://github.com/llvm/llvm-project/commit/434819c35f4e0168248a30677077fe7c8c8ab29c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
A llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
Log Message:
-----------
[PhaseOrdering][X86] Add test coverage for #34072
Add tests for horizontal add patterns with missing/undemanded elements - which typically prevents folding to the (add (shuffle a, b),(shuffle a, b)) optimal pattern
Commit: 01b96385fd8760d1fc79c35d1f980c9b64d03599
https://github.com/llvm/llvm-project/commit/01b96385fd8760d1fc79c35d1f980c9b64d03599
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
Log Message:
-----------
[RISCV][test] Add zbb-logic-neg-imm.ll
Commit: 254ba78495100d9f20c4fa9802395f11c6d3cef1
https://github.com/llvm/llvm-project/commit/254ba78495100d9f20c4fa9802395f11c6d3cef1
Author: MagentaTreehouse <99200384+MagentaTreehouse at users.noreply.github.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/Support/GenericDomTree.h
Log Message:
-----------
[GenericDomTree][NFC] Remove unnecessary `const_cast`s (#97638)
Commit: 46e782300765eeac8026377bf30d5f08888c2b25
https://github.com/llvm/llvm-project/commit/46e782300765eeac8026377bf30d5f08888c2b25
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M lldb/source/Plugins/Architecture/AArch64/ArchitectureAArch64.cpp
M lldb/test/API/commands/register/register/register_command/TestRegisters.py
A lldb/test/API/macosx/sme-registers/Makefile
A lldb/test/API/macosx/sme-registers/TestSMERegistersDarwin.py
A lldb/test/API/macosx/sme-registers/main.c
M lldb/tools/debugserver/source/DNBDefs.h
M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
M lldb/tools/debugserver/source/MacOSX/MachThread.cpp
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.h
A lldb/tools/debugserver/source/MacOSX/arm64/sme_thread_status.h
M lldb/tools/debugserver/source/RNBRemote.cpp
Log Message:
-----------
[lldb][debugserver] Read/write SME registers on arm64 (#119171)
**Note:** The register reading and writing depends on new register
flavor support in thread_get_state/thread_set_state in the kernel, which
will be first available in macOS 15.4.
The Apple M4 line of cores includes the Scalable Matrix Extension (SME)
feature. The M4s do not implement Scalable Vector Extension (SVE),
although the processor is in Streaming SVE Mode when the SME is being
used. The most obvious side effects of being in SSVE Mode are that (on
the M4 cores) NEON instructions cannot be used, and watchpoints may get
false positives, the address comparisons are done at a lowered
granularity.
When SSVE mode is enabled, the kernel will provide the Streaming Vector
Length register, which is a maximum of 64 bytes with the M4. Also
provided are SVCR (with bits indicating if SSVE mode and SME mode are
enabled), TPIDR2, SVL. Then the SVE registers Z0..31 (SVL bytes long),
P0..15 (SVL/8 bytes), the ZA matrix register (SVL*SVL bytes), and the M4
supports SME2, so the ZT0 register (64 bytes).
When SSVE/SME are disabled, none of these registers are provided by the
kernel - reads and writes of them will fail.
Unlike Linux, lldb cannot modify the SVL through a thread_set_state
call, or change the processor state's SSVE/SME status. There is also no
way for a process to request a lowered SVL size today, so the work that
David did to handle VL/SVL changing while stepping through a process is
not an issue on Darwin today. But debugserver should be providing
everything necessary so we can reuse all of David's work on resizing the
register contexts in lldb if it happens in the future. debugbserver
sends svl, svcr, and tpidr2 in the expedited registers when a thread
stops, if SSVE|SME mode are enabled (if the kernel allows it to read the
ARM_SME_STATE register set).
While the maximum SVL is 64 bytes on M4, the AArch64 maximum possible
SVL is 256; this would give us a 64k ZA register. If debugserver sized
all of its register contexts assuming the largest possible SVL, we could
easily use 2MB more memory for the register contexts of all threads in a
process -- and on iOS et al, processes must run within a small memory
allotment and this would push us over that.
Much of the work in debugserver was changing the arm64 register context
from being a static compile-time array of register sets, to being
initialized at runtime if debugserver is running on a machine with SME.
The ZA is only created to the machine's actual maximum SVL. The size of
the 32 SVE Z registers is less significant so I am statically allocating
those to the architecturally largest possible SVL value today.
Also, debugserver includes information about registers that share the
same part of the register file. e.g. S0 and D0 are the lower parts of
the NEON 128-bit V0 register. And when running on an SME machine, v0 is
the lower 128 bits of the SVE Z0 register. So the register maps used
when defining the VFP registers must differ depending on the
capabilities of the cpu at runtime.
I also changed register reading in debugserver, where formerly when
debugserver was asked to read a register, and the thread_get_state read
of that register failed, it would return all zero's. This is necessary
when constructing a `g` packet that gets all registers - because there
is no separation between register bytes, the offsets are fixed. But when
we are asking for a single register (e.g. Z0) when not in SSVE/SME mode,
this should return an error.
This does mean that when you're running on an SME capabable machine, but
not in SME mode, and do `register read -a`, lldb will report that 48 SVE
registers were unavailable and 5 SME registers were unavailable. But
that's only when `-a` is used.
The register reading and writing depends on new register flavor support
in thread_get_state/thread_set_state in the kernel, which is not yet in
a release. The test case I wrote is skipped on current OSes. I pilfered
the SME register setup from some of David's existing SME test files;
there were a few Linux specific details in those tests that they weren't
easy to reuse on Darwin.
rdar://121608074
Commit: a03343daa6e7a44531e06c8897d6c6d4a46cd430
https://github.com/llvm/llvm-project/commit/a03343daa6e7a44531e06c8897d6c6d4a46cd430
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
R llvm/test/Transforms/PGOProfile/Inputs/memprof_missing_leaf.exe
R llvm/test/Transforms/PGOProfile/Inputs/memprof_missing_leaf.memprofraw
M llvm/test/Transforms/PGOProfile/Inputs/update_memprof_inputs.sh
M llvm/test/Transforms/PGOProfile/memprof_missing_leaf.ll
Log Message:
-----------
[memprof] YAMLify the profile for memprof_missing_leaf.ll (NFC) (#120488)
This patch converts the profile for memprof_missing_leaf.ll to the
recently introduced YAML-based text format.
Commit: e504ece6c15fa5b347a4d8ff7e6fc98ee109660e
https://github.com/llvm/llvm-project/commit/e504ece6c15fa5b347a4d8ff7e6fc98ee109660e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
Log Message:
-----------
[LLVMIR] Migrate away from PointerUnion::{is,get} (NFC) (#120530)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: 37100505664a4c451eb530bc899de204adb80a13
https://github.com/llvm/llvm-project/commit/37100505664a4c451eb530bc899de204adb80a13
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
Log Message:
-----------
[RISCV][VLOPT] Set CommonVL as the largest of the users (#120349)
Prior to this patch, we required that all users had the same VL in order
to optimize. But as the FIXME said, we can use the largest VL to
optimize, as long as we can determine what the largest is. This patch
implements the FIXME.
Commit: 28865769440756138a88a9c8e8b72b1f5d8db715
https://github.com/llvm/llvm-project/commit/28865769440756138a88a9c8e8b72b1f5d8db715
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
Log Message:
-----------
[memprof] clang-format MemProf-related files (NFC) (#120504)
Commit: 21684e38ee65c89d1d0b399c938a83fba5e5c04e
https://github.com/llvm/llvm-project/commit/21684e38ee65c89d1d0b399c938a83fba5e5c04e
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
Log Message:
-----------
[BOLT][Linux] Refactor reading of PC-relative addresses. NFCI (#120491)
Fix evaluation order problem identified in
https://github.com/llvm/llvm-project/pull/119088.
Commit: b71c44b9be17dc6295eb733d685b38e797f3c846
https://github.com/llvm/llvm-project/commit/b71c44b9be17dc6295eb733d685b38e797f3c846
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/release.h
Log Message:
-----------
[scudo] Add the record of number of attempted page release (#120497)
This also removes the `RangesReleased` which doesn't give much insight
to whether we should adjust the heuristic of doing page release.
Commit: 1808255a44e67446715cb6b16df49c6cec41b0b4
https://github.com/llvm/llvm-project/commit/1808255a44e67446715cb6b16df49c6cec41b0b4
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/test/tools/llvm-dwarfdump/X86/verify_no_overlap_error_icf.yaml
Log Message:
-----------
[DWARFVerifier] Fix and enable broken test llvm-dwarfdump/X86/verify_no_overlap_error_icf.yaml (#120330)
Fixing broken test - calling `sed` in a cross-platform compatible way.
Verified to pass on Mac (which uses BSD sed).
Commit: 395a369056e1a9b55015b81a8667f39f1f48457f
https://github.com/llvm/llvm-project/commit/395a369056e1a9b55015b81a8667f39f1f48457f
Author: Sylvestre Ledru <sylvestre at debian.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
Log Message:
-----------
[Xtensa] Fix build after splitting SDNode::use_iterator
Same as: 145ddf7ede28d9131a65b7f86ad07736a824ee21
Commit: 98c97d4a19412a76f7279003af6cb219dea1f0c3
https://github.com/llvm/llvm-project/commit/98c97d4a19412a76f7279003af6cb219dea1f0c3
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
Log Message:
-----------
[WebKit checkers] Recognize adoptRef as a safe function (#119846)
adoptRef in WebKit constructs Ref/RefPtr so treat it as such in
isCtorOfRefCounted. Also removed the support for makeRef and makeRefPtr
as they don't exist any more.
Commit: aa07f922103ebe8e78c8da4c754b43af3c129f3e
https://github.com/llvm/llvm-project/commit/aa07f922103ebe8e78c8da4c754b43af3c129f3e
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor-opt.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
M clang/test/CodeGenHLSL/resource-bindings.hlsl
M llvm/docs/DirectX/DXILResources.rst
M llvm/docs/SPIRVUsage.rst
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
M llvm/test/CodeGen/DirectX/BufferLoad.ll
M llvm/test/CodeGen/DirectX/BufferStore-errors.ll
M llvm/test/CodeGen/DirectX/BufferStore.ll
M llvm/test/CodeGen/DirectX/ContainerData/PSVResources.ll
M llvm/test/CodeGen/DirectX/CreateHandle.ll
M llvm/test/CodeGen/DirectX/CreateHandleFromBinding.ll
M llvm/test/CodeGen/DirectX/Metadata/resource-symbols.ll
M llvm/test/CodeGen/DirectX/ResourceAccess/load_typedbuffer.ll
M llvm/test/CodeGen/DirectX/ResourceAccess/store_typedbuffer.ll
M llvm/test/CodeGen/DirectX/ResourceGlobalElimination.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll
M llvm/test/CodeGen/DirectX/bufferUpdateCounter.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferLoad.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferStore.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/SamplerArrayDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/SamplerArrayNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/ScalarResourceType.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UnknownBufferLoad.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UnknownBufferStore.ll
Log Message:
-----------
[DirectX][SPIRV] Consistent names for HLSL resource intrinsics (#120466)
Rename HLSL resource-related intrinsics to be consistent with the naming
conventions discussed in [wg-hlsl:0014].
This is an entirely mechanical change, consisting of the following
commands and automated formatting.
```sh
git grep -l handle.fromBinding | xargs perl -pi -e \
's/(dx|spv)(.)handle.fromBinding/$1$2resource$2handlefrombinding/g'
git grep -l typedBufferLoad_checkbit | xargs perl -pi -e \
's/(dx|spv)(.)typedBufferLoad_checkbit/$1$2resource$2loadchecked$2typedbuffer/g'
git grep -l typedBufferLoad | xargs perl -pi -e \
's/(dx|spv)(.)typedBufferLoad/$1$2resource$2load$2typedbuffer/g'
git grep -l typedBufferStore | xargs perl -pi -e \
's/(dx|spv)(.)typedBufferStore/$1$2resource$2store$2typedbuffer/g'
git grep -l bufferUpdateCounter | xargs perl -pi -e \
's/(dx|spv)(.)bufferUpdateCounter/$1$2resource$2updatecounter/g'
git grep -l cast_handle | xargs perl -pi -e \
's/(dx|spv)(.)cast.handle/$1$2resource$2casthandle/g'
```
[wg-hlsl:0014]: https://github.com/llvm/wg-hlsl/blob/main/proposals/0014-consistent-naming-for-dx-intrinsics.md
Commit: d3508ccd1512c57094ec7b321d147aa72c9fbc7e
https://github.com/llvm/llvm-project/commit/d3508ccd1512c57094ec7b321d147aa72c9fbc7e
Author: Konstantina Mitropoulou <44334539+kmitropoulou at users.noreply.github.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/test/CodeGen/AMDGPU/branch-relaxation.ll
A llvm/test/CodeGen/AMDGPU/uniform_branch_with_floating_point_cond.ll
Log Message:
-----------
[AMDGPU] Emit S_CBRANCH_SCC for floating-point conditions. (#120588)
- **[AMDGPU] Add new test.**
- **[AMDGPU] Emit S_CBRANCH_SCC for floating-point conditions.**
---------
Co-authored-by: Konstantina Mitropoulou <KonstantinaMitropoulou at amd.com>
Commit: b5d02786be31f45ca5919b3b73e99d8958330f78
https://github.com/llvm/llvm-project/commit/b5d02786be31f45ca5919b3b73e99d8958330f78
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
Log Message:
-----------
Revert "[WebKit checkers] Recognize adoptRef as a safe function" (#120626)
Reverts llvm/llvm-project#119846. Introduced a failing test.
Commit: 45c01e8a33bbb1790ea16577e47b1e6a34fa1548
https://github.com/llvm/llvm-project/commit/45c01e8a33bbb1790ea16577e47b1e6a34fa1548
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/CodeGen/ReplaceWithVeclib.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.h
M llvm/lib/Transforms/Scalar/Scalarizer.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[NFC][TargetTransformInfo][VectorUtils] Consolidate `isVectorIntrinsic...` api (#117635)
- update `VectorUtils:isVectorIntrinsicWithScalarOpAtArg` to use TTI for
all uses, to allow specifiction of target specific intrinsics
- add TTI to the `isVectorIntrinsicWithStructReturnOverloadAtField` api
- update TTI api to provide `isTargetIntrinsicWith...` functions and
consistently name them
- move `isTriviallyScalarizable` to VectorUtils
- update all uses of the api and provide the TTI parameter
Resolves #117030
Commit: e3b571e632855386908c5cea310f5056d31d6df8
https://github.com/llvm/llvm-project/commit/e3b571e632855386908c5cea310f5056d31d6df8
Author: Niels Dekker <N.Dekker at lumc.nl>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.h
Log Message:
-----------
[clang-tidy][NFC] Sync ContainerSizeEmptyCheck with container-size-empty doc (#118459)
Brought the class documentation in sync with the user documentation at
container-size-empty.rst:
https://github.com/llvm/llvm-project/blob/bfb26202e05ee2932b4368b5fca607df01e8247f/clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst#L7-L14
Commit: 10d054e95413f0e98e4aeed9dbd4605f6f03b3fa
https://github.com/llvm/llvm-project/commit/10d054e95413f0e98e4aeed9dbd4605f6f03b3fa
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Introduce IndexedCallstackIdConveter (NFC) (#120540)
This patch introduces IndexedCallstackIdConveter as a convenience
wrapper around FrameIdConverter and CallStackIdConverter just for
tests.
With the new wrapper, we get to replace idioms like:
FrameIdConverter<decltype(MemProfData.Frames)> FrameIdConv(
MemProfData.Frames);
CallStackIdConverter<decltype(MemProfData.CallStacks)> CSIdConv(
MemProfData.CallStacks, FrameIdConv);
with:
IndexedCallstackIdConveter CSIdConv(MemProfData);
Unfortunately, this exact pattern occurs in tests only; the
combinations of the frame ID converter and call stack ID converter are
diverse in production code.
Commit: 4bbdb018a6cb564783cfb9c65ca82b81c6006bb6
https://github.com/llvm/llvm-project/commit/4bbdb018a6cb564783cfb9c65ca82b81c6006bb6
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/include/clang-c/Index.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
A clang/test/AST/ast-print-openacc-init-construct.cpp
A clang/test/AST/ast-print-openacc-shutdown-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-constructs.c
M clang/test/SemaOpenACC/combined-construct-async-clause.cpp
M clang/test/SemaOpenACC/combined-construct-wait-clause.cpp
M clang/test/SemaOpenACC/compute-construct-async-clause.cpp
M clang/test/SemaOpenACC/compute-construct-num_gangs-clause.cpp
M clang/test/SemaOpenACC/compute-construct-num_workers-clause.cpp
M clang/test/SemaOpenACC/compute-construct-private-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.c
M clang/test/SemaOpenACC/compute-construct-vector_length-clause.cpp
M clang/test/SemaOpenACC/compute-construct-wait-clause.cpp
A clang/test/SemaOpenACC/init-construct-ast.cpp
A clang/test/SemaOpenACC/init-construct.cpp
A clang/test/SemaOpenACC/shutdown-construct-ast.cpp
A clang/test/SemaOpenACC/shutdown-construct.cpp
M clang/test/SemaOpenACC/wait-construct.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
Log Message:
-----------
[OpenACC] Implement 'init' and 'shutdown' constructs
These two constructs are very simple and similar, and only support 3
different clauses, two of which are already implemented. This patch
adds AST nodes for both constructs, and leaves the device_num clause
unimplemented, but enables the other two.
Commit: bdf255530821201c9febf9fdb42b91082656dc94
https://github.com/llvm/llvm-project/commit/bdf255530821201c9febf9fdb42b91082656dc94
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-init-construct.cpp
M clang/test/AST/ast-print-openacc-shutdown-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/init-construct-ast.cpp
M clang/test/SemaOpenACC/init-construct.cpp
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/test/SemaOpenACC/shutdown-construct-ast.cpp
M clang/test/SemaOpenACC/shutdown-construct.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement 'device_num' clause sema for 'init'/'shutdown'
This is a very simple sema implementation, and just required AST node
plus the existing diagnostics. This patch adds tests and adds the AST
node required, plus enables it for 'init' and 'shutdown' (only!)
Commit: 1fcb6a9754a8db057e18f629cb90011b638901e7
https://github.com/llvm/llvm-project/commit/1fcb6a9754a8db057e18f629cb90011b638901e7
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Optimizer/Builder/Runtime/Derived.h
M flang/include/flang/Runtime/derived-api.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Optimizer/Builder/Runtime/Derived.cpp
M flang/runtime/derived-api.cpp
M flang/runtime/derived.cpp
M flang/runtime/derived.h
A flang/test/Lower/OpenMP/derived-type-allocatable.f90
Log Message:
-----------
[flang][OpenMP] Initialize allocatable members of derived types (#120295)
Allocatable members of privatized derived types must be allocated,
with the same bounds as the original object, whenever that member
is also allocated in it, but Flang was not performing such
initialization.
The `Initialize` runtime function can't perform this task unless
its signature is changed to receive an additional parameter, the
original object, that is needed to find out which allocatable
members, with their bounds, must also be allocated in the clone.
As `Initialize` is used not only for privatization, sometimes this
other object won't even exist, so this new parameter would need
to be optional.
Because of this, it seemed better to add a new runtime function:
`InitializeClone`.
To avoid unnecessary calls, lowering inserts a call to it only for
privatized items that are derived types with allocatable members.
Fixes https://github.com/llvm/llvm-project/issues/114888
Fixes https://github.com/llvm/llvm-project/issues/114889
Commit: 4797437463e63ee289a1ff1904cfb7b2fe6cb4c2
https://github.com/llvm/llvm-project/commit/4797437463e63ee289a1ff1904cfb7b2fe6cb4c2
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/include/clang/AST/Stmt.h
Log Message:
-----------
[clang][NFC] Increase NumStmtBits by 1 as we are approaching the limit (#120341)
We have already hit the limit of NumStmtBits downstream after
010d0115fc8e3834fc6f747f0841f3b1e467c4da, which adds 4 new StmtNodes.
Commit: 6e7312bda60249c25e2ae9078d9f70bc2a65838c
https://github.com/llvm/llvm-project/commit/6e7312bda60249c25e2ae9078d9f70bc2a65838c
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/CodeGen/RISCV/pr84653_pr85190.ll
M llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
Log Message:
-----------
[RISCV] Select and/or/xor with certain constants to Zbb ANDN/ORN/XNOR (#120221)
(and X, (C<<12|0xfff)) -> (ANDN X, ~C<<12)
(or X, (C<<12|0xfff)) -> (ORN X, ~C<<12)
(xor X, (C<<12|0xfff)) -> (XNOR X, ~C<<12)
Emits better code, typically by avoiding an `ADDI HI, -1` instruction.
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Commit: 7009b0699343a7eb87e77d8e13f7c70a02ebed5f
https://github.com/llvm/llvm-project/commit/7009b0699343a7eb87e77d8e13f7c70a02ebed5f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
[flang][cuda] Allow STOP in device context (#120625)
STOP statement is allowed in device procedure
Commit: cb8a90b7d17f851dec9c1c2d429622909aa5b605
https://github.com/llvm/llvm-project/commit/cb8a90b7d17f851dec9c1c2d429622909aa5b605
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGen/bounds-checking.c
M clang/test/CodeGen/ubsan-trap-merge.c
Log Message:
-----------
[ubsan] Remove -ubsan-unique-traps (replace with -fno-sanitize-merge) (#120613)
-fno-sanitize-merge (introduced in
https://github.com/llvm/llvm-project/pull/120511) duplicates the
functionality of -ubsan-unique-traps but also allows individual checks
to be specified e.g.,
* "-fno-sanitize-merge" without arguments is equivalent to
-ubsan-unique-traps
* "-fno-sanitize-merge=bool,enum" will apply it only to those two checks
Additionally, the naming is more consistent with the rest of the
-fsanitize- family.
This patch therefore removes -ubsan-unique-traps. This breaks backwards
compatibility; we hope that this is acceptable since '-mllvm
-ubsan-unique-traps' was an experimental flag.
This patch also adds negative test examples to bounds-checking.c, and
strengthens the NOOPTARRAY assertion to prevent spurious matches.
"-bounds-checking-unique-traps" is unaffected by this patch.
Commit: 8dfae0c462e9558df77c83c97d89b4b83ed1baff
https://github.com/llvm/llvm-project/commit/8dfae0c462e9558df77c83c97d89b4b83ed1baff
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M libcxx/src/include/overridable_function.h
M libcxx/src/new.cpp
M libcxxabi/src/stdlib_new_delete.cpp
Log Message:
-----------
Revert "[libcxx] Use alias for detecting overriden function (#114961)"
This reverts commit 62bd10f7d18ca6f544286767cae2c9026d493888.
Breaks building with -flto=thin, see
https://github.com/llvm/llvm-project/pull/114961#issuecomment-2555754056
Commit: 5b5b241edf78bd8e34ccf1ce352e86e571a32b4c
https://github.com/llvm/llvm-project/commit/5b5b241edf78bd8e34ccf1ce352e86e571a32b4c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#120619)
Commit: 34e0f9cd36e9d4eb7fd153f536c811ec668be458
https://github.com/llvm/llvm-project/commit/34e0f9cd36e9d4eb7fd153f536c811ec668be458
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
R libcxx/include/__locale_dir/locale_guard.h
M libcxx/include/__locale_dir/support/bsd_like.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/include/__support/xlocale/__nop_locale_mgmt.h
M libcxx/include/module.modulemap
M libcxx/src/iostream.cpp
M libcxx/src/support/win32/locale_win32.cpp
Log Message:
-----------
[libc++] Remove the need for `uselocale()` (#120158)
Instead of requiring `uselocale()` as part of the base locale API,
define __locale_guard in the few places that need it directly, without
making __locale_guard part of the base API.
In practice, most mainstream platforms never used __locale_guard, so
they also didn't need to define uselocale(), and after this patch they
actually don't define it anymore.
Commit: c2830b218017dd9e2fca843e81baec1d71306b07
https://github.com/llvm/llvm-project/commit/c2830b218017dd9e2fca843e81baec1d71306b07
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
A llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases.s
Log Message:
-----------
[AMDGPU][True16][MC] added fake16 for gfx12 alias MC test (#120624)
This is a NFC.
Duplicate gfx12_asm_vop3_alias.s file to true16/fake16 version and
update `real-true16` flag on it.
This is preparing the upcoming changes for true16
Commit: 0a94ee694fbe1a17c5a948fbe86b881527f81343
https://github.com/llvm/llvm-project/commit/0a94ee694fbe1a17c5a948fbe86b881527f81343
Author: Michael Jones <michaelrj at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M libc/docs/dev/index.rst
M libc/docs/full_host_build.rst
Log Message:
-----------
[libc] update host build docs (#120147)
Update the host build docs to better reflect the current recommended
process.
Commit: f000c053bfa6f86f5ffac9e1177e6c88f18ae1bd
https://github.com/llvm/llvm-project/commit/f000c053bfa6f86f5ffac9e1177e6c88f18ae1bd
Author: David Green <david.green at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Log Message:
-----------
[VectorCombine] Add test coverage to shuffleToIdentity for fp casts. NFC
Commit: 4c3e13ebca560cd2377dfeb0c7b9186bd6c96ae1
https://github.com/llvm/llvm-project/commit/4c3e13ebca560cd2377dfeb0c7b9186bd6c96ae1
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 34e0f9cd36e9
Commit: 9e322c56f7b3637377855c59b9665d5b299cba7b
https://github.com/llvm/llvm-project/commit/9e322c56f7b3637377855c59b9665d5b299cba7b
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/CodeGen/SanitizerMetadata.cpp
A clang/test/CodeGen/sanitize-type-globals.cpp
Log Message:
-----------
[TySan] Don't report globals with external storage. (#120565)
Globals with external storage should have been initialized where they
are defined.
Fixes https://github.com/llvm/llvm-project/issues/120448
PR: https://github.com/llvm/llvm-project/pull/120565
Commit: d33a2c58112bdd74225b0ff4f07acc49bed7e6ea
https://github.com/llvm/llvm-project/commit/d33a2c58112bdd74225b0ff4f07acc49bed7e6ea
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/test/CodeGen/bounds-checking.c
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
Log Message:
-----------
[BoundsSan] Update BoundsChecking.cpp to use no-merge attribute where applicable (#120620)
https://github.com/llvm/llvm-project/pull/65972 introduced
-ubsan-unique-traps and -bounds-checking-unique-traps, which attach the
function size to the ubsantrap intrinsic.
https://github.com/llvm/llvm-project/pull/117651 changed
ubsan-unique-traps to use nomerge instead of the function size, but did
not update -bounds-checking-unique-traps. This patch adds nomerge to
bounds-checking-unique-traps.
Commit: 5f096fd2216001296b809002ee474ee6d7f06e0e
https://github.com/llvm/llvm-project/commit/5f096fd2216001296b809002ee474ee6d7f06e0e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
R llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
Log Message:
-----------
Revert "[LoopVectorizer] Add support for partial reductions (#92418)"
This reverts commit 060d62b48aeb5080ffcae1dc56e41a06c6f56701.
It looks like this is triggering an assertion when build llvm-test-suite
on ARM64 macOS.
Reproducer from MultiSource/Benchmarks/Ptrdist/bc/number.c
target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:64-S128-Fn32"
target triple = "arm64-apple-macosx15.0.0"
define void @test(i64 %idx.neg, i8 %0) #0 {
entry:
br label %while.body
while.body: ; preds = %while.body, %entry
%n1ptr.0.idx131 = phi i64 [ %n1ptr.0.add, %while.body ], [ %idx.neg, %entry ]
%n2ptr.0.idx130 = phi i64 [ %n2ptr.0.add, %while.body ], [ 0, %entry ]
%sum.1129 = phi i64 [ %add99, %while.body ], [ 0, %entry ]
%n1ptr.0.add = add i64 %n1ptr.0.idx131, 1
%conv = sext i8 %0 to i64
%n2ptr.0.add = add i64 %n2ptr.0.idx130, 1
%1 = load i8, ptr null, align 1
%conv97 = sext i8 %1 to i64
%mul = mul i64 %conv97, %conv
%add99 = add i64 %mul, %sum.1129
%cmp94 = icmp ugt i64 %n1ptr.0.idx131, 0
%cmp95 = icmp ne i64 %n2ptr.0.idx130, -1
%2 = and i1 %cmp94, %cmp95
br i1 %2, label %while.body, label %while.end.loopexit
while.end.loopexit: ; preds = %while.body
%add99.lcssa = phi i64 [ %add99, %while.body ]
ret void
}
attributes #0 = { "target-cpu"="apple-m1" }
> opt -p loop-vectorize
Assertion failed: ((VF.isScalar() || V->getType()->isVectorTy()) && "scalar values must be stored as (0, 0)"), function set, file VPlan.h, line 284.
Commit: 0517772b4ac20c5d3a0de0d4703354a179833248
https://github.com/llvm/llvm-project/commit/0517772b4ac20c5d3a0de0d4703354a179833248
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
R llvm/include/llvm/Transforms/Instrumentation/PoisonChecking.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
R llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp
R llvm/test/Instrumentation/PoisonChecking/basic-flag-validation.ll
R llvm/test/Instrumentation/PoisonChecking/ub-checks.ll
M llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
Log Message:
-----------
Delete unused PoisonChecking utility pass
This was introduced ~5yrs ago (by me), and has never really gotten
any adoption. By now, it's significantly out of sync with new/changed
poison propoagation rules. The idea is still reasonable, but the
imagined use case is largely covered by alive2 these days anyways.
Commit: 6a01ac7d06df875206f746fc982f58c161249285
https://github.com/llvm/llvm-project/commit/6a01ac7d06df875206f746fc982f58c161249285
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/AST/Type.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
A clang/test/AST/HLSL/is_structured_resource_element_compatible_concept.hlsl
M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
Log Message:
-----------
[HLSL] Add concepts for Structured buffers (#119643)
This PR adds concept validation to structured buffers, in the same way
that it was done for typed buffers (like RWBuffer) in
https://github.com/llvm/llvm-project/pull/116413.
This PR should also be responsible for introducing rejection of 0 size
elements for structured buffers.
Fixes https://github.com/llvm/llvm-project/issues/117406
Commit: af5a65685964e064704b46947ab0102d41caa785
https://github.com/llvm/llvm-project/commit/af5a65685964e064704b46947ab0102d41caa785
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/InstIterator.h
Log Message:
-----------
[IR] Remove unused method InstIterator::atEnd (#120611)
Commit: 6f983f88537415952ec528c42f89f1d5b620fe68
https://github.com/llvm/llvm-project/commit/6f983f88537415952ec528c42f89f1d5b620fe68
Author: Brad Smith <brad at comstyle.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M compiler-rt/CMakeLists.txt
Log Message:
-----------
[compiler-rt] Set the default C++ library to libc++ on OpenBSD (#107694)
Commit: bcd32ef0ba6b33a4aa3a5d0a96526f86634035da
https://github.com/llvm/llvm-project/commit/bcd32ef0ba6b33a4aa3a5d0a96526f86634035da
Author: Brad Smith <brad at comstyle.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/FreeBSD.cpp
Log Message:
-----------
[Driver][FreeBSD][NFC] Remove some code duplication (#120652)
Commit: 3d297514e2c3f10b3fd8fcf0e5b1c745dfe644cf
https://github.com/llvm/llvm-project/commit/3d297514e2c3f10b3fd8fcf0e5b1c745dfe644cf
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
M llvm/test/Instrumentation/BoundsChecking/runtimes.ll
Log Message:
-----------
[BoundsChecking] Add support for runtime handlers (#120513)
This is a step forward to have reporting consistent with other UBSAN
checks.
Runtime and clang parts are here #120515.
Commit: b13592219c421820b7d774dfe360f9f2d9bd94f6
https://github.com/llvm/llvm-project/commit/b13592219c421820b7d774dfe360f9f2d9bd94f6
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/docs/Contributing.rst
M llvm/docs/GitHub.rst
Log Message:
-----------
[Doc] Add a section on CI to the GitHub documentation (#85376)
See
https://discourse.llvm.org/t/rfc-add-a-warning-when-bypassing-the-premerge-testing/77610
for context.
Commit: 44201679c6ec597a8624b38ff8f056c5a8dab901
https://github.com/llvm/llvm-project/commit/44201679c6ec597a8624b38ff8f056c5a8dab901
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
A llvm/test/CodeGen/AMDGPU/issue120256-annotate-constexpr-addrspacecast.ll
Log Message:
-----------
AMDGPU: Fix mishandling of search for constantexpr addrspacecasts (#120346)
Commit: c2aee5062087f193cb5756f378c248c7d91b7245
https://github.com/llvm/llvm-project/commit/c2aee5062087f193cb5756f378c248c7d91b7245
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/test/CodeGen/bounds-checking.c
M compiler-rt/lib/ubsan/ubsan_checks.inc
M compiler-rt/lib/ubsan/ubsan_handlers.cpp
M compiler-rt/lib/ubsan/ubsan_handlers.h
M compiler-rt/lib/ubsan/ubsan_interface.inc
M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
M compiler-rt/test/ubsan/TestCases/Misc/local_bounds.cpp
M compiler-rt/test/ubsan_minimal/TestCases/local_bounds.cpp
Log Message:
-----------
[ubsan] Runtime and driver support for local-bounds (#120515)
Implements ``-f[no-]sanitize-trap=local-bounds``,
and ``-f[no-]sanitize-recover=local-bounds``.
LLVM part is here #120513.
Commit: 52574b5f40606b8319952e45d0c407675d9ee0fa
https://github.com/llvm/llvm-project/commit/52574b5f40606b8319952e45d0c407675d9ee0fa
Author: Brad Smith <brad at comstyle.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Writer.cpp
M lld/docs/ld.lld.1
M lld/test/ELF/openbsd-phdr.s
Log Message:
-----------
[ELF] Add support for PT_OPENBSD_NOBTCFI (#120005)
Commit: cc7d0841cc27b709f83a4194f45914c00a69a9ea
https://github.com/llvm/llvm-project/commit/cc7d0841cc27b709f83a4194f45914c00a69a9ea
Author: Brad Smith <brad at comstyle.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
Log Message:
-----------
[clang][Sema] Enable the kprintf format attribute (#100669)
Commit: eb1b9fca9ca66d051179d8d2f35edb4624118b26
https://github.com/llvm/llvm-project/commit/eb1b9fca9ca66d051179d8d2f35edb4624118b26
Author: wanglei <wanglei at loongson.cn>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M lldb/source/Utility/LoongArch_DWARF_Registers.h
Log Message:
-----------
[lldb][LoongArch] Fix the incorrect floating-point register dwarf number
According to the documentation described at
https://github.com/loongson/la-abi-specs/blob/release/ladwarf.adoc, the
dwarf numbers for floating-point registers range from 32 to 63.
An incorrect dwarf number will prevent the register values from being
properly restored during unwinding.
This test reflects this problem:
```
loongson at linux:~$ cat test.c
void foo() {
asm volatile ("movgr2fr.d $fs2, $ra":::"$fs2");
}
int main() {
asm volatile ("movgr2fr.d $fs2, $sp":::"$fs2");
foo();
return 0;
}
loongson at linux:~$ clang -g test.c -o test
```
Without this patch:
```
loongson at linux:~$ ./_build/bin/lldb ./t
(lldb) target create "./t"
Current executable set to
'/home/loongson/llvm-project/_build_lldb/t' (loongarch64).
(lldb) b foo
Breakpoint 1: where = t`foo + 20 at test.c:4:1, address =
0x0000000000000714
(lldb) r
Process 2455626 launched: '/home/loongson/llvm-project/_build_lldb/t' (loongarch64)
Process 2455626 stopped
* thread #1, name = 't', stop reason = breakpoint 1.1
frame #0: 0x0000555555554714 t`foo at test.c:4:1
1 #include <stdio.h>
2
3 void foo() {
-> 4 asm volatile ("movgr2fr.d $fs2, $ra":::"$fs2");
5 }
6 int main() {
7 asm volatile ("movgr2fr.d $fs2, $sp":::"$fs2");
(lldb) si
Process 2455626 stopped
* thread #1, name = 't', stop reason = instruction step into
frame #0: 0x0000555555554718 t`foo at test.c:4:1
1 #include <stdio.h>
2
3 void foo() {
-> 4 asm volatile ("movgr2fr.d $fs2, $ra":::"$fs2");
5 }
6 int main() {
7 asm volatile ("movgr2fr.d $fs2, $sp":::"$fs2");
(lldb) f 1
frame #1: 0x0000555555554768 t`main at test.c:8:1
5 }
6 int main() {
7 asm volatile ("movgr2fr.d $fs2, $sp":::"$fs2");
-> 8 foo();
9 return 0;
10 }
(lldb) register read -a
General Purpose Registers:
r1 = 0x0000555555554768 t`main + 40 at test.c:8:1
r3 = 0x00007ffffffef780
r22 = 0x00007ffffffef7b0
r23 = 0x00007ffffffef918
r24 = 0x0000000000000001
r25 = 0x0000000000000000
r26 = 0x000055555555be08 t`__do_global_dtors_aux_fini_array_entry
r27 = 0x0000555555554740 t`main at test.c:6
r28 = 0x00007ffffffef928
r29 = 0x00007ffff7febc88 ld-linux-loongarch-lp64d.so.1`_rtld_global_ro
r30 = 0x000055555555be08 t`__do_global_dtors_aux_fini_array_entry
pc = 0x0000555555554768 t`main + 40 at test.c:8:1
33 registers were unavailable.
Floating Point Registers:
f13 = 0x00007ffffffef780 !!!!! wrong register
f24 = 0xffffffffffffffff
f25 = 0xffffffffffffffff
f26 = 0x0000555555554768 t`main + 40 at test.c:8:1
f27 = 0xffffffffffffffff
f28 = 0xffffffffffffffff
f29 = 0xffffffffffffffff
f30 = 0xffffffffffffffff
f31 = 0xffffffffffffffff
32 registers were unavailable.
```
With this patch:
```
The previous operations are the same.
(lldb) register read -a
General Purpose Registers:
r1 = 0x0000555555554768 t`main + 40 at test.c:8:1
r3 = 0x00007ffffffef780
r22 = 0x00007ffffffef7b0
r23 = 0x00007ffffffef918
r24 = 0x0000000000000001
r25 = 0x0000000000000000
r26 = 0x000055555555be08 t`__do_global_dtors_aux_fini_array_entry
r27 = 0x0000555555554740 t`main at test.c:6
r28 = 0x00007ffffffef928
r29 = 0x00007ffff7febc88 ld-linux-loongarch-lp64d.so.1`_rtld_global_ro
r30 = 0x000055555555be08 t`__do_global_dtors_aux_fini_array_entry
pc = 0x0000555555554768 t`main + 40 at test.c:8:1
33 registers were unavailable.
Floating Point Registers:
f24 = 0xffffffffffffffff
f25 = 0xffffffffffffffff
f26 = 0x00007ffffffef780
f27 = 0xffffffffffffffff
f28 = 0xffffffffffffffff
f29 = 0xffffffffffffffff
f30 = 0xffffffffffffffff
f31 = 0xffffffffffffffff
33 registers were unavailable.
```
Reviewed By: SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/120391
Commit: ee7ca0dddafb609090ad1789570c099d95c0afb6
https://github.com/llvm/llvm-project/commit/ee7ca0dddafb609090ad1789570c099d95c0afb6
Author: Paul Bowen-Huggett <paulhuggett at mac.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperArtifacts.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperCompares.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperVectorOps.cpp
M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVO0PreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPreLegalizerCombiner.cpp
Log Message:
-----------
Make CombinerHelper methods const (#119529)
There are a number of backends (specifically AArch64, AMDGPU, Mips, and
RISCV) which contain a “TODO: make CombinerHelper methods const”
comment. This PR does just that and makes all of the CombinerHelper
methods const, removes the TODO comments and makes the associated
instances const. This change makes some sense because the CombinerHelper
class simply modifies the state of _other_ objects to which it holds
pointers or references.
Note that AMDGPU contains an identical comment for an instance of
AMDGPUCombinerHelper (a subclass of CombinerHelper). I deliberately
haven’t modified the methods of that class in order to limit the scope
of the change. I’m happy to do so either now or as a follow-up.
Commit: d3c4637cbbd5f0a84811abe195098ce714a2cc32
https://github.com/llvm/llvm-project/commit/d3c4637cbbd5f0a84811abe195098ce714a2cc32
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
Log Message:
-----------
[WebKit checkers] Recognize adoptRef as a safe function (#120629)
adoptRef in WebKit constructs Ref/RefPtr so treat it as such in
isCtorOfRefCounted.
Also removed the support for makeRef and makeRefPtr as they don't exist
any more.
Commit: 4307198d51487cc16f98eebb2113caf4a1905914
https://github.com/llvm/llvm-project/commit/4307198d51487cc16f98eebb2113caf4a1905914
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
A llvm/include/llvm/CodeGen/DroppedVariableStats.h
R llvm/include/llvm/Passes/DroppedVariableStats.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/CodeGen/CMakeLists.txt
A llvm/lib/CodeGen/DroppedVariableStats.cpp
M llvm/lib/Passes/CMakeLists.txt
R llvm/lib/Passes/DroppedVariableStats.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/DroppedVariableStatsIRTest.cpp
M llvm/unittests/IR/CMakeLists.txt
R llvm/unittests/IR/DroppedVariableStatsIRTest.cpp
Log Message:
-----------
Move DroppedVariableStats to CodeGen lib (#120650)
To get Dropped variable statistics for MIR, we need to move the base
class DroppedVariableStats code to the CodeGen library because we cannot
have CodeGen link against Passes.
Also moved the code for the virtual functions to the header because
clang/lib/CodeGen doesn't link against llvm/lib/CodeGen however it does
link against Passes which contains the `class StandardInstrumentations`
code but not the definition for the virtual functions leading to the
error about not finding vtable for `class DroppedVariableStatsIR`
Commit: a71f9e6986b80fa90c453219795a1369b8ea7b6e
https://github.com/llvm/llvm-project/commit/a71f9e6986b80fa90c453219795a1369b8ea7b6e
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
Log Message:
-----------
[webkit.UncountedLambdaCapturesChecker] Detect protectedThis pattern. (#120528)
In WebKit, we often capture this as Ref or RefPtr in addition to this
itself so that the object lives as long as a capturing lambda stays
alive.
Detect this pattern and treat it as safe. This PR also makes the check
for a lambda being passed as a function argument more robust by handling
CXXBindTemporaryExpr, CXXConstructExpr, and DeclRefExpr referring to the
lambda.
Commit: 7666c40c09410e0fea4c4e08ce71fe10b05f588a
https://github.com/llvm/llvm-project/commit/7666c40c09410e0fea4c4e08ce71fe10b05f588a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/IR/BUILD.gn
Log Message:
-----------
[gn build] Port 4307198d5148
Commit: 4e3c0bb7f7b3f4df702d787853d31c53d626fe4c
https://github.com/llvm/llvm-project/commit/4e3c0bb7f7b3f4df702d787853d31c53d626fe4c
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/test/tools/llvm-cov/Inputs/showProjectSummary.test
M llvm/test/tools/llvm-cov/showProjectSummary.cpp
M llvm/tools/llvm-cov/CodeCoverage.cpp
Log Message:
-----------
llvm-cov: Introduce `-show-created-time` to suppress timestamps (#120417)
This shouldn't affect anything since `-show-created-time=true` by
default.
Timestamps sometimes prevent reproducible build.
Commit: fcb3ee813ac1e25c381b00e25da69a80b7f403f7
https://github.com/llvm/llvm-project/commit/fcb3ee813ac1e25c381b00e25da69a80b7f403f7
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
A .ci/compute-projects.sh
M .ci/generate-buildkite-pipeline-premerge
A .ci/generate_test_report.py
A .ci/metrics/Dockerfile
A .ci/metrics/metrics.py
A .ci/metrics/requirements.lock.txt
A .ci/metrics/requirements.txt
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
A .ci/requirements.txt
M .git-blame-ignore-revs
M .github/CODEOWNERS
M .github/new-issues-labeler.yml
M .github/new-prs-labeler.yml
A .github/workflows/build-ci-container-windows.yml
M .github/workflows/build-ci-container.yml
A .github/workflows/build-metrics-container.yml
M .github/workflows/commit-access-review.py
A .github/workflows/containers/github-action-ci-windows/Dockerfile
A .github/workflows/containers/github-action-ci/Dockerfile
R .github/workflows/containers/github-action-ci/bootstrap.patch
R .github/workflows/containers/github-action-ci/stage1.Dockerfile
R .github/workflows/containers/github-action-ci/stage2.Dockerfile
R .github/workflows/containers/github-action-ci/storage.conf
M .github/workflows/docs.yml
A .github/workflows/libc-fullbuild-tests.yml
A .github/workflows/libc-overlay-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
A .github/workflows/libcxx-build-containers.yml
M .github/workflows/libcxx-restart-preempted-jobs.yaml
A .github/workflows/premerge.yaml
M .gitignore
R bolt/CODE_OWNERS.TXT
A bolt/Maintainers.txt
A bolt/docs/BinaryAnalysis.md
M bolt/docs/CommandLineArgumentReference.md
M bolt/include/bolt/Core/BinaryBasicBlock.h
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/BinarySection.h
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/DebugNames.h
M bolt/include/bolt/Core/Exceptions.h
M bolt/include/bolt/Core/FunctionLayout.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Passes/ADRRelaxationPass.h
M bolt/include/bolt/Passes/IdenticalCodeFolding.h
M bolt/include/bolt/Passes/LongJmp.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Profile/ProfileYAMLMapping.h
M bolt/include/bolt/Profile/YAMLProfileReader.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/BinarySection.cpp
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugNames.cpp
M bolt/lib/Core/Exceptions.cpp
M bolt/lib/Core/FunctionLayout.cpp
M bolt/lib/Core/HashUtilities.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/IdenticalCodeFolding.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Passes/ReorderFunctions.cpp
M bolt/lib/Passes/SplitFunctions.cpp
M bolt/lib/Passes/VeneerElimination.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/StaleProfileMatching.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
M bolt/lib/Profile/YAMLProfileWriter.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/BoltDiff.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/JITLinkLinker.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Rewrite/MachORewriteInstance.cpp
M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
A bolt/test/AArch64/Inputs/spurious-marker-symbol.yaml
A bolt/test/AArch64/check-init-not-moved.s
A bolt/test/AArch64/compact-code-model.s
M bolt/test/AArch64/data-at-0-offset.c
M bolt/test/AArch64/double_jump.cpp
A bolt/test/AArch64/long-jmp-one-stub.s
A bolt/test/AArch64/pad-before-funcs.s
A bolt/test/AArch64/spurious-marker-symbol.test
A bolt/test/AArch64/veneer-lld-abs.s
M bolt/test/CMakeLists.txt
M bolt/test/R_ABS.pic.lld.cpp
A bolt/test/X86/callcont-fallthru.s
M bolt/test/X86/double-jump.test
A bolt/test/X86/dwarf5-debug-names-abstract-origin-linkage-name-only.s
A bolt/test/X86/dwarf5-debug-names-abstract-origin-specification.s
A bolt/test/X86/dwarf5-debug-names-gnu-push-tls-address.s
A bolt/test/X86/dwarf5-debug-names-union.test
M bolt/test/X86/dwarf5-df-inlined-subroutine-gc-sections-range.test
A bolt/test/X86/exceptions-compact.s
A bolt/test/X86/icf-safe-icp.test
A bolt/test/X86/icf-safe-process-rela-data.test
A bolt/test/X86/icf-safe-test1-no-relocs.test
A bolt/test/X86/icf-safe-test1.test
A bolt/test/X86/icf-safe-test2GlobalConstPtrNoPic.test
M bolt/test/X86/jmp-optimization.test
M bolt/test/X86/linux-static-keys.s
A bolt/test/X86/match-blocks-with-pseudo-probes-inline.test
A bolt/test/X86/match-blocks-with-pseudo-probes.test
M bolt/test/X86/match-functions-with-call-graph.test
M bolt/test/X86/match-functions-with-calls-as-anchors.test
A bolt/test/X86/pie-eh-split-undo.s
M bolt/test/X86/pre-aggregated-perf.test
M bolt/test/X86/reader-stale-yaml.test
A bolt/test/binary-analysis/AArch64/Inputs/dummy.txt
A bolt/test/binary-analysis/AArch64/cmdline-args.test
A bolt/test/binary-analysis/AArch64/lit.local.cfg
A bolt/test/eh-frame-hdr.test
A bolt/test/eh-frame-overwrite.test
M bolt/test/lit.cfg.py
A bolt/test/merge-fdata-bat-no-lbr.test
A bolt/test/merge-fdata-lbr-mode.test
A bolt/test/merge-fdata-mixed-bat-no-lbr.test
A bolt/test/merge-fdata-mixed-mode.test
A bolt/test/merge-fdata-no-lbr-mode.test
M bolt/test/pie.test
M bolt/test/runtime/X86/Inputs/pie-exceptions-failed-split.s
M bolt/test/runtime/X86/instrumentation-indirect.c
R bolt/test/runtime/X86/pie-exceptions-failed-split.test
A bolt/test/runtime/X86/pie-exceptions-split.test
M bolt/test/runtime/bolt-reserved.cpp
M bolt/test/unreadable-profile.test
M bolt/tools/CMakeLists.txt
A bolt/tools/binary-analysis/CMakeLists.txt
A bolt/tools/binary-analysis/binary-analysis.cpp
M bolt/tools/driver/llvm-bolt.cpp
M bolt/tools/merge-fdata/merge-fdata.cpp
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/CMakeLists.txt
M bolt/unittests/Core/MCPlusBuilder.cpp
A bolt/unittests/Core/MemoryMaps.cpp
M bolt/utils/bughunter.sh
R clang-tools-extra/CODE_OWNERS.TXT
A clang-tools-extra/Maintainers.txt
M clang-tools-extra/clang-doc/Generators.h
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-include-fixer/InMemorySymbolIndex.cpp
M clang-tools-extra/clang-include-fixer/InMemorySymbolIndex.h
M clang-tools-extra/clang-include-fixer/IncludeFixer.cpp
M clang-tools-extra/clang-query/Query.cpp
M clang-tools-extra/clang-query/QueryParser.cpp
M clang-tools-extra/clang-query/QuerySession.h
M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
M clang-tools-extra/clang-tidy/CMakeLists.txt
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ClangTidyModuleRegistry.h
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang-tools-extra/clang-tidy/NoLintDirectiveHandler.h
M clang-tools-extra/clang-tidy/abseil/DurationRewriter.cpp
M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
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/ExceptionEscapeCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.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/OptionalValueConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ThrowKeywordMissingCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.h
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidConstOrRefDataMembersCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeUnionAccessCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/IncludeCleanerCheck.cpp
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.h
M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
M clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.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/readability/ContainerContainsCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.h
M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
M clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantAccessSpecifiersCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.h
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/RenamerClangTidyCheck.cpp
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/ClangdLSPServer.h
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/CompileCommands.cpp
M clang-tools-extra/clangd/Compiler.cpp
M clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
M clang-tools-extra/clangd/GlobalCompilationDatabase.h
M clang-tools-extra/clangd/HeuristicResolver.cpp
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang-tools-extra/clangd/ModulesBuilder.h
M clang-tools-extra/clangd/ParsedAST.h
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/TUScheduler.cpp
M clang-tools-extra/clangd/TUScheduler.h
M clang-tools-extra/clangd/TidyProvider.cpp
M clang-tools-extra/clangd/TidyProvider.h
M clang-tools-extra/clangd/URI.h
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/XRefs.h
M clang-tools-extra/clangd/benchmarks/IndexBenchmark.cpp
M clang-tools-extra/clangd/index/Background.cpp
M clang-tools-extra/clangd/index/Background.h
M clang-tools-extra/clangd/index/BackgroundRebuild.cpp
M clang-tools-extra/clangd/index/FileIndex.cpp
M clang-tools-extra/clangd/index/FileIndex.h
M clang-tools-extra/clangd/index/Index.cpp
M clang-tools-extra/clangd/index/Index.h
M clang-tools-extra/clangd/index/MemIndex.cpp
M clang-tools-extra/clangd/index/MemIndex.h
M clang-tools-extra/clangd/index/Merge.cpp
M clang-tools-extra/clangd/index/Merge.h
M clang-tools-extra/clangd/index/ProjectAware.cpp
M clang-tools-extra/clangd/index/Ref.h
M clang-tools-extra/clangd/index/Serialization.cpp
M clang-tools-extra/clangd/index/Serialization.h
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/index/SymbolCollector.h
M clang-tools-extra/clangd/index/dex/Dex.cpp
M clang-tools-extra/clangd/index/dex/Dex.h
M clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
M clang-tools-extra/clangd/index/remote/Client.cpp
M clang-tools-extra/clangd/index/remote/Index.proto
M clang-tools-extra/clangd/index/remote/Service.proto
M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.h
M clang-tools-extra/clangd/index/remote/server/Server.cpp
M clang-tools-extra/clangd/refactor/Tweak.h
M clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp
M clang-tools-extra/clangd/refactor/tweaks/ExtractFunction.cpp
M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
M clang-tools-extra/clangd/support/DirectiveTree.cpp
M clang-tools-extra/clangd/test/index-serialization/Inputs/sample.idx
M clang-tools-extra/clangd/test/type-hierarchy-ext.test
M clang-tools-extra/clangd/test/type-hierarchy.test
M clang-tools-extra/clangd/tool/Check.cpp
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/DexTests.cpp
M clang-tools-extra/clangd/unittests/DumpASTTests.cpp
M clang-tools-extra/clangd/unittests/FileIndexTests.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/clangd/unittests/GlobalCompilationDatabaseTests.cpp
M clang-tools-extra/clangd/unittests/IndexTests.cpp
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
M clang-tools-extra/clangd/unittests/RenameTests.cpp
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
M clang-tools-extra/clangd/unittests/TestTU.cpp
M clang-tools-extra/clangd/unittests/TestWorkspace.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/DefineOutlineTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExtractFunctionTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/branch-clone.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/nondeterministic-pointer-iteration-order.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unchecked-optional-access.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.PureVirtualCall.rst
A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.SelfAssignment.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.OSObjectCStyleCast.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.MIG.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.OSObjectRetainCount.rst
M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PutenvStackArray.rst
M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.SetgidSetuidOrder.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/valist.CopyToSelf.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/valist.Uninitialized.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/valist.Unterminated.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/redundant-expression.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/unused-parameters.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/use-internal-linkage.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-integer-sign-comparison.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
M clang-tools-extra/docs/clang-tidy/index.rst
M clang-tools-extra/include-cleaner/include/clang-include-cleaner/IncludeSpeller.h
M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
M clang-tools-extra/modularize/CoverageChecker.cpp
M clang-tools-extra/modularize/ModularizeUtilities.cpp
M clang-tools-extra/modularize/ModuleAssistant.cpp
M clang-tools-extra/test/CMakeLists.txt
A clang-tools-extra/test/clang-doc/builtin_types.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
A clang-tools-extra/test/clang-reorder-fields/FieldAnnotationsInMacros.cpp
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
M clang-tools-extra/test/clang-tidy/checkers/altera/id-dependent-backward-branch.cpp
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/alpha-core-identicalexpr.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-strict.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-consteval.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/nondeterministic-pointer-iteration-order.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/optional-value-conversion-construct-from-std.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/throw-keyword-missing.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-const-or-ref-data-members.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/init-variables.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-const-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-static-cast-downcast.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-union-access.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-vararg.cpp
M clang-tools-extra/test/clang-tidy/checkers/fuchsia/default-arguments-calls.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters-strict.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-func.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-module.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-designated-initializers.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-absl.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print.cpp
M clang-tools-extra/test/clang-tidy/checkers/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/function-cognitive-complexity.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
M clang-tools-extra/unittests/clang-tidy/AddConstTest.cpp
M clang-tools-extra/unittests/clang-tidy/IncludeCleanerTest.cpp
M clang/CMakeLists.txt
M clang/Maintainers.rst
M clang/README.md
M clang/bindings/python/tests/cindex/test_access_specifiers.py
M clang/bindings/python/tests/cindex/test_cdb.py
M clang/bindings/python/tests/cindex/test_code_completion.py
M clang/bindings/python/tests/cindex/test_comment.py
M clang/bindings/python/tests/cindex/test_cursor.py
M clang/bindings/python/tests/cindex/test_cursor_kind.py
M clang/bindings/python/tests/cindex/test_diagnostics.py
M clang/bindings/python/tests/cindex/test_enums.py
M clang/bindings/python/tests/cindex/test_exception_specification_kind.py
M clang/bindings/python/tests/cindex/test_file.py
M clang/bindings/python/tests/cindex/test_index.py
M clang/bindings/python/tests/cindex/test_linkage.py
M clang/bindings/python/tests/cindex/test_location.py
M clang/bindings/python/tests/cindex/test_rewrite.py
M clang/bindings/python/tests/cindex/test_source_range.py
M clang/bindings/python/tests/cindex/test_tls_kind.py
M clang/bindings/python/tests/cindex/test_token_kind.py
M clang/bindings/python/tests/cindex/test_tokens.py
M clang/bindings/python/tests/cindex/test_translation_unit.py
M clang/bindings/python/tests/cindex/test_type.py
M clang/bindings/python/tests/cindex/util.py
M clang/cmake/caches/CrossWinToARMLinux.cmake
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/cmake/caches/Fuchsia.cmake
M clang/docs/AMDGPUSupport.rst
M clang/docs/APINotes.rst
M clang/docs/AddressSanitizer.rst
M clang/docs/ClangFormat.rst
M clang/docs/ClangFormatStyleOptions.rst
R clang/docs/ClangFormattedStatus.rst
M clang/docs/ClangLinkerWrapper.rst
A clang/docs/ClangSYCLLinker.rst
A clang/docs/FunctionEffectAnalysis.rst
M clang/docs/HIPSupport.rst
M clang/docs/InternalsManual.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/LeakSanitizer.rst
M clang/docs/LibASTMatchersReference.html
M clang/docs/MatrixTypes.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/RealtimeSanitizer.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SafeBuffers.rst
M clang/docs/SanitizerCoverage.rst
M clang/docs/SanitizerSpecialCaseList.rst
M clang/docs/ShadowCallStack.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/ThreadSafetyAnalysis.rst
M clang/docs/UsersManual.rst
A clang/docs/WarningSuppressionMappings.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/analyzer/user-docs.rst
A clang/docs/analyzer/user-docs/FAQ.rst
M clang/docs/index.rst
R clang/docs/tools/clang-formatted-files.txt
M clang/docs/tools/dump_ast_matchers.py
M clang/docs/tools/dump_format_help.py
M clang/docs/tools/dump_format_style.py
M clang/include/clang-c/CXString.h
M clang/include/clang-c/Index.h
M clang/include/clang/APINotes/Types.h
M clang/include/clang/AST/APValue.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTImporter.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/ASTStructuralEquivalence.h
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/AttrIterator.h
M clang/include/clang/AST/CanonicalType.h
M clang/include/clang/AST/CommentCommands.td
M clang/include/clang/AST/CommentSema.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclContextInternals.h
M clang/include/clang/AST/DeclFriend.h
M clang/include/clang/AST/DeclObjC.h
M clang/include/clang/AST/DeclOpenMP.h
M clang/include/clang/AST/DeclTemplate.h
A clang/include/clang/AST/DynamicRecursiveASTVisitor.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/ExprObjC.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Redeclarable.h
A clang/include/clang/AST/SYCLKernelInfo.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/StmtOpenMP.h
M clang/include/clang/AST/TemplateArgumentVisitor.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/ExprMutationAnalyzer.h
M clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h
M clang/include/clang/Analysis/AnyCall.h
M clang/include/clang/Analysis/CallGraph.h
M clang/include/clang/Analysis/FlowSensitive/ASTOps.h
M 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/AttributeCommonInfo.h
M clang/include/clang/Basic/Builtins.h
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsARM.def
M clang/include/clang/Basic/BuiltinsBase.td
M clang/include/clang/Basic/BuiltinsLoongArchLASX.def
M clang/include/clang/Basic/BuiltinsLoongArchLSX.def
M clang/include/clang/Basic/BuiltinsX86.def
A clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/BuiltinsX86_64.def
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/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticOptions.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticRefactoringKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/FileEntry.h
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Basic/FileSystemStatCache.h
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangStandard.h
M clang/include/clang/Basic/MacroBuilder.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/OpenMPKinds.def
M clang/include/clang/Basic/OpenMPKinds.h
M clang/include/clang/Basic/ParsedAttrInfo.h
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/include/clang/Basic/Sanitizers.def
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/arm_mve.td
M clang/include/clang/Basic/arm_mve_defs.td
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_neon_incl.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
M clang/include/clang/Basic/riscv_vector_common.td
M clang/include/clang/CIR/CIRGenerator.h
A clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
A clang/include/clang/CIR/Dialect/IR/CIRTypes.h
A clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CodeGen/CGFunctionInfo.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Job.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/SanitizerArgs.h
M clang/include/clang/Driver/Types.def
M clang/include/clang/Driver/XRayArgs.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/FrontendAction.h
M clang/include/clang/Frontend/FrontendPluginRegistry.h
M clang/include/clang/Index/USRGeneration.h
M clang/include/clang/Interpreter/Interpreter.h
M clang/include/clang/Interpreter/PartialTranslationUnit.h
M clang/include/clang/Lex/DirectoryLookup.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Lex/HeaderSearchOptions.h
M clang/include/clang/Lex/ModuleMap.h
M clang/include/clang/Lex/PreprocessingRecord.h
M clang/include/clang/Lex/Preprocessor.h
R clang/include/clang/Parse/ParseDiagnostic.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Parse/RAIIObjectsForParser.h
M clang/include/clang/Sema/CodeCompleteConsumer.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Sema/Overload.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/Scope.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaAMDGPU.h
M clang/include/clang/Sema/SemaConcept.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaInternal.h
M clang/include/clang/Sema/SemaObjC.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Sema/SemaSYCL.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/ASTRecordWriter.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/BugReporter/BugReporter.h
A clang/include/clang/StaticAnalyzer/Core/PathSensitive/APSIntPtr.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
M clang/include/clang/Support/Compiler.h
M clang/include/clang/Tooling/CompilationDatabasePluginRegistry.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/include/clang/Tooling/Inclusions/IncludeStyle.h
M clang/include/clang/Tooling/ToolExecutorPluginRegistry.h
M clang/include/module.modulemap
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/APINotes/APINotesManager.cpp
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/APINotes/APINotesTypes.cpp
M clang/lib/APINotes/APINotesWriter.cpp
M clang/lib/APINotes/APINotesYAMLCompiler.cpp
M clang/lib/ARCMigrate/Internals.h
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTConcept.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTDumper.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
A clang/lib/AST/ByteCode/BitcastBuffer.cpp
A clang/lib/AST/ByteCode/BitcastBuffer.h
M clang/lib/AST/ByteCode/Boolean.h
M clang/lib/AST/ByteCode/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/Context.h
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/DynamicAllocator.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvaluationResult.cpp
M clang/lib/AST/ByteCode/Floating.h
M clang/lib/AST/ByteCode/Function.cpp
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/InterpBuiltin.cpp
A clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
A clang/lib/AST/ByteCode/InterpBuiltinBitCast.h
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/PrimType.cpp
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Program.h
M clang/lib/AST/ByteCode/Record.h
M clang/lib/AST/ByteCode/Source.cpp
M clang/lib/AST/ByteCode/Source.h
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/CXXInheritance.cpp
M clang/lib/AST/Comment.cpp
M clang/lib/AST/CommentCommandTraits.cpp
M clang/lib/AST/CommentLexer.cpp
M clang/lib/AST/CommentParser.cpp
M clang/lib/AST/CommentSema.cpp
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclFriend.cpp
M clang/lib/AST/DeclObjC.cpp
M clang/lib/AST/DeclOpenMP.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/DeclarationName.cpp
A clang/lib/AST/DynamicRecursiveASTVisitor.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConcepts.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ExprObjC.cpp
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/AST/ItaniumCXXABI.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/Mangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/OSLog.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/ParentMap.cpp
M clang/lib/AST/ParentMapContext.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/Randstruct.cpp
M clang/lib/AST/RawCommentList.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/Stmt.cpp
M clang/lib/AST/StmtIterator.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/AST/VTTBuilder.cpp
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/lib/Analysis/BodyFarm.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/CallGraph.cpp
M clang/lib/Analysis/CalledOnceCheck.cpp
M clang/lib/Analysis/Consumed.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Analysis/FlowSensitive/Arena.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
M clang/lib/Analysis/FlowSensitive/Models/ChromiumCheckModel.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/lib/Analysis/IntervalPartition.cpp
M clang/lib/Analysis/PathDiagnostic.cpp
M clang/lib/Analysis/ProgramPoint.cpp
M clang/lib/Analysis/ReachableCode.cpp
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Attributes.cpp
M clang/lib/Basic/Builtins.cpp
M clang/lib/Basic/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/LangOptions.cpp
M clang/lib/Basic/LangStandards.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Basic/SourceManager.cpp
A clang/lib/Basic/TargetDefines.h
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets.h
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.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/Mips.h
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/NVPTX.h
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/PPC.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
M clang/lib/Basic/Warnings.cpp
A clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
A clang/lib/CIR/CodeGen/CIRGenTypes.cpp
A clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
A clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
A clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/IR/CMakeLists.txt
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CodeGen/ABIInfo.cpp
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/CGCUDARuntime.cpp
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
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/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGGPUBuiltin.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/CGVTables.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/ConstantInitBuilder.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/LinkInModulesPass.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp
M clang/lib/CodeGen/SanitizerMetadata.cpp
M clang/lib/CodeGen/SwiftCallingConv.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/Driver/Compilation.cpp
M clang/lib/Driver/Distro.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/DriverOptions.cpp
M clang/lib/Driver/Job.cpp
M clang/lib/Driver/Multilib.cpp
M clang/lib/Driver/MultilibBuilder.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/lib/Driver/ToolChains/Arch/ARM.h
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Flang.h
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/SPIRV.h
M clang/lib/Driver/Types.cpp
M clang/lib/Driver/XRayArgs.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/Format/CMakeLists.txt
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
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/CreateInvocationFromCommandLine.cpp
M clang/lib/Frontend/DiagnosticRenderer.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Frontend/PrintPreprocessedOutput.cpp
M clang/lib/Frontend/Rewrite/FrontendActions.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/amdgpuintrin.h
A clang/lib/Headers/amxavx512intrin.h
A clang/lib/Headers/amxbf16transposeintrin.h
A clang/lib/Headers/amxcomplextransposeintrin.h
M clang/lib/Headers/amxfp16intrin.h
A clang/lib/Headers/amxfp16transposeintrin.h
A clang/lib/Headers/amxfp8intrin.h
M clang/lib/Headers/amxintrin.h
A clang/lib/Headers/amxmovrsintrin.h
A clang/lib/Headers/amxmovrstransposeintrin.h
A clang/lib/Headers/amxtf32intrin.h
A clang/lib/Headers/amxtf32transposeintrin.h
A clang/lib/Headers/amxtransposeintrin.h
M clang/lib/Headers/avx10_2copyintrin.h
M clang/lib/Headers/avx512vpopcntdqintrin.h
M clang/lib/Headers/avx512vpopcntdqvlintrin.h
M clang/lib/Headers/avxintrin.h
M clang/lib/Headers/cmpccxaddintrin.h
M clang/lib/Headers/cuda_wrappers/new
M clang/lib/Headers/emmintrin.h
A clang/lib/Headers/gpuintrin.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/immintrin.h
M clang/lib/Headers/intrin.h
M clang/lib/Headers/intrin0.h
M clang/lib/Headers/larchintrin.h
M clang/lib/Headers/lasxintrin.h
M clang/lib/Headers/limits.h
M clang/lib/Headers/lsxintrin.h
M clang/lib/Headers/mmintrin.h
A clang/lib/Headers/movrs_avx10_2_512intrin.h
A clang/lib/Headers/movrs_avx10_2intrin.h
A clang/lib/Headers/movrsintrin.h
A clang/lib/Headers/nvptxintrin.h
M clang/lib/Headers/opencl-c-base.h
M clang/lib/Headers/openmp_wrappers/complex_cmath.h
A clang/lib/Headers/sm4evexintrin.h
M clang/lib/Headers/stdalign.h
M clang/lib/Index/FileIndexRecord.cpp
M clang/lib/Index/IndexDecl.cpp
M clang/lib/Index/IndexingContext.h
M clang/lib/Index/USRGeneration.cpp
M clang/lib/InstallAPI/DirectoryScanner.cpp
M clang/lib/InstallAPI/Frontend.cpp
M clang/lib/Interpreter/CMakeLists.txt
M clang/lib/Interpreter/CodeCompletion.cpp
M clang/lib/Interpreter/IncrementalExecutor.h
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Interpreter/Wasm.cpp
M clang/lib/Interpreter/Wasm.h
M clang/lib/Lex/HeaderMap.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/InitHeaderSearch.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/MacroArgs.cpp
M clang/lib/Lex/MacroInfo.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Lex/PPCallbacks.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPExpressions.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/Pragma.cpp
M clang/lib/Lex/PreprocessingRecord.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Lex/PreprocessorLexer.cpp
M clang/lib/Lex/TokenConcatenation.cpp
M clang/lib/Lex/TokenLexer.cpp
M clang/lib/Parse/ParseAST.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/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/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/CheckExprLifetime.h
M clang/lib/Sema/CodeCompleteConsumer.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/JumpDiagnostics.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Sema/ParsedAttr.cpp
M clang/lib/Sema/ScopeInfo.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/SemaAccess.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaCast.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/SemaExprMember.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaFixItUtils.cpp
M 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/SemaModule.cpp
M clang/lib/Sema/SemaObjC.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/SemaSYCL.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaStmtAsm.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaSwift.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/SemaX86.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/ASTReaderInternals.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/CMakeLists.txt
M clang/lib/Serialization/GeneratePCH.cpp
M clang/lib/Serialization/GlobalModuleIndex.cpp
M clang/lib/Serialization/ModuleManager.cpp
A clang/lib/Serialization/TemplateArgumentHasher.cpp
A clang/lib/Serialization/TemplateArgumentHasher.h
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
M clang/lib/StaticAnalyzer/Checkers/BitwiseShiftChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CheckPlacementNew.cpp
M clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
R clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/Iterator.cpp
M clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/OSObjectCStyleCast.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp
R clang/lib/StaticAnalyzer/Checkers/PointerIterationChecker.cpp
R clang/lib/StaticAnalyzer/Checkers/PointerSortingChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/Taint.cpp
M clang/lib/StaticAnalyzer/Checkers/TraversalChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
A clang/lib/StaticAnalyzer/Checkers/WebKit/MemoryUnsafeCastChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
A clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
A clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
R clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
R clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/SVals.cpp
M clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp
M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
M clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
M clang/lib/Testing/TestAST.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Tooling/Inclusions/HeaderIncludes.cpp
M clang/lib/Tooling/Inclusions/Stdlib/StandardLibrary.cpp
M clang/lib/Tooling/Inclusions/Stdlib/StdSpecialSymbolMap.inc
M clang/lib/Tooling/Inclusions/Stdlib/StdSymbolMap.inc
M clang/lib/Tooling/Tooling.cpp
M clang/runtime/CMakeLists.txt
A clang/test/APINotes/Inputs/Headers/Lifetimebound.apinotes
A clang/test/APINotes/Inputs/Headers/Lifetimebound.h
M clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
M clang/test/APINotes/Inputs/Headers/SwiftImportAs.h
M clang/test/APINotes/Inputs/Headers/module.modulemap
A clang/test/APINotes/lifetimebound.cpp
M clang/test/APINotes/swift-import-as.cpp
A clang/test/AST/ByteCode/altivec.c
A clang/test/AST/ByteCode/amdgpu-nullptr.cl
A clang/test/AST/ByteCode/builtin-bit-cast-bitfields.cpp
A clang/test/AST/ByteCode/builtin-bit-cast-long-double.cpp
A clang/test/AST/ByteCode/builtin-bit-cast.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/c23.c
M clang/test/AST/ByteCode/complex.cpp
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/AST/ByteCode/cxx98.cpp
M clang/test/AST/ByteCode/functions.cpp
M clang/test/AST/ByteCode/literals.cpp
M clang/test/AST/ByteCode/new-delete.cpp
A clang/test/AST/ByteCode/openmp.cpp
M clang/test/AST/ByteCode/placement-new.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/AST/ByteCode/shifts.cpp
M clang/test/AST/ByteCode/vectors.cpp
A clang/test/AST/HLSL/ArrayOutArgExpr.hlsl
A clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
R clang/test/AST/HLSL/RWBuffer-AST.hlsl
R clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
A clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
A clang/test/AST/HLSL/TypedBuffers-AST.hlsl
A clang/test/AST/HLSL/is_structured_resource_element_compatible_concept.hlsl
A clang/test/AST/HLSL/is_typed_resource_element_compatible_concept.hlsl
A clang/test/AST/arm-mfp8.cpp
M clang/test/AST/ast-dump-amdgpu-types.c
M clang/test/AST/ast-dump-comment.cpp
A clang/test/AST/ast-dump-cxx2b-deducing-this.cpp
M clang/test/AST/ast-dump-recovery.cpp
M clang/test/AST/ast-dump-types-json.cpp
A clang/test/AST/ast-print-builtin-counted-by-ref.c
A clang/test/AST/ast-print-openacc-combined-construct.cpp
A clang/test/AST/ast-print-openacc-data-construct.cpp
A clang/test/AST/ast-print-openacc-init-construct.cpp
M clang/test/AST/ast-print-openacc-loop-construct.cpp
A clang/test/AST/ast-print-openacc-shutdown-construct.cpp
A clang/test/AST/ast-print-openacc-wait-construct.cpp
A clang/test/AST/ast-print-packindexingexpr.cpp
A clang/test/AST/attr-lifetime-capture-by.cpp
M clang/test/AST/attr-swift_attr.m
A clang/test/AST/ms-constexpr-new.cpp
A clang/test/ASTSYCL/ast-dump-sycl-kernel-entry-point.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-checked-const-member.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-checked-ptr.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-checked-return-value.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-counted-const-member.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
A clang/test/Analysis/Checkers/WebKit/local-vars-checked-const-member.cpp
A clang/test/Analysis/Checkers/WebKit/local-vars-counted-const-member.cpp
A clang/test/Analysis/Checkers/WebKit/memory-unsafe-cast.cpp
A clang/test/Analysis/Checkers/WebKit/memory-unsafe-cast.mm
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
A clang/test/Analysis/Checkers/WebKit/unchecked-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.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/Inputs/overloaded-delete-in-header.h
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/analyzer-enabled-checkers.c
M clang/test/Analysis/array-init-loop.cpp
M clang/test/Analysis/bstring.cpp
M clang/test/Analysis/chroot.c
M clang/test/Analysis/const-method-call.cpp
M clang/test/Analysis/copy-elision.cpp
M clang/test/Analysis/ctor-trivial-copy.cpp
M clang/test/Analysis/cxx-uninitialized-object-unguarded-access.cpp
M clang/test/Analysis/explain-svals.cpp
R clang/test/Analysis/identical-expressions.cpp
M clang/test/Analysis/initializer.cpp
M clang/test/Analysis/iterator-modeling.cpp
M clang/test/Analysis/malloc.c
A clang/test/Analysis/overloaded-delete-in-system-header.cpp
R clang/test/Analysis/ptr-iter.cpp
R clang/test/Analysis/ptr-sort.cpp
M clang/test/Analysis/reference.cpp
M clang/test/Analysis/show-checker-list.c
M clang/test/Analysis/stack-addr-ps.c
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
M clang/test/Analysis/stl-algorithm-modeling-aggressive-std-find-modeling.cpp
M clang/test/Analysis/stl-algorithm-modeling.cpp
A clang/test/Analysis/store-dump-orders.cpp
M clang/test/Analysis/string.c
M clang/test/Analysis/string.cpp
A clang/test/Analysis/string_notnullterm.c
M clang/test/Analysis/taint-generic.cpp
M clang/test/Analysis/template-param-objects.cpp
R clang/test/Analysis/traversal-algorithm.mm
A clang/test/Analysis/void-call-exit-modelling.c
A clang/test/C/C23/n2412.c
A clang/test/C/C2y/n3341.c
A clang/test/C/C2y/n3342.c
A clang/test/C/C2y/n3344.c
A clang/test/C/C2y/n3346.c
A clang/test/C/C2y/n3364.c
A clang/test/C/C2y/n3370.c
A clang/test/CIR/global-var-simple.cpp
M clang/test/CIR/hello.c
M clang/test/CMakeLists.txt
M clang/test/CXX/class.access/class.friend/p11.cpp
M clang/test/CXX/conv/conv.mem/p4.cpp
M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.nodiscard/p2.cpp
M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.nodiscard/p3.cpp
M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.noreturn/p1.cpp
M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p13.cpp
M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p2-cxx0x.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg158.cpp
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/cwg28xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg5xx.cpp
M clang/test/CXX/drs/cwg722.cpp
M clang/test/CXX/drs/cwg9xx.cpp
M clang/test/CXX/expr/expr.const/p2-0x.cpp
M clang/test/CXX/expr/expr.unary/expr.unary.op/p4.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
R 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.decls/temp.variadic/sizeofpack.cpp
M clang/test/CXX/temp/temp.res/p4.cpp
R clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
M clang/test/ClangScanDeps/diagnostics.c
M clang/test/ClangScanDeps/header-search-pruning-transitive.c
M clang/test/ClangScanDeps/link-libraries.c
M clang/test/ClangScanDeps/modules-context-hash.c
M clang/test/ClangScanDeps/modules-dep-args.c
M clang/test/ClangScanDeps/modules-extern-submodule.c
M clang/test/ClangScanDeps/modules-extern-unrelated.m
M clang/test/ClangScanDeps/modules-file-path-isolation.c
M clang/test/ClangScanDeps/modules-fmodule-name-no-module-built.m
M clang/test/ClangScanDeps/modules-full-by-mod-name.c
M clang/test/ClangScanDeps/modules-full.cpp
M clang/test/ClangScanDeps/modules-implicit-dot-private.m
M clang/test/ClangScanDeps/modules-incomplete-umbrella.c
M clang/test/ClangScanDeps/modules-inferred.m
M clang/test/ClangScanDeps/modules-no-undeclared-includes.c
M clang/test/ClangScanDeps/modules-pch-common-submodule.c
M clang/test/ClangScanDeps/modules-pch-common-via-submodule.c
M clang/test/ClangScanDeps/modules-pch.c
M clang/test/ClangScanDeps/modules-priv-fw-from-pub.m
M clang/test/ClangScanDeps/modules-redefinition.m
M clang/test/ClangScanDeps/modules-symlink-dir-vfs.c
M clang/test/ClangScanDeps/modules-transitive.c
M clang/test/ClangScanDeps/optimize-vfs.m
M clang/test/ClangScanDeps/print-timing.c
M clang/test/ClangScanDeps/removed-args.c
A clang/test/CodeCompletion/keywords-cxx20.cpp
M clang/test/CodeGen/2004-02-20-Builtins.c
A clang/test/CodeGen/AArch64/ABI-align-packed-assembly.c
A clang/test/CodeGen/AArch64/ABI-align-packed.c
A clang/test/CodeGen/AArch64/args-hfa.c
A clang/test/CodeGen/AArch64/args.cpp
A clang/test/CodeGen/AArch64/arguments-hfa-v3.c
A clang/test/CodeGen/AArch64/attr-mode-complex.c
A clang/test/CodeGen/AArch64/attr-mode-float.c
A clang/test/CodeGen/AArch64/bf16-dotprod-intrinsics.c
A clang/test/CodeGen/AArch64/bf16-getset-intrinsics.c
A clang/test/CodeGen/AArch64/bf16-lane-intrinsics.c
A clang/test/CodeGen/AArch64/bf16-ldst-intrinsics.c
A clang/test/CodeGen/AArch64/bf16-reinterpret-intrinsics.c
A clang/test/CodeGen/AArch64/branch-protection-attr.c
A clang/test/CodeGen/AArch64/byval-temp.c
A clang/test/CodeGen/AArch64/cpu-supports-target.c
A clang/test/CodeGen/AArch64/cpu-supports.c
A clang/test/CodeGen/AArch64/debug-sve-vector-types.c
A clang/test/CodeGen/AArch64/debug-sve-vectorx2-types.c
A clang/test/CodeGen/AArch64/debug-sve-vectorx3-types.c
A clang/test/CodeGen/AArch64/debug-sve-vectorx4-types.c
A clang/test/CodeGen/AArch64/debug-types.c
A clang/test/CodeGen/AArch64/elf-pauthabi.c
A clang/test/CodeGen/AArch64/fix-cortex-a53-835769.c
A clang/test/CodeGen/AArch64/fixed-register-global.c
A clang/test/CodeGen/AArch64/fmv-dependencies.c
A clang/test/CodeGen/AArch64/fmv-mix-explicit-implicit-default.c
A clang/test/CodeGen/AArch64/fmv-resolver-emission.c
A clang/test/CodeGen/AArch64/fmv-streaming.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_cvt.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_fmopa.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_mla.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_scale.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_cvt.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_cvtn.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_fdot.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_fmla.c
A clang/test/CodeGen/AArch64/fpm-helpers.c
A clang/test/CodeGen/AArch64/gcs.c
A clang/test/CodeGen/AArch64/inline-asm.c
A clang/test/CodeGen/AArch64/inlineasm-ios.c
A clang/test/CodeGen/AArch64/ls64-inline-asm.c
A clang/test/CodeGen/AArch64/ls64.c
A clang/test/CodeGen/AArch64/matmul.cpp
A clang/test/CodeGen/AArch64/mixed-target-attributes.c
A clang/test/CodeGen/AArch64/mops.c
A clang/test/CodeGen/AArch64/neon-2velem.c
A clang/test/CodeGen/AArch64/neon-3v.c
A clang/test/CodeGen/AArch64/neon-across.c
A clang/test/CodeGen/AArch64/neon-dot-product.c
A clang/test/CodeGen/AArch64/neon-extract.c
A clang/test/CodeGen/AArch64/neon-faminmax-intrinsics.c
A clang/test/CodeGen/AArch64/neon-fcvt-intrinsics.c
A clang/test/CodeGen/AArch64/neon-fma.c
A clang/test/CodeGen/AArch64/neon-fp16fml.c
A clang/test/CodeGen/AArch64/neon-fp8-intrinsics/acle_neon_fscale.c
A clang/test/CodeGen/AArch64/neon-intrinsics-constrained.c
A clang/test/CodeGen/AArch64/neon-intrinsics.c
A clang/test/CodeGen/AArch64/neon-ldst-one-rcpc3.c
A clang/test/CodeGen/AArch64/neon-ldst-one.c
A clang/test/CodeGen/AArch64/neon-luti.c
A clang/test/CodeGen/AArch64/neon-misc-constrained.c
A clang/test/CodeGen/AArch64/neon-misc.c
A clang/test/CodeGen/AArch64/neon-perm.c
A clang/test/CodeGen/AArch64/neon-range-checks.c
A clang/test/CodeGen/AArch64/neon-scalar-copy.c
A clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem-constrained.c
A clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem.c
A clang/test/CodeGen/AArch64/neon-sha3.c
A clang/test/CodeGen/AArch64/neon-shifts.c
A clang/test/CodeGen/AArch64/neon-sm4-sm3.c
A clang/test/CodeGen/AArch64/neon-tbl.c
A clang/test/CodeGen/AArch64/neon-vcadd.c
A clang/test/CodeGen/AArch64/neon-vcmla.c
A clang/test/CodeGen/AArch64/neon-vcombine.c
A clang/test/CodeGen/AArch64/neon-vget-hilo.c
A clang/test/CodeGen/AArch64/neon-vget.c
A clang/test/CodeGen/AArch64/neon-vsqadd-float-conversion.c
A clang/test/CodeGen/AArch64/neon-vuqadd-float-conversion-warning.c
A clang/test/CodeGen/AArch64/poly-add.c
A clang/test/CodeGen/AArch64/poly128.c
A clang/test/CodeGen/AArch64/poly64.c
A clang/test/CodeGen/AArch64/pure-scalable-args-empty-union.c
A clang/test/CodeGen/AArch64/pure-scalable-args.c
A clang/test/CodeGen/AArch64/sign-return-address.c
A clang/test/CodeGen/AArch64/sme-inline-callees-streaming-attrs.c
A clang/test/CodeGen/AArch64/sme-inline-streaming-attrs.c
A clang/test/CodeGen/AArch64/sme-intrinsics/aarch64-sme-attrs.cpp
A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_add-i32.c
A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_add-i64.c
A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_cnt.c
A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_ld1.c
A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_ld1_vnum.c
A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_ldr.c
A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_mopa-za32.c
A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_mopa-za64.c
A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_mops-za32.c
A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_mops-za64.c
A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_read.c
A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_st1.c
A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_st1_vnum.c
A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_state_builtin.c
A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_state_funs.c
A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_str.c
A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_write.c
A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_zero.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/aarch64-sme2-attrs.cpp
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_add.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_add_sub_za16.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_bmop.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_clamp.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_cvt.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_cvtl.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_cvtn.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_faminmax.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fmlas16.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp8_fdot.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp8_fvdot.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp_dots.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_frint.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_int_dots.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_ldr_str_zt.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti4_lane_zt.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
A 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
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_max.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_maxnm.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_min.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_minnm.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mla.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mlal.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mlall.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mls.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mlsl.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mopa_nonwide.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_read.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_sqdmulh.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_sub.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_unpkx2.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_unpkx4.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vdot.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_add.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_qrshr.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_rshl.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_selx2.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_selx4.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_uzpx2.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_uzpx4.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_zipx2.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_zipx4.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_write.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_write_lane_zt.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_zero_zt.c
A clang/test/CodeGen/AArch64/sme2p1-intrinsics/acle_sme2p1_movaz.c
A clang/test/CodeGen/AArch64/sme2p1-intrinsics/acle_sme2p1_zero.c
A clang/test/CodeGen/AArch64/soft-float-abi-errors.c
A clang/test/CodeGen/AArch64/soft-float-abi.c
A clang/test/CodeGen/AArch64/strictfp-builtins.c
A clang/test/CodeGen/AArch64/subarch-compatbility.c
A clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
A clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
A clang/test/CodeGen/AArch64/sve-inline-asm-crash.c
A clang/test/CodeGen/AArch64/sve-inline-asm-datatypes.c
A clang/test/CodeGen/AArch64/sve-inline-asm-negative-test.c
A clang/test/CodeGen/AArch64/sve-inline-asm.c
A clang/test/CodeGen/AArch64/sve-intrinsics/README
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_abd.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_abs.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_acge.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_acgt.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_acle.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_aclt.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_add.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_adda.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_addv.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_adrb.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_adrd.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_adrh.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_adrw.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_and.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_andv.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_asr.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_asrd.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_bfdot.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_bfmlalb.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_bfmlalt.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_bfmmla.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_bic.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_brka.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_brkb.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_brkn.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_brkpa.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_brkpb.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cadd.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_clasta-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_clasta.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_clastb-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_clastb.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cls.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_clz.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cmla.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cmpeq.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cmpge.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cmpgt.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cmple.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cmplt.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cmpne.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cmpuo.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cnot.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cnt-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cnt.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cntb.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cntd.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cnth.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cntp.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cntw.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_compact.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_create2-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_create2.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_create3-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_create3.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_create4-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_create4.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cvt-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cvt.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cvtnt.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_div.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_divr.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dot.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dup-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dup.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dupq-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dupq.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dupq_const.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_eor.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_eorv.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_expa.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ext-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ext.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_extb.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_exth.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_extw.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_get2-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_get2.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_get3-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_get3.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_get4-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_get4.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_index.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_insr-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_insr.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_lasta-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_lasta.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_lastb-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_lastb.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1ro-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1ro.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1rq-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1rq.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1sb.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1sh.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1sw.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1ub.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1uh.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1uw.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld2-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld2.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld3-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld3.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld4-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld4.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1sb.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1sh.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1sw.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1ub.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1uh.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1uw.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1sb.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1sh.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1sw.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1ub.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1uh.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1uw.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnt1-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnt1.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_len-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_len.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_lsl.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_lsr.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_mad.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_matmul_fp32.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_matmul_fp64.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_max.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_maxnm.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_maxnmv.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_maxv.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_min.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_minnm.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_minnmv.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_minv.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_mla.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_mls.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_mmla.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_mov.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_msb.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_mul.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_mulh.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_mulx.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_nand.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_neg.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_nmad.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_nmla.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_nmls.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_nmsb.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_nor.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_not.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_orn.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_orr.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_orv.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_pfalse.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_pfirst.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_pnext.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_prfb.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_prfd.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_prfh.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_prfw.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ptest.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ptrue.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_qadd.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_qdecb.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_qdecd.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_qdech.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_qdecp.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_qdecw.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_qincb.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_qincd.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_qinch.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_qincp.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_qincw.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_qsub.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rbit.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rdffr.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_recpe.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_recps.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_recpx.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_reinterpret-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_reinterpret.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rev-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rev.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_revb.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_revh.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_revw.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rinta.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rinti.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rintm.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rintn.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rintp.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rintx.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rintz.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rsqrte.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rsqrts.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_scale.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_sel-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_sel.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_set2-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_set2.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_set3-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_set3.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_set4-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_set4.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_setffr.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_splice-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_splice.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_sqrt.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1b.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1h.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1w.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st2-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st2.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st3-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st3.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st4-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st4.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_stnt1-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_stnt1.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_sub.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_subr.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_sudot.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_tbl-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_tbl.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_tmad.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn1-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn1-fp64-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn1-fp64.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn1.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn2-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn2-fp64-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn2-fp64.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn2.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_tsmul.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_tssel.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef2-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef2.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef3-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef3.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef4-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef4.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_unpkhi.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_unpklo.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_usdot.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp1-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp1-fp64-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp1-fp64.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp1.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp2-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp2-fp64-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp2-fp64.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp2.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_whilele.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_whilelt.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_wrffr.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip1-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip1-fp64-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip1-fp64.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip1.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip2-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip2-fp64-bfloat.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip2-fp64.c
A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip2.c
A clang/test/CodeGen/AArch64/sve-vector-arith-ops.c
A clang/test/CodeGen/AArch64/sve-vector-bits-codegen.c
A clang/test/CodeGen/AArch64/sve-vector-bitwise-ops.c
A clang/test/CodeGen/AArch64/sve-vector-compare-ops.c
A clang/test/CodeGen/AArch64/sve-vector-shift-ops.c
A clang/test/CodeGen/AArch64/sve-vector-subscript-ops.c
A clang/test/CodeGen/AArch64/sve-vls-arith-ops.c
A clang/test/CodeGen/AArch64/sve-vls-bitwise-ops.c
A clang/test/CodeGen/AArch64/sve-vls-compare-ops.c
A clang/test/CodeGen/AArch64/sve-vls-shift-ops.c
A clang/test/CodeGen/AArch64/sve-vls-subscript-ops.c
A clang/test/CodeGen/AArch64/sve.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_aba.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_abalb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_abalt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_abdlb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_abdlt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_adalp.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_adclb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_adclt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_addhnb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_addhnt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_addlb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_addlbt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_addlt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_addp.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_addwb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_addwt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_aesd.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_aese.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_aesimc.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_aesmc.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bcax.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bdep.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bext.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bgrp.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bsl.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bsl1n.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bsl2n.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_cadd.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_cdot.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_cmla.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_cvtlt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_cvtnt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_cvtx.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_cvtxnt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_eor3.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_eorbt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_eortb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_faminmax.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_hadd.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_histcnt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_histseg.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_hsub.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_hsubr.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1sb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1sh.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1sw.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1ub.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1uh.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1uw.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_logb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_luti.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_match.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_maxnmp.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_maxp.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_minnmp.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_minp.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_mla.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_mlalb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_mlalt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_mls.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_mlslb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_mlslt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_movlb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_movlt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_mul.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_mullb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_mullt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_nbsl.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_nmatch.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_pmul.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_pmullb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_pmullb_128.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_pmullt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_pmullt_128.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qabs.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qadd.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qcadd.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qdmlalb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qdmlalbt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qdmlalt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qdmlslb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qdmlslbt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qdmlslt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qdmulh.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qdmullb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qdmullt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qneg.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qrdcmlah.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qrdmlah.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qrdmlsh.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qrdmulh.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qrshl.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qrshrnb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qrshrnt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qrshrunb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qrshrunt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qshl.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qshlu.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qshrnb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qshrnt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qshrunb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qshrunt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qsub.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qsubr.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qxtnb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qxtnt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qxtunb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qxtunt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_raddhnb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_raddhnt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_rax1.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_recpe.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_revd.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_rhadd.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_rshl.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_rshr.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_rshrnb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_rshrnt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_rsqrte.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_rsra.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_rsubhnb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_rsubhnt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_sbclb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_sbclt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_shllb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_shllt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_shrnb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_shrnt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_sli.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_sm4e.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_sm4ekey.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_sqadd.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_sra.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_sri.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_stnt1.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_stnt1b.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_stnt1h.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_stnt1w.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_subhnb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_subhnt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_sublb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_sublbt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_sublt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_subltb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_subwb.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_subwt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_tbl2-bfloat.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_tbl2.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_tbx-bfloat.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_tbx.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_uqadd.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_whilege.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_whilegt.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_whilerw-bfloat.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_whilerw.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_whilewr-bfloat.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_whilewr.c
A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_xar.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfadd.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfclamp.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmax.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmin.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfminnm.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmla.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmla_lane.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmls.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmls_lane.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmlsl.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmul.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmul_lane.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfsub.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_cntp.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_create2_bool.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_create4_bool.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_dot.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_dupq.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_extq.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_fclamp.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_fp_reduce.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_get2_bool.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_get4_bool.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_int_reduce.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_ld1.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_ld1_single.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_ldnt1.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_loads.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_pext.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_pfalse.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_pmov_to_pred.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_pmov_to_vector.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_psel.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_psel_svcount.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_ptrue.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_qcvtn.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_qrshr.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_sclamp.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_set2_bool.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_set4_bool.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_st1.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_st1_single.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_stnt1.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_store.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_tblq.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_tbxq.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_uclamp.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_undef_bool.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_uzpq1.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_uzpq2.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_while_pn.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_while_x2.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_zipq1.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_zipq2.c
A clang/test/CodeGen/AArch64/svepcs.c
A clang/test/CodeGen/AArch64/sysregs-target.c
A clang/test/CodeGen/AArch64/targetattr-arch.c
A clang/test/CodeGen/AArch64/targetattr-crypto.c
A clang/test/CodeGen/AArch64/targetattr.c
A clang/test/CodeGen/AArch64/tme.cpp
A clang/test/CodeGen/AArch64/type-sizes.c
A clang/test/CodeGen/AArch64/v8.1a-neon-intrinsics.c
A clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics-constrained.c
A clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics.c
A clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics-constrained.c
A clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics-generic.c
A clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics.c
A clang/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.c
A clang/test/CodeGen/AArch64/v8.5a-scalar-frint3264-intrinsic.c
A clang/test/CodeGen/AArch64/v8.6a-neon-intrinsics.c
A clang/test/CodeGen/AArch64/varargs-ms.c
A clang/test/CodeGen/AArch64/varargs-sve.c
A clang/test/CodeGen/AArch64/varargs.c
A clang/test/CodeGen/AArch64/vpcs.c
M clang/test/CodeGen/PowerPC/altivec.c
M clang/test/CodeGen/PowerPC/builtins-ppc-altivec.c
M clang/test/CodeGen/PowerPC/builtins-ppc-fastmath.c
M clang/test/CodeGen/PowerPC/builtins-ppc-p10vector.c
M clang/test/CodeGen/PowerPC/builtins-ppc-p8vector.c
M clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma.c
M clang/test/CodeGen/PowerPC/builtins-ppc-quadword.c
M clang/test/CodeGen/PowerPC/builtins-ppc-vsx.c
M clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat.c
M clang/test/CodeGen/PowerPC/musttail-forward-declaration-inline.c
M clang/test/CodeGen/PowerPC/musttail-forward-declaration-weak.c
M clang/test/CodeGen/PowerPC/musttail-indirect.cpp
M clang/test/CodeGen/PowerPC/musttail-inline.c
M clang/test/CodeGen/PowerPC/musttail-undefined.c
M clang/test/CodeGen/PowerPC/musttail-weak.c
M clang/test/CodeGen/PowerPC/musttail.c
M clang/test/CodeGen/PowerPC/ppc-emmintrin.c
M clang/test/CodeGen/PowerPC/ppc-xmmintrin.c
M clang/test/CodeGen/PowerPC/vector-bool-pixel-altivec-init-no-parentheses.c
M clang/test/CodeGen/PowerPC/vector-bool-pixel-altivec-init.c
A clang/test/CodeGen/RISCV/attr-hw-shadow-stack.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-codegen.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-globals.c
A clang/test/CodeGen/RISCV/builtin-cpu-is-error.c
A clang/test/CodeGen/RISCV/builtin-cpu-is.c
M clang/test/CodeGen/RISCV/riscv-func-attr-target.c
M clang/test/CodeGen/RISCV/riscv-inline-asm.c
M clang/test/CodeGen/RISCV/rvv-vls-arith-ops.c
M clang/test/CodeGen/RISCV/rvv-vls-bitwise-ops.c
M clang/test/CodeGen/RISCV/rvv-vls-compare-ops.c
M clang/test/CodeGen/RISCV/rvv-vls-shift-ops.c
A clang/test/CodeGen/SystemZ/builtin-setjmp-logjmp.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
M clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes-malloc.c
M clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes.c
M clang/test/CodeGen/SystemZ/zvector.c
M clang/test/CodeGen/SystemZ/zvector2.c
A clang/test/CodeGen/X86/amx_avx512_api.c
A clang/test/CodeGen/X86/amx_fp8.c
A clang/test/CodeGen/X86/amx_fp8_api.c
A clang/test/CodeGen/X86/amx_fp8_errors.c
A clang/test/CodeGen/X86/amx_fp8_inline_asm.c
A clang/test/CodeGen/X86/amx_movrs.c
A clang/test/CodeGen/X86/amx_movrs_api.c
A clang/test/CodeGen/X86/amx_movrs_errors.c
A clang/test/CodeGen/X86/amx_movrs_tranpose.c
A clang/test/CodeGen/X86/amx_movrs_tranpose_api.c
A clang/test/CodeGen/X86/amx_movrs_transpose_errors.c
A clang/test/CodeGen/X86/amx_tf32.c
A clang/test/CodeGen/X86/amx_tf32_api.c
A clang/test/CodeGen/X86/amx_tf32_errors.c
A clang/test/CodeGen/X86/amx_tf32_inline_asm.c
A clang/test/CodeGen/X86/amx_transpose.c
A clang/test/CodeGen/X86/amx_transpose_api.c
A clang/test/CodeGen/X86/amx_transpose_errors.c
A clang/test/CodeGen/X86/amxavx512-builtins.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/avx10_2bf16-builtins.c
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/avx512bw-builtins.c
M clang/test/CodeGen/X86/avx512dq-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/avx512vbmi2-builtins.c
M clang/test/CodeGen/X86/avx512vl-builtins.c
M clang/test/CodeGen/X86/avx512vldq-builtins.c
M clang/test/CodeGen/X86/avx512vlvbmi2-builtins.c
M clang/test/CodeGen/X86/avx512vpopcntdq-builtins.c
M clang/test/CodeGen/X86/avx512vpopcntdqvl-builtins.c
A clang/test/CodeGen/X86/builtin_test_helpers.h
M clang/test/CodeGen/X86/cmpccxadd-builtins-error.c
M clang/test/CodeGen/X86/cx-complex-range.c
M clang/test/CodeGen/X86/math-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/movrs-builtins.c
M clang/test/CodeGen/X86/ms-x86-intrinsics.c
A clang/test/CodeGen/X86/sm4-evex-builtins.c
M clang/test/CodeGen/X86/sse-builtins.c
M clang/test/CodeGen/X86/sse.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/x86_64-PR42672.c
M clang/test/CodeGen/X86/xop-builtins-cmp.c
M clang/test/CodeGen/X86/xop-builtins.c
R clang/test/CodeGen/aarch64-ABI-align-packed-assembly.c
R clang/test/CodeGen/aarch64-ABI-align-packed.c
R clang/test/CodeGen/aarch64-args-hfa.c
R clang/test/CodeGen/aarch64-args.cpp
R clang/test/CodeGen/aarch64-arguments-hfa-v3.c
R clang/test/CodeGen/aarch64-attr-mode-complex.c
R clang/test/CodeGen/aarch64-attr-mode-float.c
R clang/test/CodeGen/aarch64-bf16-dotprod-intrinsics.c
R clang/test/CodeGen/aarch64-bf16-getset-intrinsics.c
R clang/test/CodeGen/aarch64-bf16-lane-intrinsics.c
R clang/test/CodeGen/aarch64-bf16-ldst-intrinsics.c
R clang/test/CodeGen/aarch64-bf16-reinterpret-intrinsics.c
R clang/test/CodeGen/aarch64-branch-protection-attr.c
R clang/test/CodeGen/aarch64-byval-temp.c
R clang/test/CodeGen/aarch64-cpu-supports-target.c
R clang/test/CodeGen/aarch64-cpu-supports.c
R clang/test/CodeGen/aarch64-debug-sve-vector-types.c
R clang/test/CodeGen/aarch64-debug-sve-vectorx2-types.c
R clang/test/CodeGen/aarch64-debug-sve-vectorx3-types.c
R clang/test/CodeGen/aarch64-debug-sve-vectorx4-types.c
R clang/test/CodeGen/aarch64-elf-pauthabi.c
R clang/test/CodeGen/aarch64-fix-cortex-a53-835769.c
R clang/test/CodeGen/aarch64-fmv-dependencies.c
R clang/test/CodeGen/aarch64-fmv-resolver-emission.c
R clang/test/CodeGen/aarch64-fmv-streaming.c
R clang/test/CodeGen/aarch64-fp8-intrinsics/acle_sme2_fp8_scale.c
R clang/test/CodeGen/aarch64-gcs.c
R clang/test/CodeGen/aarch64-inline-asm.c
R clang/test/CodeGen/aarch64-inlineasm-ios.c
R clang/test/CodeGen/aarch64-ls64-inline-asm.c
R clang/test/CodeGen/aarch64-ls64.c
R clang/test/CodeGen/aarch64-matmul.cpp
R clang/test/CodeGen/aarch64-mixed-target-attributes.c
R clang/test/CodeGen/aarch64-mops.c
R clang/test/CodeGen/aarch64-neon-2velem.c
R clang/test/CodeGen/aarch64-neon-3v.c
R clang/test/CodeGen/aarch64-neon-across.c
R clang/test/CodeGen/aarch64-neon-dot-product.c
R clang/test/CodeGen/aarch64-neon-extract.c
R clang/test/CodeGen/aarch64-neon-faminmax-intrinsics.c
R clang/test/CodeGen/aarch64-neon-fcvt-intrinsics.c
R clang/test/CodeGen/aarch64-neon-fma.c
R clang/test/CodeGen/aarch64-neon-fp16fml.c
R clang/test/CodeGen/aarch64-neon-fp8-intrinsics/acle_neon_fscale.c
R clang/test/CodeGen/aarch64-neon-intrinsics-constrained.c
R clang/test/CodeGen/aarch64-neon-intrinsics.c
R clang/test/CodeGen/aarch64-neon-ldst-one-rcpc3.c
R clang/test/CodeGen/aarch64-neon-ldst-one.c
R clang/test/CodeGen/aarch64-neon-luti.c
R clang/test/CodeGen/aarch64-neon-misc-constrained.c
R clang/test/CodeGen/aarch64-neon-misc.c
R clang/test/CodeGen/aarch64-neon-perm.c
R clang/test/CodeGen/aarch64-neon-range-checks.c
R clang/test/CodeGen/aarch64-neon-scalar-copy.c
R clang/test/CodeGen/aarch64-neon-scalar-x-indexed-elem-constrained.c
R clang/test/CodeGen/aarch64-neon-scalar-x-indexed-elem.c
R clang/test/CodeGen/aarch64-neon-sha3.c
R clang/test/CodeGen/aarch64-neon-shifts.c
R clang/test/CodeGen/aarch64-neon-sm4-sm3.c
R clang/test/CodeGen/aarch64-neon-tbl.c
R clang/test/CodeGen/aarch64-neon-vcadd.c
R clang/test/CodeGen/aarch64-neon-vcmla.c
R clang/test/CodeGen/aarch64-neon-vcombine.c
R clang/test/CodeGen/aarch64-neon-vget-hilo.c
R clang/test/CodeGen/aarch64-neon-vget.c
R clang/test/CodeGen/aarch64-neon-vsqadd-float-conversion.c
R clang/test/CodeGen/aarch64-neon-vuqadd-float-conversion-warning.c
R clang/test/CodeGen/aarch64-poly-add.c
R clang/test/CodeGen/aarch64-poly128.c
R clang/test/CodeGen/aarch64-poly64.c
R clang/test/CodeGen/aarch64-sign-return-address.c
R clang/test/CodeGen/aarch64-sme-inline-streaming-attrs.c
R clang/test/CodeGen/aarch64-sme-intrinsics/aarch64-sme-attrs.cpp
R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i32.c
R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i64.c
R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_cnt.c
R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1.c
R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1_vnum.c
R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ldr.c
R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za32.c
R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za64.c
R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za32.c
R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za64.c
R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_read.c
R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1.c
R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1_vnum.c
R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_state_builtin.c
R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_state_funs.c
R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_str.c
R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_write.c
R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_zero.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/aarch64-sme2-attrs.cpp
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_bmop.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtl.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtn.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_faminmax.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fp_dots.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_frint.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_int_dots.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_ldr_str_zt.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_zt.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mla.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlal.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlall.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mls.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlsl.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mop.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_read.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sqdmulh.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sub.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx2.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx4.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vdot.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_add.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_qrshr.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_rshl.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx2.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx4.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx2.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx4.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx2.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx4.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_write.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_write_lane_zt.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_zero_zt.c
R clang/test/CodeGen/aarch64-sme2p1-intrinsics/acle_sme2p1_movaz.c
R clang/test/CodeGen/aarch64-sme2p1-intrinsics/acle_sme2p1_zero.c
R clang/test/CodeGen/aarch64-soft-float-abi-errors.c
R clang/test/CodeGen/aarch64-soft-float-abi.c
R clang/test/CodeGen/aarch64-strictfp-builtins.c
R clang/test/CodeGen/aarch64-subarch-compatbility.c
R clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
R clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
R clang/test/CodeGen/aarch64-sve-inline-asm-crash.c
R clang/test/CodeGen/aarch64-sve-inline-asm-datatypes.c
R clang/test/CodeGen/aarch64-sve-inline-asm-negative-test.c
R clang/test/CodeGen/aarch64-sve-inline-asm.c
R clang/test/CodeGen/aarch64-sve-intrinsics/README
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_abd.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_abs.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acge.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acgt.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acle.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_aclt.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_add.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adda.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_addv.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adrb.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adrd.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adrh.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adrw.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_and.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_andv.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_asr.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_asrd.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfdot.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmlalb.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmlalt.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmmla.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bic.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brka.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkb.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkn.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkpa.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkpb.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cadd.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clasta-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clasta.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clastb-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clastb.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cls.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clz.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmla.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpeq.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpge.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpgt.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmple.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmplt.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpne.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpuo.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnot.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnt-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnt.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntb.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntd.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnth.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntp.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntw.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_compact.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvt-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvt.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvtnt.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_div.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_divr.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dot.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq_const.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_eor.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_eorv.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_expa.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ext-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ext.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_extb.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_exth.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_extw.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_index.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_insr-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_insr.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lasta-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lasta.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lastb-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lastb.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ro-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ro.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1rq-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1rq.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sb.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sh.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sw.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ub.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uh.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uw.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sb.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sh.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sw.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1ub.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1uh.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1uw.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1sb.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1sh.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1sw.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1ub.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1uh.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1uw.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnt1-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnt1.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_len-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_len.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lsl.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lsr.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mad.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_matmul_fp32.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_matmul_fp64.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_max.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_maxnm.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_maxnmv.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_maxv.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_min.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_minnm.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_minnmv.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_minv.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mla.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mls.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mmla.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mov.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_msb.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mul.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mulh.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mulx.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nand.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_neg.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmad.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmla.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmls.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmsb.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nor.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_not.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_orn.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_orr.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_orv.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_pfalse.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_pfirst.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_pnext.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfb.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfd.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfh.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfw.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ptest.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ptrue.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qadd.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecb.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecd.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdech.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecp.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecw.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincb.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincd.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qinch.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincp.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincw.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qsub.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rbit.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rdffr.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_recpe.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_recps.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_recpx.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rev-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rev.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_revb.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_revh.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_revw.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rinta.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rinti.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintm.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintn.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintp.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintx.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintz.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rsqrte.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rsqrts.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_scale.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sel-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sel.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_setffr.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_splice-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_splice.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sqrt.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1b.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1h.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1w.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_stnt1-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_stnt1.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sub.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_subr.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sudot.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tbl-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tbl.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tmad.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-fp64-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-fp64.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-fp64-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-fp64.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tsmul.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tssel.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_unpkhi.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_unpklo.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_usdot.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-fp64-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-fp64.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-fp64-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-fp64.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_whilele.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_whilelt.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_wrffr.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-fp64-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-fp64.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-fp64-bfloat.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-fp64.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2.c
R clang/test/CodeGen/aarch64-sve-vector-arith-ops.c
R clang/test/CodeGen/aarch64-sve-vector-bits-codegen.c
R clang/test/CodeGen/aarch64-sve-vector-bitwise-ops.c
R clang/test/CodeGen/aarch64-sve-vector-compare-ops.c
R clang/test/CodeGen/aarch64-sve-vector-shift-ops.c
R clang/test/CodeGen/aarch64-sve-vector-subscript-ops.c
R clang/test/CodeGen/aarch64-sve-vls-arith-ops.c
R clang/test/CodeGen/aarch64-sve-vls-bitwise-ops.c
R clang/test/CodeGen/aarch64-sve-vls-compare-ops.c
R clang/test/CodeGen/aarch64-sve-vls-shift-ops.c
R clang/test/CodeGen/aarch64-sve-vls-subscript-ops.c
R clang/test/CodeGen/aarch64-sve.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aba.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adalp.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlbt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addp.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesd.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aese.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesimc.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesmc.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bcax.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bdep.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bext.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bgrp.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl1n.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl2n.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cadd.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cdot.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cmla.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtlt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtnt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtx.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtxnt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eor3.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eorbt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eortb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_faminmax.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hadd.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_histcnt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_histseg.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsub.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsubr.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sh.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sw.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1ub.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uh.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uw.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_logb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_luti.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_match.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_maxnmp.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_maxp.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_minnmp.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_minp.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mla.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mls.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_movlb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_movlt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mul.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_nbsl.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_nmatch.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmul.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb_128.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt_128.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qabs.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qadd.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qcadd.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalbt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslbt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmulh.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qneg.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdcmlah.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlah.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlsh.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmulh.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshl.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrnb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrnt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrunb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrunt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshl.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshlu.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrnb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrnt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrunb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrunt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsub.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsubr.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtnb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtnt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtunb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtunt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rax1.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_recpe.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rhadd.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshl.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshr.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshrnb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshrnt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsqrte.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsra.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shllb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shllt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shrnb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shrnt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sli.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sm4e.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sm4ekey.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sqadd.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sra.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sri.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1b.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1h.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1w.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublbt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subltb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwb.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2-bfloat.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbx-bfloat.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbx.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_uqadd.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilege.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilegt.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilerw-bfloat.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilerw.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilewr-bfloat.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilewr.c
R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_xar.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfclamp.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla_lane.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls_lane.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmlsl.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul_lane.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_cntp.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create2_bool.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create4_bool.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_dot.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_dupq.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_extq.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fclamp.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fp_reduce.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get2_bool.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get4_bool.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_int_reduce.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1_single.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ldnt1.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pext.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pfalse.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_pred.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_vector.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_psel.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_psel_svcount.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ptrue.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_qcvtn.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_qrshr.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_sclamp.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set2_bool.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set4_bool.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1_single.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_stnt1.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tblq.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tbxq.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uclamp.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_undef_bool.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq1.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq2.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_pn.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_x2.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq1.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq2.c
R clang/test/CodeGen/aarch64-svepcs.c
R clang/test/CodeGen/aarch64-sysregs-target.c
R clang/test/CodeGen/aarch64-targetattr-arch.c
R clang/test/CodeGen/aarch64-targetattr-crypto.c
R clang/test/CodeGen/aarch64-targetattr.c
R clang/test/CodeGen/aarch64-tme.cpp
R clang/test/CodeGen/aarch64-type-sizes.c
R clang/test/CodeGen/aarch64-v8.1a-neon-intrinsics.c
R clang/test/CodeGen/aarch64-v8.2a-fp16-intrinsics-constrained.c
R clang/test/CodeGen/aarch64-v8.2a-fp16-intrinsics.c
R clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-constrained.c
R clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-generic.c
R clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics.c
R clang/test/CodeGen/aarch64-v8.5a-neon-frint3264-intrinsic.c
R clang/test/CodeGen/aarch64-v8.5a-scalar-frint3264-intrinsic.c
R clang/test/CodeGen/aarch64-v8.6a-neon-intrinsics.c
R clang/test/CodeGen/aarch64-varargs-ms.c
R clang/test/CodeGen/aarch64-varargs-sve.c
R clang/test/CodeGen/aarch64-varargs.c
R clang/test/CodeGen/aarch64-vpcs.c
M clang/test/CodeGen/alias.cpp
A clang/test/CodeGen/allow-ubsan-check-inline.c
A clang/test/CodeGen/amdgpu-barrier-type-debug-info.c
M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
A clang/test/CodeGen/arm-mfp8.c
M clang/test/CodeGen/arm-mve-intrinsics/absneg.c
M clang/test/CodeGen/arm-mve-intrinsics/bitwise-imm.c
M clang/test/CodeGen/arm-mve-intrinsics/compare.c
M clang/test/CodeGen/arm-mve-intrinsics/cplusplus.cpp
M clang/test/CodeGen/arm-mve-intrinsics/ternary.c
M clang/test/CodeGen/arm-mve-intrinsics/vadc.c
M clang/test/CodeGen/arm-mve-intrinsics/vbicq.c
M clang/test/CodeGen/arm-mve-intrinsics/vector-shift-imm.c
M clang/test/CodeGen/arm-mve-intrinsics/vornq.c
M clang/test/CodeGen/arm-neon-shifts.c
M clang/test/CodeGen/arm-vfp16-arguments.c
M clang/test/CodeGen/arm-vfp16-arguments2.cpp
M clang/test/CodeGen/arm64-microsoft-intrinsics.c
M clang/test/CodeGen/arm64_32-vaarg.c
M clang/test/CodeGen/arm_neon_intrinsics.c
A clang/test/CodeGen/atomic-test-and-set.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-globals.c
M clang/test/CodeGen/attr-counted-by-pr110385.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/attr-cpuspecific-cpus.c
M clang/test/CodeGen/attr-cpuspecific.c
M clang/test/CodeGen/attr-ifunc.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-clones-riscv.c
M clang/test/CodeGen/attr-target-mv.c
M clang/test/CodeGen/attr-target-version-riscv.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGen/attr-target-x86.c
M clang/test/CodeGen/blocks.c
M clang/test/CodeGen/bounds-checking.c
A clang/test/CodeGen/builtin-counted-by-ref.c
M clang/test/CodeGen/builtin_set_flt_rounds.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-wasm.c
M clang/test/CodeGen/builtinshufflevector2.c
M clang/test/CodeGen/catch-undef-behavior.c
M clang/test/CodeGen/const-init.c
M clang/test/CodeGen/constrained-math-builtins.c
M clang/test/CodeGen/cx-complex-range.c
R clang/test/CodeGen/debug-info-renderscript-tag.rs
A clang/test/CodeGen/embed-bitcode-marker-with-nonzero-as.c
A clang/test/CodeGen/fat-lto-objects-cfi.cpp
M clang/test/CodeGen/fp16-ops.c
A clang/test/CodeGen/ifunc-win.c
M clang/test/CodeGen/ifunc.c
M clang/test/CodeGen/ignore-overflow-pattern.c
M clang/test/CodeGen/isfpclass.c
M clang/test/CodeGen/libcalls.c
M clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
M clang/test/CodeGen/math-libcalls-tbaa.c
M clang/test/CodeGen/math-libcalls.c
M clang/test/CodeGen/matrix-type-operators-fast-math.c
M clang/test/CodeGen/matrix-type-operators.c
M clang/test/CodeGen/mdouble.c
M clang/test/CodeGen/memtag-globals.cpp
M clang/test/CodeGen/ms-intrinsics.c
M clang/test/CodeGen/ms-mixed-ptr-sizes.c
A clang/test/CodeGen/musttail-sret.cpp
M clang/test/CodeGen/neon-immediate-ubsan.c
M clang/test/CodeGen/nofpclass.c
A clang/test/CodeGen/pgo-cold-function-coverage.c
M clang/test/CodeGen/ppc-vec_ct-truncate.c
M clang/test/CodeGen/ptrauth-function-attributes.c
A clang/test/CodeGen/ptrauth-module-flags.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
M clang/test/CodeGen/sanitize-coverage-gated-callbacks.c
A clang/test/CodeGen/sanitize-type-attr.cpp
A clang/test/CodeGen/sanitize-type-globals.cpp
A clang/test/CodeGen/scoped-fence-ops.c
A clang/test/CodeGen/target-addrspace.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/tbaa-struct-bitfield-endianness.cpp
M clang/test/CodeGen/ubsan-trap-debugloc.c
A clang/test/CodeGen/ubsan-trap-merge.c
A clang/test/CodeGen/ubsan-type-ignorelist-category-2.test
A clang/test/CodeGen/ubsan-type-ignorelist-category.test
A clang/test/CodeGen/ubsan-type-ignorelist-enum.test
M clang/test/CodeGen/union-tbaa1.c
M clang/test/CodeGen/variadic-nvptx.c
M clang/test/CodeGen/vecshift.c
M clang/test/CodeGen/vector-scalar.c
M clang/test/CodeGenCUDA/Inputs/cuda.h
M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
M clang/test/CodeGenCUDA/device-init-fun.cu
A clang/test/CodeGenCUDA/grid-constant.cu
M clang/test/CodeGenCUDA/kernel-amdgcn.cu
M clang/test/CodeGenCUDA/offloading-entries.cu
A clang/test/CodeGenCUDASPIRV/spirv-attrs.cu
A clang/test/CodeGenCXX/aarch64-mangle-sme-atts.cpp
M clang/test/CodeGenCXX/aarch64-sve-vector-conditional-op.cpp
M clang/test/CodeGenCXX/aarch64-sve-vector-init.cpp
A clang/test/CodeGenCXX/amdgpu-barrier-typeinfo.cpp
M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
M clang/test/CodeGenCXX/attr-target-clones-riscv.cpp
M clang/test/CodeGenCXX/attr-target-version-riscv.cpp
M clang/test/CodeGenCXX/attr-target-version.cpp
A clang/test/CodeGenCXX/auto-var-init-attr.cpp
M clang/test/CodeGenCXX/auto-var-init.cpp
M clang/test/CodeGenCXX/builtin-calling-conv.cpp
M clang/test/CodeGenCXX/catch-undef-behavior.cpp
M clang/test/CodeGenCXX/cxx2b-deducing-this.cpp
M clang/test/CodeGenCXX/default-arguments.cpp
M clang/test/CodeGenCXX/ext-int.cpp
M clang/test/CodeGenCXX/ext-vector-type-conditional.cpp
M clang/test/CodeGenCXX/flexible-array-init.cpp
M clang/test/CodeGenCXX/fmv-namespace.cpp
M clang/test/CodeGenCXX/inline-then-fold-variadics.cpp
M clang/test/CodeGenCXX/matrix-type-builtins.cpp
M clang/test/CodeGenCXX/matrix-type-operators.cpp
M clang/test/CodeGenCXX/matrix-type.cpp
A clang/test/CodeGenCXX/matrix-vector-bit-int.cpp
M clang/test/CodeGenCXX/microsoft-abi-dynamic-cast.cpp
M clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp
M clang/test/CodeGenCXX/microsoft-abi-typeid.cpp
M clang/test/CodeGenCXX/ms-thread_local.cpp
A clang/test/CodeGenCXX/ms-uneval-context-crash.cpp
M clang/test/CodeGenCXX/template-instantiation.cpp
M clang/test/CodeGenCXX/vector-size-conditional.cpp
M clang/test/CodeGenCXX/vector-splat-conversion.cpp
M clang/test/CodeGenCXX/wasm-args-returns.cpp
A clang/test/CodeGenHIP/amdgpu-barrier-type.hip
M clang/test/CodeGenHIP/printf_nonhostcall.cpp
M clang/test/CodeGenHLSL/ArrayAssignable.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/ArrayOutputArguments.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
A clang/test/CodeGenHLSL/builtins/AppendStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
A clang/test/CodeGenHLSL/builtins/ConsumeStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/builtins/GroupMemoryBarrierWithGroupSync.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-annotations.hlsl
A clang/test/CodeGenHLSL/builtins/RWBuffer-constructor-opt.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
A clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/RasterizerOrderedBuffer-annotations.hlsl
A clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.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-methods-lib.hlsl
A clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
A clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
A clang/test/CodeGenHLSL/builtins/WaveActiveAllTrue.hlsl
A clang/test/CodeGenHLSL/builtins/WaveActiveAnyTrue.hlsl
A clang/test/CodeGenHLSL/builtins/WaveActiveCountBits.hlsl
A clang/test/CodeGenHLSL/builtins/asdouble.hlsl
M clang/test/CodeGenHLSL/builtins/clamp-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/clamp.hlsl
A clang/test/CodeGenHLSL/builtins/clip.hlsl
M clang/test/CodeGenHLSL/builtins/countbits.hlsl
A clang/test/CodeGenHLSL/builtins/dot4add_i8packed.hlsl
A clang/test/CodeGenHLSL/builtins/dot4add_u8packed.hlsl
A clang/test/CodeGenHLSL/builtins/firstbithigh.hlsl
M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
M clang/test/CodeGenHLSL/builtins/rcp.hlsl
M clang/test/CodeGenHLSL/builtins/sign.hlsl
A clang/test/CodeGenHLSL/builtins/splitdouble.hlsl
M clang/test/CodeGenHLSL/cbuf.hlsl
A clang/test/CodeGenHLSL/convergence/entry.point.hlsl
M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
A clang/test/CodeGenHLSL/resource-bindings.hlsl
A clang/test/CodeGenHLSL/semantics/SV_GroupID.hlsl
A clang/test/CodeGenHLSL/semantics/SV_GroupThreadID.hlsl
M clang/test/CodeGenObjC/arc-ternary-op.m
M clang/test/CodeGenObjCXX/arc.mm
M clang/test/CodeGenOpenCL/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-abi-struct-coerce.cl
M clang/test/CodeGenOpenCL/amdgpu-call-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/amdgpu-nullptr.cl
M clang/test/CodeGenOpenCL/atomic-ops.cl
M clang/test/CodeGenOpenCL/atomics-unsafe-hw-remarks-gfx90a.cl
M clang/test/CodeGenOpenCL/blocks.cl
M clang/test/CodeGenOpenCL/bool_cast.cl
M clang/test/CodeGenOpenCL/builtins-alloca.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx10.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-param-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx9-4-generic-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx940.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-read-tr.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-mfma.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-vi.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
M clang/test/CodeGenOpenCL/builtins-f16.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/cl20-device-side-enqueue-attributes.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue.cl
M clang/test/CodeGenOpenCL/enqueue-kernel-non-entry-block.cl
M clang/test/CodeGenOpenCL/kernels-have-spir-cc-by-default.cl
M clang/test/CodeGenOpenCL/logical-ops.cl
M clang/test/CodeGenOpenCL/opencl_types.cl
M clang/test/CodeGenOpenCL/partial_initializer.cl
M clang/test/CodeGenOpenCL/shifts.cl
M clang/test/CodeGenOpenCL/vector_literals.cl
M clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp
M clang/test/CodeGenOpenCLCXX/local_addrspace_init.clcpp
M clang/test/CodeGenSYCL/unique_stable_name_windows_diff.cpp
M clang/test/CoverageMapping/switch.cpp
M clang/test/CoverageMapping/switchmacro.c
A clang/test/Driver/Inputs/config-l.cfg
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
M clang/test/Driver/XRay/xray-mode-flags.cpp
A clang/test/Driver/XRay/xray-shared.cpp
R clang/test/Driver/aarch64-fixed-register-global.c
A clang/test/Driver/aarch64-fujitsu-monaka.c
M clang/test/Driver/aarch64-implied-sme-features.c
M clang/test/Driver/aarch64-implied-sve-features.c
A clang/test/Driver/aarch64-mcpu-native.c
M clang/test/Driver/aarch64-ptrauth.c
M clang/test/Driver/aarch64-v96a.c
M clang/test/Driver/amdgpu-hip-system-arch.c
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Driver/amdgpu-openmp-system-arch-fail.c
M clang/test/Driver/amdgpu-toolchain.c
M clang/test/Driver/arm-alignment.c
M clang/test/Driver/arm-cortex-cpus-2.c
M clang/test/Driver/autocomplete.c
M clang/test/Driver/avr-toolchain.c
M clang/test/Driver/baremetal-multilib.yaml
M clang/test/Driver/baremetal-sysroot.cpp
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/cl-options.c
M clang/test/Driver/cl-zc.cpp
A clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/clang_f_opts.c
M clang/test/Driver/codeview-column-info.c
M clang/test/Driver/config-file.c
M clang/test/Driver/config-file3.c
M clang/test/Driver/cuda-cross-compiling.c
A clang/test/Driver/cuda-no-threadsafe-statics.cu
A clang/test/Driver/darwin-subframeworks.c
A clang/test/Driver/fprofile-generate-cold-function-coverage.c
A clang/test/Driver/fprofile-sample-use.c
M clang/test/Driver/frame-pointer-elim.c
M clang/test/Driver/freebsd.c
M clang/test/Driver/fsanitize.c
M clang/test/Driver/fuchsia.c
M clang/test/Driver/fveclib.c
M clang/test/Driver/hexagon-toolchain-linux.c
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/hip-rdc-device-only.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/hip-toolchain-rdc-separate.hip
M clang/test/Driver/hip-toolchain-rdc.hip
A clang/test/Driver/hip-wavefront-size-deprecation-diagnostics.hip
R clang/test/Driver/index-header-map.c
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/linux-ld.c
M clang/test/Driver/loongarch-march.c
A clang/test/Driver/loongarch-mdiv32.c
A clang/test/Driver/loongarch-mlam-bh.c
A clang/test/Driver/loongarch-mlamcas.c
A clang/test/Driver/loongarch-mld-seq-sa.c
M clang/test/Driver/mingw.cpp
M clang/test/Driver/module-fgen-reduced-bmi.cppm
M clang/test/Driver/module-output.cppm
A clang/test/Driver/msp430-char.c
M clang/test/Driver/nvlink-wrapper.c
M clang/test/Driver/nvptx-cuda-system-arch.c
M clang/test/Driver/openmp-offload.c
M clang/test/Driver/openmp-system-arch.c
M clang/test/Driver/print-enabled-extensions/aarch64-ampere1b.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-m4.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv8.7-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv8.8-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv8.9-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.2-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.3-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.4-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.5-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520ae.c
A clang/test/Driver/print-enabled-extensions/aarch64-fujitsu-monaka.c
M clang/test/Driver/print-enabled-extensions/riscv-rocket-rv64.c
M clang/test/Driver/print-multi-selection-flags.c
A clang/test/Driver/print-supported-cpus-aarch64.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/riscv-cpus.c
M clang/test/Driver/riscv-features.c
M clang/test/Driver/riscv-profiles.c
M clang/test/Driver/sanitizer-ld.c
M clang/test/Driver/stack-clash-protection.c
A clang/test/Driver/sycl-link-spirv-target.cpp
M clang/test/Driver/sysroot.c
A clang/test/Driver/unknown-arg-drivermodes.test
M clang/test/Driver/unknown-std.c
M clang/test/Driver/unsupported-option.c
M clang/test/Driver/wasm-features.c
A clang/test/Driver/windows-lto.c
M clang/test/Driver/x86-march.c
M clang/test/Driver/x86-target-features.c
A clang/test/Driver/xtensa-char.c
M clang/test/ExtractAPI/objc_external_category.m
M clang/test/Format/clang-format-ignore.cpp
A clang/test/Format/docs_updated.test
A clang/test/Format/error-unfound-files.cpp
M clang/test/Format/lit.local.cfg
M clang/test/Frontend/noderef.cpp
M clang/test/Headers/__clang_hip_math_deprecated.hip
M clang/test/Headers/__clang_hip_math_ocml_rounded_ops.hip
A clang/test/Headers/crash-instantiated-in-scope-cxx-modules4.cpp
A clang/test/Headers/gpuintrin.c
A clang/test/Headers/gpuintrin_lang.c
A clang/test/Headers/header_unit_preprocessed_output.cpp
A clang/test/Headers/lasxintrin.c
M clang/test/Headers/limits.cpp
A clang/test/Headers/lsxintrin.c
M clang/test/Headers/opencl-c-header.cl
M clang/test/Headers/wasm.c
M clang/test/Index/pipe-size.cl
M clang/test/Index/print-type.cpp
M clang/test/Layout/ms-x86-member-pointers.cpp
M clang/test/Lexer/SourceLocationsOverflow.c
M clang/test/Lexer/cxx-features.cpp
M clang/test/Lexer/gnu-flags.c
A clang/test/Misc/Inputs/suppression-mapping.txt
M clang/test/Misc/diag-template-diffing-cxx98.cpp
M clang/test/Misc/pragma-attribute-strict-subjects.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Misc/sloc-usage.cpp
M clang/test/Misc/target-invalid-cpu-note/aarch64.c
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/target-invalid-cpu-note/riscv.c
M clang/test/Misc/target-invalid-cpu-note/x86.c
M clang/test/Misc/warning-flags.c
A clang/test/Misc/warning-suppression-mappings-pragmas.cpp
A clang/test/Misc/warning-suppression-mappings.cpp
M clang/test/Modules/ExtDebugInfo.m
M clang/test/Modules/ModuleDebugInfo.m
M clang/test/Modules/compare-record.c
M clang/test/Modules/cxx-templates.cpp
M clang/test/Modules/cxx20-include-translation.cpp
A clang/test/Modules/diff-retain-comments-from-system-headers-flag.cppm
A clang/test/Modules/friend-inline-function-body.cpp
A clang/test/Modules/initializer-list-recognition-through-export-and-linkage-issue-118218.cpp
M clang/test/Modules/no-eager-load.cppm
M clang/test/Modules/no-external-type-id.cppm
M clang/test/Modules/odr_hash.cpp
A clang/test/Modules/prune-non-affecting-module-map-repeated-textual.cpp
A clang/test/Modules/prune-non-affecting-module-map-repeated.cpp
A clang/test/Modules/recursive-instantiations.cppm
M clang/test/Modules/same-decl-in-different-modules.cppm
A clang/test/Modules/static-initializer.cppm
A clang/test/OpenMP/allocate_allocator_modifier_ast_print.cpp
A clang/test/OpenMP/allocate_allocator_modifier_codegen.cpp
A clang/test/OpenMP/allocate_allocator_modifier_messages.cpp
A clang/test/OpenMP/amdgpu_threadprivate.cpp
M clang/test/OpenMP/declare_mapper_codegen.cpp
M clang/test/OpenMP/depobj_codegen.cpp
M clang/test/OpenMP/flush_ast_print.cpp
M clang/test/OpenMP/flush_codegen.cpp
M clang/test/OpenMP/flush_messages.cpp
M clang/test/OpenMP/for_simd_loop_messages.cpp
M clang/test/OpenMP/masked_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/master_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
M clang/test/OpenMP/parallel_for_simd_loop_messages.cpp
M clang/test/OpenMP/parallel_for_simd_messages.cpp
M clang/test/OpenMP/parallel_masked_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/simd_linear_messages.cpp
M clang/test/OpenMP/target_map_names.cpp
M clang/test/OpenMP/target_map_names_attr.cpp
M clang/test/OpenMP/target_map_nest_defalut_mapper_codegen.cpp
M clang/test/OpenMP/target_parallel_ast_print.cpp
M clang/test/OpenMP/target_parallel_for_simd_ordered_messages.cpp
M clang/test/OpenMP/target_teams_ast_print.cpp
M clang/test/OpenMP/task_ast_print.cpp
M clang/test/OpenMP/taskloop_simd_linear_messages.cpp
A clang/test/OpenMP/taskloop_strictmodifier_codegen.cpp
M clang/test/OpenMP/teams_ast_print.cpp
M clang/test/PCH/cxx2a-constraints-crash.cpp
M clang/test/Parser/cxx0x-decl.cpp
M clang/test/Parser/cxx1z-decomposition.cpp
M clang/test/Parser/cxx2c-delete-with-message.cpp
A clang/test/Parser/cxx2c-oxford-variadic-comma.cpp
M clang/test/Parser/cxx2c-pack-indexing.cpp
A clang/test/Parser/gh110231.cpp
M clang/test/Parser/pragma-attribute.cpp
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/ParserOpenACC/parse-constructs.c
M clang/test/ParserOpenACC/parse-wait-construct.c
M clang/test/Preprocessor/aarch64-target-features.c
A clang/test/Preprocessor/embed_zos.c
M clang/test/Preprocessor/has_builtin_cpuid.c
M clang/test/Preprocessor/init-aarch64.c
M clang/test/Preprocessor/init-loongarch.c
M clang/test/Preprocessor/init.c
M clang/test/Preprocessor/macro_fn.c
M clang/test/Preprocessor/predefined-arch-macros.c
M clang/test/Preprocessor/predefined-macros-no-warnings.c
M clang/test/Preprocessor/ptrauth_feature.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/sycl-macro.cpp
M clang/test/Preprocessor/wasm-target-features.c
M clang/test/Preprocessor/x86_target_features.c
M clang/test/Refactor/Extract/ObjCProperty.m
A clang/test/Sema/Inputs/lifetime-analysis.h
M clang/test/Sema/aarch64-cpu-supports.c
M clang/test/Sema/aarch64-fixed-global-register.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_cvt.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_imm.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_mla.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_mopa.c
M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fp8_fdot.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fp8_fvdot.c
A clang/test/Sema/aarch64-sve-intrinsics/acle_neon_sve_bridge.cpp
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_aes_bitperm_sha3_sm4.cpp
A clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_fp8.c
M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp
A clang/test/Sema/amdgcn-address-spaces.c
M clang/test/Sema/arithmetic-fence-builtin.c
A clang/test/Sema/arm-mfp8.c
M clang/test/Sema/arm-mfp8.cpp
M clang/test/Sema/asm.c
M clang/test/Sema/atomic-ops.c
A clang/test/Sema/attr-lifetimebound.c
M clang/test/Sema/attr-nonblocking-constraints.cpp
M clang/test/Sema/attr-target-clones-aarch64.c
A clang/test/Sema/attr-target-version-unsupported.c
M clang/test/Sema/attr-target-version.c
A clang/test/Sema/avr-size-align.c
A clang/test/Sema/builtin-assume-aligned-downgrade.c
M clang/test/Sema/builtin-assume-aligned.c
A clang/test/Sema/builtin-counted-by-ref.c
A clang/test/Sema/builtin-counted-by-ref.cpp
M clang/test/Sema/c2x-nodiscard.c
M clang/test/Sema/constant_builtins_vector.cpp
M clang/test/Sema/declspec.c
M clang/test/Sema/enum.c
M clang/test/Sema/gnu-flags.c
A clang/test/Sema/nvptx-address-spaces.c
M clang/test/Sema/pragma-attribute-strict-subjects.c
R clang/test/Sema/renderscript.rs
A clang/test/Sema/tautological-pointer-comparison.c
M clang/test/Sema/unbounded-array-bounds.c
A clang/test/Sema/warn-lifetime-analysis-capture-by.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/Sema/warn-stringcompare.c
M clang/test/SemaCUDA/Inputs/cuda.h
M clang/test/SemaCUDA/fp16-arg-return.cu
A clang/test/SemaCUDA/grid-constant.cu
A clang/test/SemaCUDA/spirv-attrs.cu
A clang/test/SemaCXX/GH95854.cpp
A clang/test/SemaCXX/PR113855.cpp
M clang/test/SemaCXX/addr-of-overloaded-function.cpp
A clang/test/SemaCXX/amdgpu-barrier.cpp
A clang/test/SemaCXX/attr-annotate-ast.cpp
A clang/test/SemaCXX/attr-lifetime-capture-by.cpp
M clang/test/SemaCXX/attr-lifetimebound.cpp
A clang/test/SemaCXX/attr-no-specializations.cpp
M clang/test/SemaCXX/attr-target-clones-riscv.cpp
M clang/test/SemaCXX/attr-target-version-riscv.cpp
M clang/test/SemaCXX/attr-target-version.cpp
M clang/test/SemaCXX/builtin-bit-cast.cpp
M clang/test/SemaCXX/c99-variable-length-array.cpp
M clang/test/SemaCXX/calling-conv-compat.cpp
M clang/test/SemaCXX/conditional-expr.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constexpr-builtin-bit-cast.cpp
M clang/test/SemaCXX/constexpr-return-non-void-cxx2b.cpp
M clang/test/SemaCXX/cxx1y-initializer-aggregates.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
A clang/test/SemaCXX/cxx20-warn-dangling-paren-list-agg-init.cpp
M clang/test/SemaCXX/cxx23-assume.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
A clang/test/SemaCXX/cxx2b-warn-shadow.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing-ext-diags.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
M clang/test/SemaCXX/cxx2c-placeholder-vars.cpp
M clang/test/SemaCXX/deprecated.cpp
M clang/test/SemaCXX/enum.cpp
M clang/test/SemaCXX/ext-int.cpp
M clang/test/SemaCXX/ext-vector-type-conditional.cpp
M clang/test/SemaCXX/function-redecl.cpp
A clang/test/SemaCXX/gh113468.cpp
M clang/test/SemaCXX/integer-overflow.cpp
M clang/test/SemaCXX/lambda-capture-type-deduction.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
M clang/test/SemaCXX/lambda-pack-expansion.cpp
M clang/test/SemaCXX/literal-type.cpp
M clang/test/SemaCXX/matrix-type.cpp
A clang/test/SemaCXX/matrix-types-pseudo-destructor.cpp
M clang/test/SemaCXX/ms-constexpr-new.cpp
M clang/test/SemaCXX/ms-property.cpp
A clang/test/SemaCXX/msvc-pragma-function-no-builtin-attr.cpp
M clang/test/SemaCXX/new-delete.cpp
A clang/test/SemaCXX/noexcept-destroying-delete.cpp
A clang/test/SemaCXX/nullability_redecl.cpp
M clang/test/SemaCXX/paren-list-agg-init.cpp
M clang/test/SemaCXX/source_location.cpp
M clang/test/SemaCXX/static-cast.cpp
M clang/test/SemaCXX/vector-size-conditional.cpp
A clang/test/SemaCXX/warn-array-comparion.cpp
A clang/test/SemaCXX/warn-memaccess.cpp
M clang/test/SemaCXX/warn-missing-noreturn.cpp
M clang/test/SemaCXX/warn-self-comparisons.cpp
M clang/test/SemaCXX/warn-shadow.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-field-attr.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-parm-unsupported.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-function-attr.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-in-container-span-construct.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-warning-data-invocation.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage.cpp
M clang/test/SemaCXX/warn-unused-private-field.cpp
M clang/test/SemaCXX/warn-unused-result.cpp
A clang/test/SemaHIP/amdgpu-barrier.hip
A clang/test/SemaHIP/zero-sized-device-array.hip
M clang/test/SemaHLSL/ArrayTemporary.hlsl
A clang/test/SemaHLSL/BuiltIns/GroupMemoryBarrierWithGroupSync-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
A clang/test/SemaHLSL/BuiltIns/WaveActiveAllTrue-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/WaveActiveAnyTrue-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/WaveActiveCountBits-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/asdouble-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/buffer_update_counter-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/clip-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/countbits-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/dot4add_i8packed-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/dot4add_u8packed-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/firstbithigh-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/resource_getpointer-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/splitdouble-errors.hlsl
A clang/test/SemaHLSL/Language/ArrayOutputArgs-errors.hlsl
M clang/test/SemaHLSL/Semantics/entry_parameter.hlsl
M clang/test/SemaHLSL/Semantics/invalid_entry_parameter.hlsl
M clang/test/SemaHLSL/Semantics/valid_entry_parameter.hlsl
A clang/test/SemaHLSL/Types/Traits/IsTypedResourceElementCompatible.hlsl
M clang/test/SemaObjC/comptypes-legal.m
A clang/test/SemaObjC/method-param-named-id.m
M clang/test/SemaObjC/validate-attr-swift_attr.m
A clang/test/SemaOpenACC/combined-construct-ast.cpp
A clang/test/SemaOpenACC/combined-construct-async-clause.c
A clang/test/SemaOpenACC/combined-construct-async-clause.cpp
A clang/test/SemaOpenACC/combined-construct-attach-ast.cpp
A clang/test/SemaOpenACC/combined-construct-attach-clause.c
A clang/test/SemaOpenACC/combined-construct-attach-clause.cpp
A clang/test/SemaOpenACC/combined-construct-auto_seq_independent-ast.cpp
A clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
A clang/test/SemaOpenACC/combined-construct-collapse-ast.cpp
A clang/test/SemaOpenACC/combined-construct-collapse-clause.cpp
A clang/test/SemaOpenACC/combined-construct-copy-ast.cpp
A clang/test/SemaOpenACC/combined-construct-copy-clause.c
A clang/test/SemaOpenACC/combined-construct-copy-clause.cpp
A clang/test/SemaOpenACC/combined-construct-copyin-ast.cpp
A clang/test/SemaOpenACC/combined-construct-copyin-clause.c
A clang/test/SemaOpenACC/combined-construct-copyin-clause.cpp
A clang/test/SemaOpenACC/combined-construct-copyout-ast.cpp
A clang/test/SemaOpenACC/combined-construct-copyout-clause.c
A clang/test/SemaOpenACC/combined-construct-copyout-clause.cpp
A clang/test/SemaOpenACC/combined-construct-create-ast.cpp
A clang/test/SemaOpenACC/combined-construct-create-clause.c
A clang/test/SemaOpenACC/combined-construct-create-clause.cpp
A clang/test/SemaOpenACC/combined-construct-default-ast.cpp
A clang/test/SemaOpenACC/combined-construct-default-clause.c
A clang/test/SemaOpenACC/combined-construct-default-clause.cpp
A clang/test/SemaOpenACC/combined-construct-device_type-ast.cpp
A clang/test/SemaOpenACC/combined-construct-device_type-clause.c
A clang/test/SemaOpenACC/combined-construct-device_type-clause.cpp
A clang/test/SemaOpenACC/combined-construct-deviceptr-ast.cpp
A clang/test/SemaOpenACC/combined-construct-deviceptr-clause.c
A clang/test/SemaOpenACC/combined-construct-deviceptr-clause.cpp
A clang/test/SemaOpenACC/combined-construct-firstprivate-clause.c
A clang/test/SemaOpenACC/combined-construct-firstprivate-clause.cpp
A clang/test/SemaOpenACC/combined-construct-gang-ast.cpp
A clang/test/SemaOpenACC/combined-construct-gang-clause.cpp
A clang/test/SemaOpenACC/combined-construct-if-ast.cpp
A clang/test/SemaOpenACC/combined-construct-if-clause.c
A clang/test/SemaOpenACC/combined-construct-if-clause.cpp
A clang/test/SemaOpenACC/combined-construct-no_create-ast.cpp
A clang/test/SemaOpenACC/combined-construct-no_create-clause.c
A clang/test/SemaOpenACC/combined-construct-no_create-clause.cpp
A clang/test/SemaOpenACC/combined-construct-num_gangs-ast.cpp
A clang/test/SemaOpenACC/combined-construct-num_gangs-clause.c
A clang/test/SemaOpenACC/combined-construct-num_workers-ast.cpp
A clang/test/SemaOpenACC/combined-construct-num_workers-clause.c
A clang/test/SemaOpenACC/combined-construct-present-ast.cpp
A clang/test/SemaOpenACC/combined-construct-present-clause.c
A clang/test/SemaOpenACC/combined-construct-present-clause.cpp
A clang/test/SemaOpenACC/combined-construct-private-clause.c
A clang/test/SemaOpenACC/combined-construct-private-clause.cpp
A clang/test/SemaOpenACC/combined-construct-private-firstprivate-ast.cpp
A clang/test/SemaOpenACC/combined-construct-reduction-ast.cpp
A clang/test/SemaOpenACC/combined-construct-reduction-clause.cpp
A clang/test/SemaOpenACC/combined-construct-self-ast.cpp
A clang/test/SemaOpenACC/combined-construct-self-clause.c
A clang/test/SemaOpenACC/combined-construct-self-clause.cpp
A clang/test/SemaOpenACC/combined-construct-tile-ast.cpp
A clang/test/SemaOpenACC/combined-construct-tile-clause.cpp
A clang/test/SemaOpenACC/combined-construct-vector-ast.cpp
A clang/test/SemaOpenACC/combined-construct-vector-clause.cpp
A clang/test/SemaOpenACC/combined-construct-vector_length-ast.cpp
A clang/test/SemaOpenACC/combined-construct-vector_length-clause.c
A clang/test/SemaOpenACC/combined-construct-wait-ast.cpp
A clang/test/SemaOpenACC/combined-construct-wait-clause.c
A clang/test/SemaOpenACC/combined-construct-wait-clause.cpp
A clang/test/SemaOpenACC/combined-construct-worker-ast.cpp
A clang/test/SemaOpenACC/combined-construct-worker-clause.cpp
A clang/test/SemaOpenACC/combined-construct.cpp
M clang/test/SemaOpenACC/compute-construct-ast.cpp
M clang/test/SemaOpenACC/compute-construct-async-clause.c
M clang/test/SemaOpenACC/compute-construct-async-clause.cpp
M clang/test/SemaOpenACC/compute-construct-attach-clause.c
M clang/test/SemaOpenACC/compute-construct-copy-clause.c
M clang/test/SemaOpenACC/compute-construct-copyin-clause.c
M clang/test/SemaOpenACC/compute-construct-copyout-clause.c
M clang/test/SemaOpenACC/compute-construct-create-clause.c
M clang/test/SemaOpenACC/compute-construct-default-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-deviceptr-clause.c
M clang/test/SemaOpenACC/compute-construct-firstprivate-clause.c
M clang/test/SemaOpenACC/compute-construct-firstprivate-clause.cpp
M clang/test/SemaOpenACC/compute-construct-if-clause.c
M clang/test/SemaOpenACC/compute-construct-no_create-clause.c
M clang/test/SemaOpenACC/compute-construct-num_gangs-clause.c
M clang/test/SemaOpenACC/compute-construct-num_gangs-clause.cpp
M clang/test/SemaOpenACC/compute-construct-num_workers-clause.c
M clang/test/SemaOpenACC/compute-construct-num_workers-clause.cpp
M clang/test/SemaOpenACC/compute-construct-present-clause.c
M clang/test/SemaOpenACC/compute-construct-private-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/compute-construct-self-clause.c
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
M clang/test/SemaOpenACC/compute-construct-vector_length-clause.c
M clang/test/SemaOpenACC/compute-construct-vector_length-clause.cpp
M clang/test/SemaOpenACC/compute-construct-wait-clause.c
M clang/test/SemaOpenACC/compute-construct-wait-clause.cpp
A clang/test/SemaOpenACC/data-construct-ast.cpp
A clang/test/SemaOpenACC/data-construct-async-ast.cpp
A clang/test/SemaOpenACC/data-construct-async-clause.c
A clang/test/SemaOpenACC/data-construct-attach-ast.cpp
A clang/test/SemaOpenACC/data-construct-attach-clause.c
A clang/test/SemaOpenACC/data-construct-copy-ast.cpp
A clang/test/SemaOpenACC/data-construct-copy-clause.c
A clang/test/SemaOpenACC/data-construct-copyin-ast.cpp
A clang/test/SemaOpenACC/data-construct-copyin-clause.c
A clang/test/SemaOpenACC/data-construct-copyout-ast.cpp
A clang/test/SemaOpenACC/data-construct-copyout-clause.c
A clang/test/SemaOpenACC/data-construct-create-ast.cpp
A clang/test/SemaOpenACC/data-construct-create-clause.c
A clang/test/SemaOpenACC/data-construct-default-ast.cpp
A clang/test/SemaOpenACC/data-construct-default-clause.c
A clang/test/SemaOpenACC/data-construct-delete-ast.cpp
A clang/test/SemaOpenACC/data-construct-delete-clause.c
A clang/test/SemaOpenACC/data-construct-detach-ast.cpp
A clang/test/SemaOpenACC/data-construct-detach-clause.c
A clang/test/SemaOpenACC/data-construct-device_type-ast.cpp
A clang/test/SemaOpenACC/data-construct-device_type-clause.c
A clang/test/SemaOpenACC/data-construct-deviceptr-ast.cpp
A clang/test/SemaOpenACC/data-construct-deviceptr-clause.c
A clang/test/SemaOpenACC/data-construct-finalize-ast.cpp
A clang/test/SemaOpenACC/data-construct-finalize-clause.c
A clang/test/SemaOpenACC/data-construct-if-ast.cpp
A clang/test/SemaOpenACC/data-construct-if-clause.c
A clang/test/SemaOpenACC/data-construct-if_present-ast.cpp
A clang/test/SemaOpenACC/data-construct-if_present-clause.c
A clang/test/SemaOpenACC/data-construct-no_create-ast.cpp
A clang/test/SemaOpenACC/data-construct-no_create-clause.c
A clang/test/SemaOpenACC/data-construct-present-ast.cpp
A clang/test/SemaOpenACC/data-construct-present-clause.c
A clang/test/SemaOpenACC/data-construct-use_device-ast.cpp
A clang/test/SemaOpenACC/data-construct-use_device-clause.c
A clang/test/SemaOpenACC/data-construct-wait-ast.cpp
A clang/test/SemaOpenACC/data-construct-wait-clause.c
A clang/test/SemaOpenACC/data-construct.cpp
A clang/test/SemaOpenACC/init-construct-ast.cpp
A clang/test/SemaOpenACC/init-construct.cpp
M clang/test/SemaOpenACC/loop-ast.cpp
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-ast.cpp
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/loop-construct-collapse-ast.cpp
M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
M clang/test/SemaOpenACC/loop-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.cpp
M clang/test/SemaOpenACC/loop-construct-gang-ast.cpp
M clang/test/SemaOpenACC/loop-construct-gang-clause.cpp
M clang/test/SemaOpenACC/loop-construct-private-clause.c
M clang/test/SemaOpenACC/loop-construct-private-clause.cpp
A clang/test/SemaOpenACC/loop-construct-reduction-ast.cpp
A clang/test/SemaOpenACC/loop-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/loop-construct-tile-ast.cpp
M clang/test/SemaOpenACC/loop-construct-tile-clause.cpp
M clang/test/SemaOpenACC/loop-construct-vector-ast.cpp
M clang/test/SemaOpenACC/loop-construct-vector-clause.cpp
M clang/test/SemaOpenACC/loop-construct-worker-ast.cpp
M clang/test/SemaOpenACC/loop-construct-worker-clause.cpp
A clang/test/SemaOpenACC/loop-construct.cpp
M clang/test/SemaOpenACC/loop-loc-and-stmt.c
M clang/test/SemaOpenACC/loop-loc-and-stmt.cpp
M clang/test/SemaOpenACC/no-branch-in-out.c
M clang/test/SemaOpenACC/no-branch-in-out.cpp
A clang/test/SemaOpenACC/shutdown-construct-ast.cpp
A clang/test/SemaOpenACC/shutdown-construct.cpp
M clang/test/SemaOpenACC/unimplemented-construct.c
A clang/test/SemaOpenACC/wait-construct-ast.cpp
A clang/test/SemaOpenACC/wait-construct.cpp
M clang/test/SemaOpenCL/access-qualifier.cl
A clang/test/SemaOpenCL/amdgpu-barrier.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx10.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx9.cl
A clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950-param.cl
A clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-wave32.cl
M clang/test/SemaOpenCL/builtins-amdgcn-gfx940-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-wave32-func-attr.cl
A clang/test/SemaOpenMP/amdgpu-barrier.cpp
A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-grammar.cpp
A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-ignored.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
M clang/test/SemaTemplate/pack-deduction.cpp
A clang/test/SemaTemplate/template-args-deduction-aggregates.cpp
M clang/test/lit.cfg.py
M clang/tools/CMakeLists.txt
M clang/tools/amdgpu-arch/AMDGPUArch.cpp
R clang/tools/amdgpu-arch/AMDGPUArchByHSA.cpp
A clang/tools/amdgpu-arch/AMDGPUArchByKFD.cpp
M clang/tools/amdgpu-arch/CMakeLists.txt
M clang/tools/c-index-test/core_main.cpp
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-format/git-clang-format
M clang/tools/clang-format/git-clang-format.bat
M clang/tools/clang-import-test/clang-import-test.cpp
M clang/tools/clang-installapi/ClangInstallAPI.cpp
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/TestSupport.cpp
M clang/tools/clang-repl/CMakeLists.txt
M clang/tools/clang-repl/ClangRepl.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-shlib/CMakeLists.txt
A clang/tools/clang-shlib/simple_version_script.map.in
A clang/tools/clang-sycl-linker/CMakeLists.txt
A clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
A clang/tools/clang-sycl-linker/SYCLLinkOpts.td
M clang/tools/diagtool/ShowEnabledWarnings.cpp
M clang/tools/driver/cc1_main.cpp
M clang/tools/driver/cc1gen_reproducer_main.cpp
M clang/tools/driver/driver.cpp
M clang/tools/include-mapping/cppreference_parser.py
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CIndexCXX.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/tools/libclang/Indexing.cpp
M clang/unittests/AST/ASTContextParentMapTest.cpp
M clang/unittests/AST/ASTImporterTest.cpp
A clang/unittests/AST/ByteCode/BitcastBuffer.cpp
M clang/unittests/AST/ByteCode/CMakeLists.txt
M clang/unittests/AST/ByteCode/toAPValue.cpp
M clang/unittests/AST/EvaluateAsRValueTest.cpp
M clang/unittests/AST/ExternalASTSourceTest.cpp
M clang/unittests/AST/StructuralEquivalenceTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M clang/unittests/Analysis/CloneDetectionTest.cpp
M clang/unittests/Analysis/FlowSensitive/ASTOpsTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
M clang/unittests/Basic/DiagnosticTest.cpp
M clang/unittests/CodeGen/TBAAMetadataTest.cpp
M clang/unittests/CodeGen/TestCompiler.h
M clang/unittests/Driver/DXCModeTest.cpp
M clang/unittests/Driver/ToolChainTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestCSharp.cpp
M clang/unittests/Format/FormatTestJS.cpp
M clang/unittests/Format/FormatTestVerilog.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/ASTUnitTest.cpp
M clang/unittests/Frontend/CodeGenActionTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Frontend/CompilerInvocationTest.cpp
M clang/unittests/Frontend/FrontendActionTest.cpp
M clang/unittests/Frontend/OutputStreamTest.cpp
M clang/unittests/Frontend/PCHPreambleTest.cpp
M clang/unittests/Frontend/ReparseWorkingDirTest.cpp
M clang/unittests/Frontend/UtilsTest.cpp
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Lex/HeaderSearchTest.cpp
M clang/unittests/Lex/LexerTest.cpp
M clang/unittests/Sema/SemaNoloadLookupTest.cpp
M clang/unittests/Serialization/CMakeLists.txt
M clang/unittests/Serialization/ForceCheckFileInputTest.cpp
A clang/unittests/Serialization/LoadSpecLazilyTest.cpp
M clang/unittests/Serialization/ModuleCacheTest.cpp
M clang/unittests/Serialization/NoCommentsTest.cpp
M clang/unittests/Serialization/PreambleInNamedModulesTest.cpp
M clang/unittests/Serialization/VarDeclConstantInitTest.cpp
M clang/unittests/StaticAnalyzer/CMakeLists.txt
M clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
A clang/unittests/StaticAnalyzer/SValSimplifyerTest.cpp
M clang/unittests/StaticAnalyzer/Z3CrosscheckOracleTest.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M clang/unittests/Tooling/ASTSelectionTest.cpp
A clang/unittests/Tooling/CRTPTestVisitor.h
M clang/unittests/Tooling/CastExprTest.cpp
M clang/unittests/Tooling/CommentHandlerTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
M clang/unittests/Tooling/ExecutionTest.cpp
M clang/unittests/Tooling/LexicallyOrderedRecursiveASTVisitorTest.cpp
M clang/unittests/Tooling/LookupTest.cpp
M clang/unittests/Tooling/QualTypeNamesTest.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTestDeclVisitor.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTestPostOrderVisitor.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTestTypeLocVisitor.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/Attr.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/BitfieldInitializer.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/CXXBoolLiteralExpr.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/CXXMemberCall.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/CXXMethodDecl.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/CXXOperatorCallExprTraverser.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/CallbacksCommon.h
M clang/unittests/Tooling/RecursiveASTVisitorTests/Class.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/Concept.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/ConstructExpr.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/DeclRefExpr.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/DeductionGuide.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/ImplicitCtor.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/ImplicitCtorInitializer.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/InitListExprPostOrder.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/InitListExprPostOrderNoQueue.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/InitListExprPreOrder.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/InitListExprPreOrderNoQueue.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/IntegerLiteral.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/LambdaDefaultCapture.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/LambdaExpr.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/LambdaTemplateParams.cpp
Log Message:
-----------
Merge branch 'main' into users/chapuni/cov/single/test
Conflicts:
llvm/test/tools/llvm-cov/branch-macros.cpp
Commit: 5fa862ad60b75814c15f9317d6d59384524f5717
https://github.com/llvm/llvm-project/commit/5fa862ad60b75814c15f9317d6d59384524f5717
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/test/tools/llvm-cov/Inputs/branch-c-general.c
M llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed.cpp
M llvm/test/tools/llvm-cov/Inputs/branch-macros.cpp
M llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts.cpp
M llvm/test/tools/llvm-cov/branch-c-general.test
M llvm/test/tools/llvm-cov/branch-logical-mixed.test
M llvm/test/tools/llvm-cov/branch-macros.test
M llvm/test/tools/llvm-cov/showLineExecutionCounts.test
Log Message:
-----------
Use `[[#min(C,n)]]` for tests
Compare: https://github.com/llvm/llvm-project/compare/00ac90d232a5...5fa862ad60b7
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