[all-commits] [llvm/llvm-project] a1ee1a: [CodeGen] @llvm.experimental.stackmap make operand...
Aiden Grossman via All-commits
all-commits at lists.llvm.org
Thu Dec 12 22:49:00 PST 2024
Branch: refs/heads/users/boomanaiden154/refactor-buildkite-shell-scripts
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: b54681cb90e98ef4fabf2ad135c7cded8c13cea6
https://github.com/llvm/llvm-project/commit/b54681cb90e98ef4fabf2ad135c7cded8c13cea6
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M .ci/generate_test_report.py
A bolt/docs/BinaryAnalysis.md
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/DebugNames.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugNames.cpp
M bolt/lib/Passes/ReorderFunctions.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
A bolt/test/AArch64/pad-before-funcs.s
M bolt/test/CMakeLists.txt
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/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/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 clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
A clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.h
M clang-tools-extra/clangd/CompileCommands.cpp
M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
M clang-tools-extra/docs/ReleaseNotes.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
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/bugprone/optional-value-conversion-construct-from-std.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison.cpp
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang-c/CXString.h
M clang/include/clang-c/Index.h
M clang/include/clang/AST/APValue.h
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclContextInternals.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprConcepts.h
M clang/include/clang/AST/ExprObjC.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Redeclarable.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/FileEntry.h
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Lex/PreprocessingRecord.h
M clang/include/clang/Lex/Preprocessor.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/include/clang/Serialization/ASTBitCodes.h
M clang/include/module.modulemap
M clang/lib/APINotes/APINotesManager.cpp
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/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Analysis/PathDiagnostic.cpp
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/DriverOptions.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Darwin.cpp
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/MSVC.cpp
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Index/FileIndexRecord.cpp
M clang/lib/Index/IndexDecl.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/SemaDeclCXX.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/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/complex.cpp
A clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/CodeGen/AArch64/cpu-supports.c
M clang/test/CodeGen/AArch64/fmv-dependencies.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_cvtn.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/ext-int.cpp
M clang/test/CodeGenCXX/fmv-namespace.cpp
M clang/test/Driver/config-file3.c
M clang/test/Driver/freebsd.c
M clang/test/Driver/fsanitize.c
M clang/test/Driver/fveclib.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/stack-clash-protection.c
M clang/test/Driver/sysroot.c
A clang/test/Modules/initializer-list-recognition-through-export-and-linkage-issue-118218.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/Sema/Inputs/lifetime-analysis.h
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_fp8.c
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/SemaCXX/ext-int.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
M clang/test/SemaOpenACC/combined-construct-collapse-clause.cpp
M clang/test/SemaOpenACC/combined-construct-default-ast.cpp
M clang/test/SemaOpenACC/combined-construct-default-clause.c
M clang/test/SemaOpenACC/combined-construct-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-async-ast.cpp
A clang/test/SemaOpenACC/data-construct-async-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-device_type-ast.cpp
A clang/test/SemaOpenACC/data-construct-device_type-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-wait-ast.cpp
A clang/test/SemaOpenACC/data-construct-wait-clause.c
A clang/test/SemaOpenACC/data-construct.cpp
M clang/test/SemaOpenACC/loop-construct-collapse-clause.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 clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CIndexCXX.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/unittests/AST/ASTContextParentMapTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Serialization/LoadSpecLazilyTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/perf-training/bolt.lit.cfg
M clang/utils/perf-training/lit.cfg
M clang/utils/perf-training/llvm-support/build.test
M 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
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/interception/tests/interception_win_test.cpp
M compiler-rt/lib/orc/macho_tlv.x86-64.S
M compiler-rt/lib/orc/sysv_reenter.arm64.S
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Common/Fortran-consts.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree-visitor.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/openmp-modifiers.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.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/lib/Semantics/openmp-modifiers.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Driver/fveclib.f90
M flang/test/Fir/CUDA/cuda-implicit-device-global.f90
M flang/test/HLFIR/shapeof.fir
A flang/test/HLFIR/simplify-hlfir-intrinsics-cshift.fir
A flang/test/Lower/OpenMP/Todo/atomic-compare-fail.f90
M flang/test/Parser/OpenMP/atomic-unparse.f90
M flang/test/Parser/OpenMP/in-reduction-clause.f90
A flang/test/Parser/OpenMP/linear-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
M flang/test/Semantics/OpenMP/atomic-compare.f90
M flang/test/Semantics/OpenMP/atomic01.f90
M flang/test/Semantics/OpenMP/atomic05.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
A flang/test/Semantics/OpenMP/in-reduction.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 flang/test/Semantics/OpenMP/symbol08.f90
A flang/test/Semantics/OpenMP/task-reduction.f90
M flang/test/Semantics/OpenMP/taskgroup01.f90
M flang/test/Semantics/modfile55.cuf
M flang/unittests/Runtime/AccessTest.cpp
M libc/CMakeLists.txt
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/docs/headers/arpa/inet.rst
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/index.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
A libc/docs/headers/sys/mman.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/hdr/types/CMakeLists.txt
A libc/hdrgen/yaml/complex.yaml
M libc/test/src/strings/CMakeLists.txt
M libc/test/src/strings/index_test.cpp
M libc/test/src/strings/rindex_test.cpp
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
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
M libcxx/include/experimental/iterator
M libcxx/include/experimental/memory
M libcxx/include/experimental/propagate_const
M libcxx/include/experimental/simd
M libcxx/include/experimental/type_traits
M libcxx/include/experimental/utility
M libcxx/include/ext/hash_map
M libcxx/include/ext/hash_set
M libcxx/include/flat_map
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
A libcxx/test/configs/stdlib-libstdc++.cfg.in
A libcxx/test/configs/stdlib-native.cfg.in
M libcxx/test/libcxx/feature_test_macro/version_header.sh.py
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/utils/generate_feature_test_macro_components.py
M libcxxabi/CMakeLists.txt
M libcxxabi/src/private_typeinfo.cpp
M libunwind/CMakeLists.txt
M lld/COFF/DriverUtils.cpp
M lld/COFF/PDB.cpp
M lld/COFF/Writer.cpp
M lld/ELF/DriverUtils.cpp
M lld/ELF/InputFiles.cpp
M lld/MachO/DriverUtils.cpp
M lld/MinGW/Driver.cpp
M lld/test/ELF/lto/internalize-exportdyn.ll
M lld/test/ELF/tls-opt.s
M lld/test/ELF/x86-64-tls-ie-local.s
M lld/wasm/Driver.cpp
M lldb/include/lldb/Target/StackFrameList.h
M lldb/source/DataFormatters/FormatterBytecode.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
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.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
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
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
M lldb/tools/driver/Driver.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/tools/lldb-server/lldb-gdbserver.cpp
M lldb/unittests/DataFormatter/FormatterBytecodeTest.cpp
M lldb/unittests/Host/PipeTest.cpp
M llvm/Maintainers.md
M llvm/docs/RISCVUsage.rst
M llvm/docs/Reference.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/Security.rst
M llvm/docs/StackMaps.rst
A llvm/docs/UndefinedBehavior.rst
M llvm/docs/Vectorizers.rst
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl07.rst
A llvm/docs/vplan-early-exit.dot
A llvm/docs/vplan-early-exit.png
M llvm/examples/Kaleidoscope/Chapter7/toy.cpp
A llvm/include/llvm/ADT/StringTable.h
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/Analysis/IVDescriptors.h
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/include/llvm/BinaryFormat/ELF.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/include/llvm/CodeGen/MachineScheduler.h
M llvm/include/llvm/CodeGen/SDNodeProperties.td
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h
M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/NVVMIntrinsicFlags.h
M llvm/include/llvm/Option/OptTable.h
M llvm/include/llvm/Option/Option.h
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/MemProf.h
A llvm/include/llvm/ProfileData/MemProfYAML.h
M llvm/include/llvm/SandboxIR/Type.h
M llvm/include/llvm/Support/AutoConvert.h
M llvm/include/llvm/Support/Memory.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/include/llvm/Transforms/Utils/Evaluator.h
M llvm/include/llvm/Transforms/Utils/ExtraPassManager.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/include/module.modulemap
M llvm/lib/Analysis/DomTreeUpdater.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.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/MLRegAllocEvictAdvisor.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/MachineScheduler.cpp
M llvm/lib/CodeGen/MachineSink.cpp
M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
M llvm/lib/CodeGen/PHIElimination.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/VLIWMachineScheduler.cpp
M llvm/lib/CodeGen/XRayInstrumentation.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
M llvm/lib/ExecutionEngine/JITLink/COFFDirectiveParser.cpp
M llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Option/OptTable.cpp
M llvm/lib/Option/Option.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/lib/SandboxIR/Type.cpp
M llvm/lib/Support/AutoConvert.cpp
M llvm/lib/Support/MemoryBuffer.cpp
M llvm/lib/Support/Windows/Path.inc
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
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/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SILateBranchLowering.cpp
M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.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/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
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/Hexagon/HexagonFrameLowering.cpp
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
M llvm/lib/Target/M68k/Disassembler/M68kDisassembler.cpp
M llvm/lib/Target/M68k/M68kISelDAGToDAG.cpp
M llvm/lib/Target/M68k/M68kInstrAtomics.td
M llvm/lib/Target/M68k/M68kInstrControl.td
M llvm/lib/Target/M68k/M68kInstrInfo.td
M llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVGISel.td
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
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/lib/Target/X86/X86FlagsCopyLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrFragments.td
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.h
M llvm/lib/Target/Xtensa/XtensaMachineFunctionInfo.h
M llvm/lib/TargetParser/AArch64TargetParser.cpp
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
M llvm/lib/Transforms/IPO/AlwaysInliner.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
M llvm/lib/Transforms/Utils/Evaluator.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-extractelement.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-insertelement.ll
M llvm/test/Assembler/aggregate-constant-values.ll
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/dag-combine-setcc.ll
M llvm/test/CodeGen/AArch64/dump-schedule-trace.mir
M llvm/test/CodeGen/AArch64/force-enable-intervals.mir
A llvm/test/CodeGen/AArch64/fp8-sve-cvtn.ll
M llvm/test/CodeGen/AArch64/icmp.ll
M llvm/test/CodeGen/AArch64/illegal-floating-point-vector-compares.ll
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/AArch64/reduce-and.ll
M llvm/test/CodeGen/AArch64/reduce-or.ll
M llvm/test/CodeGen/AArch64/scmp.ll
M llvm/test/CodeGen/AArch64/selectopt-cast.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-int-dots.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-vdot.ll
A llvm/test/CodeGen/AArch64/stackmap-args.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-cvt-fp-int-fp.ll
M llvm/test/CodeGen/AArch64/ucmp.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
M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-no-agpr.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/amdgpu.private-memory.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/av-spill-expansion-with-machine-cp.mir
M llvm/test/CodeGen/AMDGPU/bypass-div.ll
M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
M llvm/test/CodeGen/AMDGPU/hazards-gfx950.mir
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/sgpr-regalloc-flags.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/udiv64.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
M llvm/test/CodeGen/AMDGPU/urem64.ll
A llvm/test/CodeGen/ARM/dagcombine-ld-op-st.ll
M llvm/test/CodeGen/ARM/single-issue-r52.mir
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/CodeGen/Mips/GlobalISel/legalizer/icmp.mir
M llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/icmp.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
A llvm/test/CodeGen/PowerPC/ppc64-stackmap-args.ll
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/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
A llvm/test/CodeGen/RISCV/and-shl.ll
M llvm/test/CodeGen/RISCV/attributes.ll
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
A llvm/test/CodeGen/RISCV/rv64-stackmap-args.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.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-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
M llvm/test/CodeGen/RISCV/sifive7-enable-intervals.mir
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
A llvm/test/CodeGen/SystemZ/stackmap-args.ll
M llvm/test/CodeGen/X86/handle-move.ll
M llvm/test/CodeGen/X86/isel-select-cmov.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
A llvm/test/CodeGen/X86/stackmap-args.ll
M llvm/test/CodeGen/X86/store_op_load_fold.ll
M llvm/test/CodeGen/X86/vec-strict-cmp-128.ll
A llvm/test/CodeGen/Xtensa/vararg.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
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
M llvm/test/MC/Disassembler/M68k/control.txt
A llvm/test/MC/ELF/debug-hash-file-empty-dwarf.s
M llvm/test/MC/ELF/debug-hash-file.s
M llvm/test/MC/ELF/relocation.s
M llvm/test/MC/M68k/Atomics/cas.s
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
A llvm/test/MC/RISCV/xqcics-invalid.s
A llvm/test/MC/RISCV/xqcics-valid.s
A llvm/test/MachineVerifier/AMDGPU/unsupported-subreg-index-aligned-vgpr-check.mir
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
M llvm/test/Transforms/IRCE/low-iterations.ll
A llvm/test/Transforms/IRCE/profitability.ll
A llvm/test/Transforms/Inline/always-inline-bfi.ll
M llvm/test/Transforms/InstCombine/fpclass-from-dom-cond.ll
M llvm/test/Transforms/InstCombine/stdio-custom-dl.ll
M llvm/test/Transforms/InstCombine/strcpy-nonzero-as.ll
A llvm/test/Transforms/InstCombine/vec_shuffle-phi-multiuse.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
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/ARM/mve-icmpcost.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/early_exit_legality.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
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
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
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/MergeICmps/X86/distinct-index-width-crash.ll
A llvm/test/Transforms/PGOProfile/memprof_annotate_yaml.test
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
R llvm/test/Transforms/PhaseOrdering/X86/concat-boolmasks.ll
M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll
A llvm/test/Transforms/VectorCombine/X86/concat-boolmasks.ll
M llvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll
M llvm/test/Transforms/VectorCombine/X86/extract-binop.ll
M llvm/test/tools/llc/new-pm/regalloc-amdgpu.mir
M llvm/test/tools/llvm-profdata/memprof-yaml.test
M llvm/test/tools/llvm-readobj/ELF/note-core.test
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-profdata/llvm-profdata.cpp
M llvm/tools/llvm-rc/llvm-rc.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/tools/llvm-readobj/llvm-readobj.cpp
M llvm/tools/llvm-readtapi/llvm-readtapi.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.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/ADT/CMakeLists.txt
A llvm/unittests/ADT/StringTableTest.cpp
M llvm/unittests/Analysis/DomTreeUpdaterTest.cpp
M llvm/unittests/CodeGen/MachineInstrTest.cpp
M llvm/unittests/Frontend/OpenMPDecompositionTest.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
M llvm/unittests/Option/OptionMarshallingTest.cpp
M llvm/unittests/Option/OptionParsingTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
M llvm/unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cpp
M llvm/unittests/TargetParser/Host.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
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
M llvm/utils/TableGen/OptionParserEmitter.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/git/code-format-helper.py
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/ADT/BUILD.gn
M mlir/CMakeLists.txt
M mlir/cmake/modules/AddMLIR.cmake
A mlir/include/mlir-c/Dialect/EmitC.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/CAPI/Dialect/CMakeLists.txt
A mlir/lib/CAPI/Dialect/EmitC.cpp
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/python/CMakeLists.txt
A mlir/python/mlir/dialects/EmitC.td
A mlir/python/mlir/dialects/emitc.py
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
M mlir/test/Conversion/GPUToLLVMSPV/gpu-to-llvm-spv.mlir
M mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
A mlir/test/Target/LLVMIR/nvvm/tma_store_reduce.mlir
M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
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
A mlir/test/python/dialects/emitc_dialect.py
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
M mlir/unittests/Bytecode/BytecodeTest.cpp
M offload/DeviceRTL/include/Synchronization.h
M offload/DeviceRTL/src/Synchronization.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
Merge branch 'main' into users/boomanaiden154/refactor-buildkite-shell-scripts
Compare: https://github.com/llvm/llvm-project/compare/1c020bba94fe...b54681cb90e9
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