[all-commits] [llvm/llvm-project] 4da0aa: [gn build] Add missing llvm-strings dependency to ...
Amir Ayupov via All-commits
all-commits at lists.llvm.org
Wed Sep 11 16:32:43 PDT 2024
Branch: refs/heads/users/aaupov/spr/main.bolt-only-parse-probes-for-profiled-functions-in-profile-write-pseudo-probes-mode
Home: https://github.com/llvm/llvm-project
Commit: 4da0aa382a706b002504134d38385e377bf20c89
https://github.com/llvm/llvm-project/commit/4da0aa382a706b002504134d38385e377bf20c89
Author: Daniel Bertalan <dani at danielbertalan.dev>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/lld/test/BUILD.gn
Log Message:
-----------
[gn build] Add missing llvm-strings dependency to check-lld (#106896)
This has been required by `lld/test/ELF/zsectionheader.s` since it was
added in 5d972c58.
Commit: df4746d1d076016095059da4af2a3c3cc54657fe
https://github.com/llvm/llvm-project/commit/df4746d1d076016095059da4af2a3c3cc54657fe
Author: Christian Sigg <csigg at google.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M utils/bazel/.bazelrc
Log Message:
-----------
[bazel] Change cache-silo-key to fix blob fetch issue.
Bazel builds currently fail with `Failed to fetch blobs because they do not exist remotely.`.
Set a cache-silo-key to start a new cache.
Commit: 2c7786e94a1058bd4f96794a1d4f70dcb86e5cc5
https://github.com/llvm/llvm-project/commit/2c7786e94a1058bd4f96794a1d4f70dcb86e5cc5
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
M llvm/test/Transforms/LoopVectorize/AMDGPU/packed-math.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-predselect.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-selectandorcost.ll
M llvm/test/Transforms/LoopVectorize/ARM/sphinx.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/widened-massv-call.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/widened-massv-vfabi-attr.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-reductions.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/imprecise-through-phis.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/dot-product.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractelements-vector-ops-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal.ll
M llvm/test/Transforms/SLPVectorizer/X86/redux-feed-buildvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/redux-feed-insertelement.ll
M llvm/test/Transforms/SLPVectorizer/X86/reverse_extract_elements.ll
M llvm/test/Transforms/SLPVectorizer/X86/slp-fma-loss.ll
Log Message:
-----------
Prefer use of 0.0 over -0.0 for fadd reductions w/nsz (in IR) (#106770)
This is a follow up to 924907bc6, and is mostly motivated by consistency
but does include one additional optimization. In general, we prefer 0.0
over -0.0 as the identity value for an fadd. We use that value in
several places, but don't in others. So, let's be consistent and use the
same identity (when nsz allows) everywhere.
This creates a bunch of test churn, but due to 924907bc6, most of that
churn doesn't actually indicate a change in codegen. The exception is
that this change enables the use of 0.0 for nsz, but *not* reasoc, fadd
reductions. Or said differently, it allows the neutral value of an
ordered fadd reduction to be 0.0.
Commit: 8e4b8155c1b80a68fcf854c305f06602b37da218
https://github.com/llvm/llvm-project/commit/8e4b8155c1b80a68fcf854c305f06602b37da218
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/test/CodeGen/M68k/pipeline.ll
Log Message:
-----------
[M68k] Fix compilation pipeline check
- After 'RemoveLoadsIntoFakeUses' is enabled to support llvm.fake.use
Commit: 9626e84faeaab200665bae9694458c2beb3d49c7
https://github.com/llvm/llvm-project/commit/9626e84faeaab200665bae9694458c2beb3d49c7
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode][NFC] Simplify builtin-functions.cpp (#107118)
The effect is the same, but this version doesn't take as long to
evaluate.
Commit: 0b2f2537a5b717539b200bd7fa31cbc24679e96f
https://github.com/llvm/llvm-project/commit/0b2f2537a5b717539b200bd7fa31cbc24679e96f
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[LV] Separate AnyOf recurrence from getRecurrenceIdentity [NFC]
These recurrence types don't have a meaningful identity, and the
routine was abused to return the start value instead. Out of the
three callers to this routine, only one actually wants this
behavior. This is a prep change for removing the routine entirely
and commoning it with other copies of the same logic.
Commit: a8e1c6f99abc273677afed5eaaeee2c0296db59f
https://github.com/llvm/llvm-project/commit/a8e1c6f99abc273677afed5eaaeee2c0296db59f
Author: Giuseppe Rossini <giuseppe.rossini at amd.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
A mlir/test/Conversion/AMDGPUToROCDL/wmma-gfx12.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[MLIR][AMDGPU] Add support for fp8 ops on gfx12 (#106388)
This PR is adding support for `fp8` and `bfp8` on gfx12
Commit: ebdadcfeb9c63f56703bf47dfeb6aff5a66ddfa1
https://github.com/llvm/llvm-project/commit/ebdadcfeb9c63f56703bf47dfeb6aff5a66ddfa1
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/test/CodeGen/SPIRV/branching/OpSwitchBranches.ll
M llvm/test/CodeGen/SPIRV/branching/OpSwitchEmpty.ll
M llvm/test/CodeGen/SPIRV/branching/OpSwitchUnreachable.ll
M llvm/test/CodeGen/SPIRV/branching/Two_OpSwitch_same_register.ll
M llvm/test/CodeGen/SPIRV/transcoding/GlobalFunAnnotate.ll
Log Message:
-----------
[SPIR-V] Improve correctness of emitted MIR between passes for branching instructions (#106966)
This PR improves correctness of emitted MIR between passes for branching
instructions and thus increase number of passing tests when expensive
checks are on. Specifically, we address here such issues with machine
verifier as:
* fix switch generation: generate correct successors and undo the
"address taken" status to reflect that a successor doesn't actually
correspond to an IR-level basic block;
* fix incorrect definition of OpBranch and OpBranchConditional in
TableGen (SPIRVInstrInfo.td) to set isBarrier status properly and set a
correct type of virtual registers;
* fix a case when Phi refers to a type definition that goes after the
Phi instruction, so that the virtual register definition of the type
doesn't dominate all uses.
This PR decrease number of failing tests under expensive checks from 56
to 50.
Commit: 4f403e88f260cd1df3633fbcbe8fa8d1c8e0a745
https://github.com/llvm/llvm-project/commit/4f403e88f260cd1df3633fbcbe8fa8d1c8e0a745
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
A llvm/test/CodeGen/SPIRV/debug-info/no-misplaced-opextinst.ll
Log Message:
-----------
[SPIR-V] Ensure that OpExtInst instructions generated by NonSemantic_Shader_DebugInfo_100 are not mixed up with other OpExtInst instructions (#107007)
This PR is to ensure that OpExtInst instructions generated by
NonSemantic_Shader_DebugInfo_100 are not mixed up with other OpExtInst
instructions.
Original implementation
(https://github.com/llvm/llvm-project/pull/97558) has introduced an
issue by moving OpExtInst instruction with the 3rd operand equal to
DebugSource (value 35) or DebugCompilationUnit (value 1) even if
OpExtInst is not generated by NonSemantic_Shader_DebugInfo_100
implementation code.
The reproducer is attached as a new test case. The code of the test case
reproduces the issue, because "lgamma" has the same code (35) inside
OpenCL_std as DebugSource inside NonSemantic_Shader_DebugInfo_100.
Commit: e89bcfc0e86cd4952c03fdf920d11c598ae6e16a
https://github.com/llvm/llvm-project/commit/e89bcfc0e86cd4952c03fdf920d11c598ae6e16a
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
Log Message:
-----------
[SandboxIR] Add tracking for ShuffleVectorInst::commute. (#106644)
Track it as an operand swap + a `setShuffleMask` and delegate to the
`llvm::ShuffleVectorInst` implementation.
Commit: fdc1b5d290edfefe93c2bf0582e8e4363bda63ee
https://github.com/llvm/llvm-project/commit/fdc1b5d290edfefe93c2bf0582e8e4363bda63ee
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/tools/opt/NewPMDriver.cpp
M llvm/tools/opt/NewPMDriver.h
M llvm/tools/opt/optdriver.cpp
Log Message:
-----------
[NFC][opt] Rename VerifierKind enums (#106789)
Make into enum class.
Output really should be InputOutput since it also verifies the input IR.
Commit: 46407366166dc84c95075cf273acc005605967fe
https://github.com/llvm/llvm-project/commit/46407366166dc84c95075cf273acc005605967fe
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M libcxx/modules/std/type_traits.inc
Log Message:
-----------
[libc++] Add missing `std::is_virtual_base_of` to `type_traits.inc` (#107009)
std::is_virtual_base_of was implemented in https://github.com/llvm/llvm-project/pull/105847
Commit: 26a4edf655aac138ef4f8cebf865d34b9ab4ff2d
https://github.com/llvm/llvm-project/commit/26a4edf655aac138ef4f8cebf865d34b9ab4ff2d
Author: Petr Hosek <phosek at google.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
M cmake/Modules/HandleCompilerRT.cmake
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/rtsan/tests/CMakeLists.txt
Log Message:
-----------
[CMake][compiler-rt] Support for using compiler-rt atomic library (#106603)
Not every toolchain provides and want to use libatomic which is a part
of GCC, some toolchains may opt into using compiler-rt atomic library.
Commit: b91b1f0bd38c8e5d8f7eb30413ec799581e3d46e
https://github.com/llvm/llvm-project/commit/b91b1f0bd38c8e5d8f7eb30413ec799581e3d46e
Author: vporpo <vporpodas at google.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/Type.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/lib/SandboxIR/Type.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/SandboxIR/TypesTest.cpp
Log Message:
-----------
[SandboxIR] Implement remaining ConstantInt functions (#106775)
This patch adds the remaining ConstantInt:: functions and it also
implements the IntegerType class.
Commit: fb14f1df54c3e4edaaf3aa34268147f4da11d3b4
https://github.com/llvm/llvm-project/commit/fb14f1df54c3e4edaaf3aa34268147f4da11d3b4
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M clang/test/CodeGen/pgo-force-function-attrs.ll
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/test/Instrumentation/PGOForceFunctionAttrs/basic.ll
M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
Log Message:
-----------
[PGO][Pipeline] Enable PGOForceFunctionAttrs in PGO optimization pipelines (#106790)
Remove flag that turns on the PGOForceFunctionAttrs pass and always add
it to default pipelines when using PGO.
This is NFC by default since PGOOpt->ColdOptType is by default
ColdFuncOpt::Default.
Remove -O2 RUN line in basic.ll since we now have the pipeline tests.
Commit: 42f5277de16cd7fad01285ade9004675b8253ced
https://github.com/llvm/llvm-project/commit/42f5277de16cd7fad01285ade9004675b8253ced
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M libcxx/include/__config
M libcxx/include/__type_traits/datasizeof.h
M libcxx/test/libcxx/type_traits/datasizeof.compile.pass.cpp
Log Message:
-----------
[libc++] Fix __datasizeof_v for Clang17 and 18 in C++03 (#106832)
This also disables the use of `__datasizeof`, since it's currently
broken for empty types.
Commit: 24b6b82487f15dd9d6cbe8a716dd13a6808a2528
https://github.com/llvm/llvm-project/commit/24b6b82487f15dd9d6cbe8a716dd13a6808a2528
Author: Damyan Pepper <damyanp at microsoft.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
Log Message:
-----------
[NFC] Add llvm_unreachable to getRCPrefix (#106822)
Commit: 884d7c137a587fdd7549bd8a26f887bbeda0cc86
https://github.com/llvm/llvm-project/commit/884d7c137a587fdd7549bd8a26f887bbeda0cc86
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
R llvm/test/Transforms/SLPVectorizer/RISCV/unique-loads-insert-non-power-of-2.ll
Log Message:
-----------
Revert "[SLP]Check for the whole vector vectorization in unique scalars analysis"
This reverts commit b74e09cb20e6218320013b54c9ba2f5c069d44b9 after
post-commit review. The number of parts is calculated incorrectly.
Commit: 571c8c2c88122d318ed84cd9e948613e3f1aac5f
https://github.com/llvm/llvm-project/commit/571c8c2c88122d318ed84cd9e948613e3f1aac5f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/reduction-whole-regs-loads.ll
Log Message:
-----------
Revert "[SLP]Initial support for non-power-of-2 (but still whole register) number of elements in operands."
This reverts commit a3ea90ffbbe47d9a1b3eab03324f09d7b8e0dcb3 after the
post commit review. The number of parts is calculated incorrectly.
Commit: 126940bde3e48ad9bf0a6966fc473e22d4dade7d
https://github.com/llvm/llvm-project/commit/126940bde3e48ad9bf0a6966fc473e22d4dade7d
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLPVectorizer] Use DenseMap::{find,try_emplace} (NFC) (#107123)
I'm planning to deprecate and eventually remove
DenseMap::FindAndConstruct in favor of operator[].
Commit: 15fa3ba547bc3ee04af5c32b8f723a97e3feefd8
https://github.com/llvm/llvm-project/commit/15fa3ba547bc3ee04af5c32b8f723a97e3feefd8
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M bolt/lib/Profile/YAMLProfileReader.cpp
A bolt/test/X86/yaml-unknown-keys.test
M bolt/tools/merge-fdata/merge-fdata.cpp
Log Message:
-----------
[BOLT][YAML] Allow unknown keys in the input (#100824)
This ensures forward compatibility, where old BOLT versions can consume
the profile created by newer versions with extra keys.
Test Plan: added yaml-unknown-keys.test
Commit: eec1fac9b51d06c8afafe9952a20ba7cd4c3ce1c
https://github.com/llvm/llvm-project/commit/eec1fac9b51d06c8afafe9952a20ba7cd4c3ce1c
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/test/SemaCXX/cxx2c-placeholder-vars.cpp
Log Message:
-----------
[Clang] Fix handling of placeholder variables name in init captures (#107055)
We were incorrectly not deduplicating results when looking up `_` which,
for a lambda init capture, would result in an ambiguous lookup.
The same bug caused some diagnostic notes to be emitted twice.
Fixes #107024
Commit: 1fbb6b4efc9e9d257f0f7e5065f40f9b9677ca7c
https://github.com/llvm/llvm-project/commit/1fbb6b4efc9e9d257f0f7e5065f40f9b9677ca7c
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
Log Message:
-----------
[LV] Prefer FLT_MIN/MAX for fmin/fmax reductions with ninf (#107141)
Analogous to 2c7786e94a1058bd4f96794a1d4f70dcb86e5cc5, cleanup a case
where the vectorizer is emitting a non-canonical identity value given
the available flags. We use largest/smallest value during ISEL, and VP
expansion, but not during vectorization.
Since the fmin/fmax/fminimum/fmaximum intrinsics don't require a start
value, this difference is only visible when masking of inactive lanes is
required.
Primary motivation of this change is simply to remove a difference
between version of code which reason about the identity value of a
reduction so I can kill all but one off.
In review, it was pointed out that this is actually a functional fix as well.
The old code used inf on a noinf reduction instruction - whose
result is poison! That wasn't the intent of the code.
Commit: 451a3135a7afece0b6e7605376ce208435605934
https://github.com/llvm/llvm-project/commit/451a3135a7afece0b6e7605376ce208435605934
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/include/llvm/Analysis/DominanceFrontier.h
M llvm/include/llvm/Analysis/DominanceFrontierImpl.h
M llvm/include/llvm/CodeGen/MachineDominanceFrontier.h
Log Message:
-----------
[DominanceFrontier] Remove unused functions (#106913)
Commit: eb05e8fde1ebc4cda2106b1236620a8a89b36b7c
https://github.com/llvm/llvm-project/commit/eb05e8fde1ebc4cda2106b1236620a8a89b36b7c
Author: Martin Storsjö <martin at martin.st>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M clang/www/c_status.html
Log Message:
-----------
[clang] [docs] Clarify the issue with compiler-rt on Windows/MSVC (#106875)
Compiler-rt does support Windows just fine, even if outdated docs pages
didn't list it as one of the supported OSes, this is being rectified in
https://github.com/llvm/llvm-project/pull/106874.
MinGW is another environment configuration on Windows, where compiler-rt
or libgcc is linked in automatically, so there's no issue with having
such builtins functions available.
For MSVC style environments, compiler-rt builtins do work just fine, but
Clang doesn't automatically link them in. See e.g.
https://discourse.llvm.org/t/improve-autolinking-of-compiler-rt-and-libc-on-windows-with-lld-link/71392
for a discussion on how to improve this situation. But none of that
issue is that compiler-rt itself wouldn't support Windows.
Commit: fcb7b390ccd5b4cfc71f13b5e16a846f3f400c10
https://github.com/llvm/llvm-project/commit/fcb7b390ccd5b4cfc71f13b5e16a846f3f400c10
Author: Martin Storsjö <martin at martin.st>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/debug-options-as.c
Log Message:
-----------
[clang] Don't add DWARF debug info when assembling .s with clang-cl /Z7 (#106686)
This fixes a regression from f58330cbe44598eb2de0cca3b812f67fea0a71ca.
That commit changed the clang-cl options /Zi and /Z7 to be implemented
as aliases of -g rather than having separate handling.
This had the unintended effect, that when assembling .s files with
clang-cl, the /Z7 option (which implies using CodeView debug info) was
treated as a -g option, which causes `ClangAs::ConstructJob` to pick up
the option as part of `Args.getLastArg(options::OPT_g_Group)`, which
sets the `WantDebug` variable.
Within `Clang::ConstructJob`, we check for whether explicit `-gdwarf` or
`-gcodeview` options have been set, and if not, we pick the default
debug format for the current toolchain. However, in `ClangAs`, if debug
info has been enabled, it always adds DWARF debug info.
Add similar logic in `ClangAs` - check if the user has explicitly
requested either DWARF or CodeView, otherwise look up the toolchain
default. If we (either implicitly or explicitly) should be producing
CodeView, don't enable the default `ClangAs` DWARF generation.
This fixes the issue, where assembling a single `.s` file with clang-cl,
with the /Z7 option, causes the file to contain some DWARF sections.
This causes the output executable to contain DWARF, in addition to the
separate intended main PDB file.
By having the output executable contain DWARF sections, LLDB only looks
at the (very little) DWARF info in the executable, rather than looking
for a separate standalone PDB file. This caused an issue with LLDB's
tests, https://github.com/llvm/llvm-project/issues/101710.
Commit: 3bd161e98d89d31696002994771b7761f1c74859
https://github.com/llvm/llvm-project/commit/3bd161e98d89d31696002994771b7761f1c74859
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
Log Message:
-----------
[LV] Honor forced scalars in setVectorizedCallDecision.
Similarly to dd94537b4, setVectorizedCallDecision also did not consider
ForcedScalars. This lead to VPlans not reflecting the decision by the
legacy cost model (cost computation would use scalar cost, VPlan would
have VPWidenCallRecipe).
To fix this, check if the call has been forced to scalar in
setVectorizedCallDecision.
Note that this requires moving setVectorizedCallDecision after
collectLoopUniforms (which sets ForcedScalars). collectLoopUniforms does
not depend on call decisions and can safely be moved.
Fixes https://github.com/llvm/llvm-project/issues/107051.
Commit: 70f3511adaea4d3a9f8fadb23e84f518cc0654ab
https://github.com/llvm/llvm-project/commit/70f3511adaea4d3a9f8fadb23e84f518cc0654ab
Author: Martin Storsjö <martin at martin.st>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M clang/test/Driver/debug-options-as.c
Log Message:
-----------
[clang] [test] Fix the debug-options-as.c test on macOS
Separate the path, which may begin with e.g. /Users, with "--" from
the other options, to make it clear that it is a path, not an
option.
This fixes a test from fcb7b390ccd5b4cfc71f13b5e16a846f3f400c10.
Commit: ec8e1c623a78536b956cc2c1d42ae75c4024ad66
https://github.com/llvm/llvm-project/commit/ec8e1c623a78536b956cc2c1d42ae75c4024ad66
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoZfbfmin.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td
M llvm/test/CodeGen/RISCV/bfloat-convert.ll
M llvm/test/CodeGen/RISCV/half-convert-strict.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/rv64zfhmin-half-convert-strict.ll
M llvm/test/CodeGen/RISCV/rv64zfhmin-half-convert.ll
Log Message:
-----------
[RISCV] Custom promote f16/bf16 (s/u)int_to_fp. (#107026)
This avoids having isel patterns that emit two instrutions. It also
allows us to remove sext.w and slli+srli pairs by using fcvt.s.w(u) on
RV64.
Commit: 319e8cd201e6744199da377fba237dd276063e49
https://github.com/llvm/llvm-project/commit/319e8cd201e6744199da377fba237dd276063e49
Author: Ian Anderson <iana at apple.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/lib/Sema/SemaAvailability.cpp
M clang/test/FixIt/fixit-availability-maccatalyst.m
M clang/test/FixIt/fixit-availability.mm
Log Message:
-----------
[Clang][Sema] clang generates incorrect fix-its for API_AVAILABLE (#105855)
Apple's API_AVAILABLE macro has its own notion of platform names which
are supported by \_\_API_AVAILABLE_PLATFORM_<name> macros. They don't
follow a consistent naming convention, but there's at least one that
matches a valid availability attribute platform name. Instead of
lowercasing the source spelling name, search for a defined macro and use
that in the fix-it.
Commit: cdab6ffd6d32566277f71d9733e4b21750ea38c8
https://github.com/llvm/llvm-project/commit/cdab6ffd6d32566277f71d9733e4b21750ea38c8
Author: weiguozhi <57237827+weiguozhi at users.noreply.github.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/test/CodeGen/X86/clobber_frame_ptr.ll
Log Message:
-----------
[X86] Don't save/restore fp/bp around terminator (#106462)
In function spillFPBP we already try to skip terminator, but there is a
logic error, so when there is only terminator instruction in the MBB, it
still tries to save/restore fp/bp around it if the terminator clobbers
fp/bp, for example a tail call with ghc calling convention.
Now this patch really skips terminator even if it is the only
instruction in the MBB.
Commit: cbb5f03f5042aa6d7c5d17963eba192861c9165c
https://github.com/llvm/llvm-project/commit/cbb5f03f5042aa6d7c5d17963eba192861c9165c
Author: Martin Storsjö <martin at martin.st>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M clang/test/Driver/debug-options-as.c
Log Message:
-----------
[clang] [test] Fix the debug-options-as.c test on PowerPC
Use an explicit MSVC triple with an architecture that does
have proper handling for MSVC style targets.
This fixes a test from fcb7b390ccd5b4cfc71f13b5e16a846f3f400c10.
Commit: 0ef7b1d21ca7ce55f1c8d3ec739e64775572e9cc
https://github.com/llvm/llvm-project/commit/0ef7b1d21ca7ce55f1c8d3ec739e64775572e9cc
Author: Joshua Baehring <98630690+JoshuaMBa at users.noreply.github.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
Log Message:
-----------
[scudo] Update secondary cache released pages bound. (#106466)
`MaxReleasedCachePages` has been set to 4. Initially, in #105009 , we
set `MaxReleasedCachePages` to 0 so that the partial chunk heuristic
could be introduced incrementally as we observed its impact on retrieval
order and more generally, performance.
Co-authored-by: Joshua Baehring <josh.baehring at yale.edu>
Commit: 334d1238aafa8ca017d433caaf8f6e00f2622111
https://github.com/llvm/llvm-project/commit/334d1238aafa8ca017d433caaf8f6e00f2622111
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/SemaHLSL/resource_binding_attr_error_udt.hlsl
Log Message:
-----------
[HLSL] Adjust resource binding diagnostic flags code (#106657)
Adjust register binding diagnostic flags code in a couple of ways:
- Store the resource class in the Flags struct to avoid duplicated
scanning for HLSLResourceClassAttribute
- Avoid unnecessary indirection when converting resource class to
register type
- Remove recursion and reduce duplicated code
Also fixes a case where struct with an array was incorrectly diagnosed
unfit for `c` register binding.
This will also simplify work that is needed to be done in this area for
llvm/llvm-project#104861.
Commit: dfc21acdfa0eb7f6f6bb563445959fb18ea863da
https://github.com/llvm/llvm-project/commit/dfc21acdfa0eb7f6f6bb563445959fb18ea863da
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/CufOpConversion.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
Log Message:
-----------
[flang][cuda] Convert global allocation for pinned variable (#106807)
ALLOCATE/DEALLOCATE statements for module allocatable variable with the
pinned attribute can be lowered to the standard runtime call and do not
need further action since these variables will have a unique descriptor
that is on the host.
Commit: b2dabd2b06cb0ca5ea534bafe33c5cff5521be18
https://github.com/llvm/llvm-project/commit/b2dabd2b06cb0ca5ea534bafe33c5cff5521be18
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M clang/lib/Sema/SemaHLSL.cpp
Log Message:
-----------
[Sema] Fix warnings
This patch fixes:
clang/lib/Sema/SemaHLSL.cpp:838:12: error: unused variable
'TheVarDecl' [-Werror,-Wunused-variable]
clang/lib/Sema/SemaHLSL.cpp:840:19: error: unused variable
'CBufferOrTBuffer' [-Werror,-Wunused-variable]
Commit: d966d4708fe5084e47ca3d9d411935d6870aefff
https://github.com/llvm/llvm-project/commit/d966d4708fe5084e47ca3d9d411935d6870aefff
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M lldb/include/lldb/Utility/SupportFile.h
Log Message:
-----------
[lldb] Make SupportFile's FileSpec and Checksum const (NFC)
Commit: 98bde7fd872c10e49035d5dc5d2f2b44489f6a07
https://github.com/llvm/llvm-project/commit/98bde7fd872c10e49035d5dc5d2f2b44489f6a07
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M lldb/source/Commands/CommandObjectSource.cpp
M lldb/source/Core/SourceManager.cpp
M lldb/source/Symbol/LineTable.cpp
Log Message:
-----------
[lldb] Avoid FileSpec indirection where we can use SupportFiles directly
Now that more parts of LLDB know about SupportFiles, avoid going through
FileSpec (and losing the Checksum in the process). Instead, use the
SupportFile directly.
Commit: 53d3d1ab9abf28e92a27fce0a99ae83720d27d75
https://github.com/llvm/llvm-project/commit/53d3d1ab9abf28e92a27fce0a99ae83720d27d75
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLPVectorizer] Avoid two successive hash lookups on the same key (#107143)
This patch replaces the find-try_emplace sequence with just one call
to try_emplace, thereby avoiding two successive hash lookups on the
same key. I am not using the "inserted" boolean from try_emplace to
preserve the original behavior (that is, before PR 107123) that checks
to see if the value is nullptr or not.
Commit: db8ca88f578c2270ab2d461fa0dd5e7a1d1bad43
https://github.com/llvm/llvm-project/commit/db8ca88f578c2270ab2d461fa0dd5e7a1d1bad43
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/utils/TableGen/VTEmitter.cpp
Log Message:
-----------
[TableGen] Print all arguments to GET_VT_ATTR in the comment in GenVT.inc. NFC
Commit: 18cf14efe3e82b2343817fd174bcac48244c8f50
https://github.com/llvm/llvm-project/commit/18cf14efe3e82b2343817fd174bcac48244c8f50
Author: Scott Linder <Scott.Linder at amd.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M lldb/docs/conf.py
M llvm/docs/conf.py
Log Message:
-----------
[Docs] Use cacheable myst_heading_slug_func value
Avoid creating an uncacheable conf variable by using a string instead of
a function reference. Also has the effect of avoiding triggering the
"config.cache" sphinx warning.
Requires myst_parser 0.19.0 (specifically
https://github.com/executablebooks/MyST-Parser/pull/696) which is over a
year old by now. Do we mandate any minimum version for these
dependencies?
Commit: db3792b87a4fd759e336c44946a3e2ec0008c993
https://github.com/llvm/llvm-project/commit/db3792b87a4fd759e336c44946a3e2ec0008c993
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoZfbfmin.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td
M llvm/test/CodeGen/RISCV/bfloat-convert.ll
M llvm/test/CodeGen/RISCV/half-convert-strict.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/half-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfptoi-constrained-sdnode.ll
Log Message:
-----------
[RISCV] Custom promote f16/bf16 fp_to_(s/u)int to reduce isel patterns that emit two instructions. (#107011)
All of the test changes are because integer type legalization prefers to promote
fp_to_uint to fp_to_sint if neither is "Legal".
Commit: 7d3b81d06f96bc27673f31a7bd7d141ce4a2777b
https://github.com/llvm/llvm-project/commit/7d3b81d06f96bc27673f31a7bd7d141ce4a2777b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb] Bump the lldb-dap version number
Bump the lldb-dap version number so that we can publish and updated
version in the Visual Studio Marketplace.
Commit: 98bb354a0add4aeb614430f48a23f87992166239
https://github.com/llvm/llvm-project/commit/98bb354a0add4aeb614430f48a23f87992166239
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/multi-tracked-reduced-value.ll
Log Message:
-----------
[SLP]Fix PR107037: correctly track origonal/modified after vectorizations reduced values
Need to correctly track reduced values with multiple uses in the same
reduction emission attempt. Otherwise, the number of the reuses might be
calculated incorrectly, and may cause compiler crash.
Fixes https://github.com/llvm/llvm-project/issues/107037
Commit: d3c10b51a99d4476261f57ceaa7db60960cd5493
https://github.com/llvm/llvm-project/commit/d3c10b51a99d4476261f57ceaa7db60960cd5493
Author: Peter Lafreniere <peter at n8pjl.ca>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/Target/M68k/M68kInstrInfo.cpp
M llvm/test/CodeGen/M68k/Arith/add.ll
R llvm/test/CodeGen/M68k/Arith/sext-i1.ll
M llvm/test/CodeGen/M68k/CConv/fastcc-call.ll
A llvm/test/CodeGen/M68k/Data/link-unlnk.ll
A llvm/test/CodeGen/M68k/Data/load-extend.ll
A llvm/test/CodeGen/M68k/Data/load-imm.ll
A llvm/test/CodeGen/M68k/Data/sext-i1.ll
R llvm/test/CodeGen/M68k/link-unlnk.ll
R llvm/test/CodeGen/M68k/load-extend.ll
Log Message:
-----------
[M68k] Introduce more MOVI cases (#98377)
Add three more special cases for loading registers with immediates.
The first allows values in the range of [-255, 255] to be loaded with
MOVEQ, even if the register is more than 8 bits and the sign extention
is unwanted. This is done by loading the bitwise complement of the
desired value, then performing a NOT instruction on the loaded register.
This special case is only used when a simple MOVEQ cannot be used, and
is only used for 32 bit data registers. Address registers cannot support
MOVEQ, and the two-instruction sequence is no faster or smaller than a
plain MOVE instruction when loading 16 bit immediates on the 68000, and
likely slower for more sophisticated microarchitectures. However, the
instruction sequence is both smaller and faster than the corresponding
MOVE instruction for 32 bit register widths.
The second special case is for zeroing address registers. This simply
expands to subtracting a register with itself, consuming one instruction
word rather than 2-3, with a small improvement in speed as well.
The last special case is for assigning sign-extended 16-bit values to a
full address register. This takes advantage of the fact that the movea.w
instruction sign extends the output, permitting the immediate to be
smaller. This is similar to using lea with a 16-bit address, which is
not added in this patch as 16-bit absolute addressing is not yet
implemented.
This is a v2 submission of #90817. It also creates a 'Data' test
directory to better align with the backend's tablegen layout.
Commit: 1c874bbbd67c5795113fa307512ea514f06dac29
https://github.com/llvm/llvm-project/commit/1c874bbbd67c5795113fa307512ea514f06dac29
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoZfbfmin.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td
M llvm/test/CodeGen/RISCV/bfloat-select-fcmp.ll
M llvm/test/CodeGen/RISCV/bfloat-select-icmp.ll
M llvm/test/CodeGen/RISCV/half-select-fcmp.ll
M llvm/test/CodeGen/RISCV/half-select-icmp.ll
Log Message:
-----------
[RISCV] Don't promote f16/bf16 SELECT with Zfhmin/Zfbfmin. (#107138)
Select only needs branches and moves so we don't need to promote it.
Promoting would canonicalize NaNs which select shouldn't do.
Commit: b24a304435632710bb54a0cd9cda1757abb8c160
https://github.com/llvm/llvm-project/commit/b24a304435632710bb54a0cd9cda1757abb8c160
Author: Daniel Bertalan <dani at danielbertalan.dev>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M lld/MachO/Symbols.cpp
M lld/MachO/Symbols.h
Log Message:
-----------
[lld-macho] Always store symbol name length eagerly (NFC) (#106906)
The only instance where we weren't already passing a `StringRef` with a
known length to `Symbol`'s constructor is where the argument is a string
literal. Even in that case, lazy `strlen` calls don't make sense, as the
compiler can constant-evaluate the `StringRef(const char*)` constructor.
For symbols that go into the symbol table we need the length when
calculating the hash anyway. We could get away with not calling
`getName()` for local symbols, but the total contribution of `strlen` to
the run time is already below 1%, so that would just complicate the code
for a negligible benefit.
Commit: 3209766608d14fbb0add96916a28c3f98fed9460
https://github.com/llvm/llvm-project/commit/3209766608d14fbb0add96916a28c3f98fed9460
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/include/llvm/ProfileData/PGOCtxProfReader.h
M llvm/include/llvm/Transforms/Utils/Cloning.h
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Transforms/IPO/ModuleInliner.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/test/Analysis/CtxProfAnalysis/full-cycle.ll
A llvm/test/Analysis/CtxProfAnalysis/inline.ll
A llvm/test/Analysis/CtxProfAnalysis/json_equals.py
M llvm/test/Analysis/CtxProfAnalysis/load.ll
M llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp
Log Message:
-----------
[ctx_prof] Add Inlining support (#106154)
Add an overload of `InlineFunction` that updates the contextual profile. If there is no contextual profile, this overload is equivalent to the non-contextual profile variant.
Post-inlining, the update mainly consists of:
- making the PGO instrumentation of the callee "the caller's": the owner function (the "name" parameter of the instrumentation instructions) becomes the caller, and new index values are allocated for each of the callee's indices (this happens for both increment and callsite instrumentation instructions)
- in the contextual profile:
- each context corresponding to the caller has its counters updated to incorporate the counters inherited from the callee at the inlined callsite. Counter values are copied as-is because no scaling is required since the profile is contextual.
- the contexts of the callee (at the inlined callsite) are moved to the caller.
- the callee context at the inlined callsite is deleted.
Commit: dce73e115e11cf75c0e50fb96a9ba046c880838e
https://github.com/llvm/llvm-project/commit/dce73e115e11cf75c0e50fb96a9ba046c880838e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
R llvm/test/Transforms/SLPVectorizer/X86/multi-tracked-reduced-value.ll
Log Message:
-----------
Revert "[SLP]Fix PR107037: correctly track origonal/modified after vectorizations reduced values"
This reverts commit 98bb354a0add4aeb614430f48a23f87992166239 to fix
buildbots https://lab.llvm.org/buildbot/#/builders/155/builds/2056 and https://lab.llvm.org/buildbot/#/builders/11/builds/4407
Commit: 18263c319092b878f25dd4025830f8e6691245d4
https://github.com/llvm/llvm-project/commit/18263c319092b878f25dd4025830f8e6691245d4
Author: Chris Apple <cja-private at pm.me>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_context.cpp
Log Message:
-----------
[compiler-rt][rtsan] Add scoped reporting lock (#107167)
Uses a static lock to ensure multiple threads reporting issues at the
same time don't have printing collisions. This isn't so important now,
but will be with continue mode in the future.
Commit: b076f6640e3c2781410588f4a8e4ccfeed8eb606
https://github.com/llvm/llvm-project/commit/b076f6640e3c2781410588f4a8e4ccfeed8eb606
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M lldb/source/Target/TargetProperties.td
M lldb/test/API/functionalities/memory/big-read/TestMemoryReadMaximumSize.py
Log Message:
-----------
[lldb] Remove limit on max memory read size (#105765)
`memory read` will return an error if you try to read more than 1k bytes
in a single command, instructing you to set
`target.max-memory-read-size` or use `--force` if you intended to read
more than that. This is a safeguard for a command where people are being
explicit about how much memory they would like lldb to read (either to
display, or save to a file) and is an annoyance every time you need to
read more than a small amount. If someone confuses the --count argument
with the start address, lldb may begin dumping gigabytes of data but I'd
rather that behavior than requiring everyone to special-case their way
around a common use case.
I don't want to remove the setting because many people have added (much
larger) default max read sizes to their ~/.lldbinit files after hitting
this behavior. Another option would be to stop reading/using the value
in Target.cpp, but I see no harm in leaving the setting if someone
really does prefer to have a small cap on their memory read size.
Commit: 3e8840ba71bfcceeb598c2ca28d2d8784e24ba1e
https://github.com/llvm/llvm-project/commit/3e8840ba71bfcceeb598c2ca28d2d8784e24ba1e
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/VectorBuilder.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/IR/VectorBuilder.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
Remove "Target" from createXReduction naming [nfc]
Despite the stale comments, none of these actually use TTI, and they're
solely generating standard LLVM IR.
Commit: eaa95a1c2bd38332c1a4e634595f29d22b28ffea
https://github.com/llvm/llvm-project/commit/eaa95a1c2bd38332c1a4e634595f29d22b28ffea
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/test/CXX/drs/cwg24xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add test for CWG2486 (`noexcept` and function pointer conversion) (#107131)
[CWG2486](https://cplusplus.github.io/CWG/issues/2486.html) "Call to
`noexcept` function via `noexcept(false)` pointer/lvalue" allows
`noexcept` functions to be called via `noexcept(false)` pointers or
values. There appears to be no implementation divergence whatsoever:
https://godbolt.org/z/3afTfeEM8. That said, in C++14 and earlier we do
not issue all the diagnostics we issue in C++17 and newer, so I'm
specifying the status of the issue accordingly.
Commit: 83ad644afaac23577e3563d3ec1fac1b1fde37f4
https://github.com/llvm/llvm-project/commit/83ad644afaac23577e3563d3ec1fac1b1fde37f4
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.def
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/avx10_2_512bf16intrin.h
A clang/lib/Headers/avx10_2bf16intrin.h
M clang/lib/Headers/immintrin.h
M clang/lib/Sema/SemaX86.cpp
A clang/test/CodeGen/X86/avx10_2_512bf16-builtins.c
A clang/test/CodeGen/X86/avx10_2bf16-builtins.c
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFMA3Info.cpp
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86InstrUtils.td
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
A llvm/test/CodeGen/X86/avx10.2-fma-commute.ll
A llvm/test/CodeGen/X86/avx10_2_512bf16-arith.ll
A llvm/test/CodeGen/X86/avx10_2_512bf16-intrinsics.ll
A llvm/test/CodeGen/X86/avx10_2bf16-arith.ll
A llvm/test/CodeGen/X86/avx10_2bf16-intrinsics.ll
A llvm/test/MC/Disassembler/X86/avx10.2-bf16-32.txt
A llvm/test/MC/Disassembler/X86/avx10.2-bf16-64.txt
A llvm/test/MC/X86/avx10.2-bf16-32-att.s
A llvm/test/MC/X86/avx10.2-bf16-32-intel.s
A llvm/test/MC/X86/avx10.2-bf16-64-att.s
A llvm/test/MC/X86/avx10.2-bf16-64-intel.s
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86][AVX10.2] Support AVX10.2-BF16 new instructions. (#101603)
Ref.: https://cdrdv2.intel.com/v1/dl/getContent/828965
Commit: 814aa432abf8e9f644903061029e6e27f6a418a8
https://github.com/llvm/llvm-project/commit/814aa432abf8e9f644903061029e6e27f6a418a8
Author: vporpo <vporpodas at google.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/include/llvm/SandboxIR/Type.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/lib/SandboxIR/Type.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/SandboxIR/TypesTest.cpp
Log Message:
-----------
[SandboxIR] Implement ConstantAggregate (#107136)
This patch implements sandboxir:: ConstantAggregate, ConstantStruct,
ConstantArray and ConstantVector, mirroring LLVM IR.
Commit: 48bc8b0f7f49f5b23884a0d9d21056ec0bfffe24
https://github.com/llvm/llvm-project/commit/48bc8b0f7f49f5b23884a0d9d21056ec0bfffe24
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port 83ad644afaac
Commit: ff0f2011e475141454028bce9cf7c6ff37a49620
https://github.com/llvm/llvm-project/commit/ff0f2011e475141454028bce9cf7c6ff37a49620
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec-bf16.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-setcc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-splat-bf16.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-splat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge-bf16.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge.ll
Log Message:
-----------
[RISCV] Bitcast fixed length bf16/f16 build_vector to i16 with Zvfbfmin/Zvfhmin+Zfbfmin/Zfhmin. (#106637)
Previously, if Zfbfmin/Zfhmin were enabled, we only handled
build_vectors that could be turned into splat_vectors. We promoted them
to f32 splats by extending in the scalar domain and narrowing in the
vector domain.
This patch fixes a crash where we failed to account for whether the f32
vector type fit in LMUL<=8.
Because the new lowering occurs after type legalization, we have to be
careful to use XLenVT for the scalar integer type and use custom cast
nodes.
Commit: f1615e32379ff1ea125a8b3ac8792c3e0b5e6f2c
https://github.com/llvm/llvm-project/commit/f1615e32379ff1ea125a8b3ac8792c3e0b5e6f2c
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
Log Message:
-----------
[WebAssembly] Remove Kind argument from WebAssemblyOperand (NFC) (#107157)
The `Kind` argument does not need to passed separately.
Commit: c8763f04bf2162d3f0f4f967dfeb2f0feda0c75b
https://github.com/llvm/llvm-project/commit/c8763f04bf2162d3f0f4f967dfeb2f0feda0c75b
Author: Yun-Fly <yunfei.song at intel.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir
Log Message:
-----------
[mlir][tensor] Fix consumer fusion for `tensor.pack` without explicit `outer_dims_perm` attribute (#106687)
Commit: 99f02a874984f2b79c3fbd8ae6bbceb7366521ad
https://github.com/llvm/llvm-project/commit/99f02a874984f2b79c3fbd8ae6bbceb7366521ad
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
A clang/test/CXX/drs/cwg1818.cpp
M clang/test/CXX/drs/cwg18xx.cpp
A clang/test/CXX/drs/cwg563.cpp
M clang/test/CXX/drs/cwg5xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add tests for CWG issues about language linkage (#107019)
This patch covers Core issues about language linkage during declaration
matching resolved in
[P1787R6](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1787r6.html),
namely [CWG563](https://cplusplus.github.io/CWG/issues/563.html) and
[CWG1818](https://cplusplus.github.io/CWG/issues/1818.html).
[CWG563](https://cplusplus.github.io/CWG/issues/563.html) "Linkage
specification for objects"
-----------
[P1787R6](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1787r6.html):
> [CWG563](https://cplusplus.github.io/CWG/issues/563.html) is resolved
by simplifications that follow its suggestions.
Wording ([[dcl.link]/5](https://eel.is/c++draft/dcl.link#5)):
> In a
[linkage-specification](https://eel.is/c++draft/dcl.link#nt:linkage-specification),
the specified language linkage applies to the function types of all
function declarators and to all functions and variables whose names have
external linkage[.](https://eel.is/c++draft/dcl.link#5.sentence-5)
Now the wording clearly says that linkage-specification applies to
variables with external linkage.
[CWG1818](https://cplusplus.github.io/CWG/issues/1818.html) "Visibility
and inherited language linkage"
------------
[P1787R6](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1787r6.html):
>
[CWG386](http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#386),
[CWG1839](http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1839),
[CWG1818](http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1818),
[CWG2058](http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2058),
[CWG1900](http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1900),
and Richard’s observation in [“are non-type names ignored in a
class-head-name or
enum-head-name?”](http://lists.isocpp.org/core/2017/01/1604.php) are
resolved by describing the limited lookup that occurs for a
declarator-id, including the changes in Richard’s [proposed resolution
for
CWG1839](http://wiki.edg.com/pub/Wg21cologne2019/CoreWorkingGroup/cwg1839.html)
(which also resolves CWG1818 and what of CWG2058 was not resolved along
with CWG2059) and rejecting the example from
[CWG1477](http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1477).
Wording ([[dcl.link]/6](https://eel.is/c++draft/dcl.link#6)):
> A redeclaration of an entity without a linkage specification inherits
the language linkage of the entity and (if applicable) its
type[.](https://eel.is/c++draft/dcl.link#6.sentence-2).
Answer to the question in the example is `extern "C"`, and not linkage
mismatch. Further analysis of the example is provided as inline comments
in the test itself. Note that https://eel.is/c++draft/dcl.link#7 does
NOT apply in this example, as it's focused squarely at declarations that
are already known to have C language linkage, and declarations of
variables in the global scope.
Commit: b057e16740311b9c690c0c991c48b5087bf24d9a
https://github.com/llvm/llvm-project/commit/b057e16740311b9c690c0c991c48b5087bf24d9a
Author: Reid Kleckner <rnk at google.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/include/llvm/Analysis/MemorySSA.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/OperandTraits.h
M llvm/include/llvm/IR/Operator.h
M llvm/include/llvm/IR/User.h
M llvm/lib/IR/ConstantsContext.h
Log Message:
-----------
[IR] Remove unused MINARITY operand trait tpl args, NFC (#107165)
These don't look like they've been used since the original 'use-diet'
branch was merged in 2008 ( f6caff66a1bfa6464e6a17c0bcfcf06a09a9b909)
Commit: ed220e15718498d0f854f1044ddcbfee00739aa7
https://github.com/llvm/llvm-project/commit/ed220e15718498d0f854f1044ddcbfee00739aa7
Author: Elvis Wang <110374989+ElvisWang123 at users.noreply.github.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan][NFC] Implement `VPWidenMemoryRecipe::computeCost()`. (#105614)
In this patch, we implement the `computeCost()` function in
`VPWidenMemoryRecipe`.
Commit: 9b5971ad0355d43a9bd37b1067d93ff8b08eba81
https://github.com/llvm/llvm-project/commit/9b5971ad0355d43a9bd37b1067d93ff8b08eba81
Author: chuongg3 <chuong.goh at arm.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector-widen-crash.ll
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-build-vector-to-dup.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-shuffle-splat.mir
M llvm/test/CodeGen/AArch64/aarch64-bif-gen.ll
M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
M llvm/test/CodeGen/AArch64/abs.ll
M llvm/test/CodeGen/AArch64/add.ll
M llvm/test/CodeGen/AArch64/andorxor.ll
M llvm/test/CodeGen/AArch64/arm64-dup.ll
M llvm/test/CodeGen/AArch64/arm64-extract-insert-varidx.ll
M llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-subvector-extend.ll
M llvm/test/CodeGen/AArch64/arm64-tbl.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/bswap.ll
M llvm/test/CodeGen/AArch64/concat-vector.ll
M llvm/test/CodeGen/AArch64/fabs.ll
M llvm/test/CodeGen/AArch64/faddsub.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/fcopysign.ll
M llvm/test/CodeGen/AArch64/fcvt.ll
M llvm/test/CodeGen/AArch64/fdiv.ll
M llvm/test/CodeGen/AArch64/fexplog.ll
M llvm/test/CodeGen/AArch64/fixed-vector-interleave.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/fpow.ll
M llvm/test/CodeGen/AArch64/fpowi.ll
M llvm/test/CodeGen/AArch64/fptoi.ll
M llvm/test/CodeGen/AArch64/fptrunc.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/icmp.ll
M llvm/test/CodeGen/AArch64/insertextract.ll
M llvm/test/CodeGen/AArch64/itofp.ll
M llvm/test/CodeGen/AArch64/llvm.exp10.ll
M llvm/test/CodeGen/AArch64/load.ll
M llvm/test/CodeGen/AArch64/mul.ll
M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
M llvm/test/CodeGen/AArch64/neon-extadd.ll
M llvm/test/CodeGen/AArch64/neon-extmul.ll
M llvm/test/CodeGen/AArch64/neon-perm.ll
M llvm/test/CodeGen/AArch64/ptradd.ll
M llvm/test/CodeGen/AArch64/rem.ll
M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/sext.ll
M llvm/test/CodeGen/AArch64/shift.ll
M llvm/test/CodeGen/AArch64/shufflevector.ll
M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
M llvm/test/CodeGen/AArch64/sub.ll
M llvm/test/CodeGen/AArch64/uadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/usub_sat_vec.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
M llvm/test/CodeGen/AArch64/xtn.ll
M llvm/test/CodeGen/AArch64/zext.ll
Log Message:
-----------
[AArch64][GlobalISel] Lower G_BUILD_VECTOR to G_INSERT_VECTOR_ELT (#105686)
The lowering happens in post-legalizer lowering if any source registers
from G_BUILD_VECTOR are not constants.
Add pattern pragment setting `scalar_to_vector ($src)` asequivalent to
`vector_insert (undef), ($src), (i61 0)`
Commit: 12c0823d67a8d5a61d6430aac609ef5e468267a6
https://github.com/llvm/llvm-project/commit/12c0823d67a8d5a61d6430aac609ef5e468267a6
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M clang/tools/clang-format/git-clang-format.bat
Log Message:
-----------
[clang-format] Handle spaces in file paths in git-clang-format.bat (#107041)
This patch is provided by @jeliebig.
Fixes #107017.
Commit: a27ff17034d66d852ba83be7d237d6a623cb4ff4
https://github.com/llvm/llvm-project/commit/a27ff17034d66d852ba83be7d237d6a623cb4ff4
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a regression in annotating ObjCBlockLParen (#107021)
Fixes #106994.
Commit: b55186eefd73b3848e01c8471c47a9354969d652
https://github.com/llvm/llvm-project/commit/b55186eefd73b3848e01c8471c47a9354969d652
Author: Alex Rønne Petersen <alex at alexrp.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/test/Preprocessor/init-ppc.c
M clang/test/Preprocessor/init-ppc64.c
Log Message:
-----------
[clang][Driver] Define soft float macros for PPC. (#106012)
Fixes #105972.
Co-authored-by: Qiu Chaofan <qcf at ecnelises.com>
Commit: 8d0816615f920b0783bafa903804b9e2a2fa4e91
https://github.com/llvm/llvm-project/commit/8d0816615f920b0783bafa903804b9e2a2fa4e91
Author: yifeizh2 <yifei.zhang at intel.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[MLIR][Tensor] Fix source/dest type check in UnPackOp canonicalize (#106094)
Fix `RankedTensorType` equality check in unpack op canonicalization.
Commit: 812c96e8b9354e5e84d513f5b03172db5ad3b491
https://github.com/llvm/llvm-project/commit/812c96e8b9354e5e84d513f5b03172db5ad3b491
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Handle pointer/reference in macro definitions (#107074)
A macro definition needs its own scope stack in the annotator, so we add
the MacroBodyScopes stack and use ScopeStack to refer to it when in the
macro definition body.
Also, we need to have a scope type for a child block because its parent
line is parsed (and thus the scope type for the braces is popped off the
scope stack) before the lines in the child block are.
Fixes #99271.
Commit: f4b9839d6f7c9ec2967a42f2d5546a2a2ae77ca4
https://github.com/llvm/llvm-project/commit/f4b9839d6f7c9ec2967a42f2d5546a2a2ae77ca4
Author: Longsheng Mou <moulongsheng at huawei.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M mlir/lib/Conversion/TensorToSPIRV/TensorToSPIRV.cpp
M mlir/test/Conversion/TensorToSPIRV/tensor-ops-to-spirv.mlir
Log Message:
-----------
[mlir][TensorToSPIRV] Add type check for `tensor.extract` in TensorToSPIRV (#107110)
This patch add a type check for `tensor.extract` in TensorToSPIRV.
Only convert `tensor.extract` with supported element type. Fix #74466.
Commit: 37263b6c6741894ffbc0f61979c5c85db515ef2d
https://github.com/llvm/llvm-project/commit/37263b6c6741894ffbc0f61979c5c85db515ef2d
Author: Longsheng Mou <moulongsheng at huawei.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[mlir][tosa] Add verifier for `tosa.pad` (#106351)
This patch adds verifier to `tosa.pad` which fixes a crash. `tosa.pad`
expect:
- same input and output tensor rank.
- 'padding' tensor rank equal to 2.
Fix #106168.
Commit: a628bc3c2e7314e4b7c9af0d10cf39a70c731d15
https://github.com/llvm/llvm-project/commit/a628bc3c2e7314e4b7c9af0d10cf39a70c731d15
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Combine.td
Log Message:
-----------
[AArch64] Fix a warning
This patch fixes:
lib/Target/AArch64/AArch64GenPostLegalizeGILowering.inc:506:14:
error: unused variable 'GIMatchData_matchinfo'
[-Werror,-Wunused-variable]
Commit: 9a17a6016d02afa6e973f141ab1cada68571f2d2
https://github.com/llvm/llvm-project/commit/9a17a6016d02afa6e973f141ab1cada68571f2d2
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
Log Message:
-----------
[PowerPC] Use DenseMap::operator[] (NFC) (#107044)
Commit: f15e3e58c59b4d31eee24fa9debc5dfad0c20028
https://github.com/llvm/llvm-project/commit/f15e3e58c59b4d31eee24fa9debc5dfad0c20028
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
Log Message:
-----------
[CGOpenMPRuntime] Use DenseMap::operator[] (NFC) (#107158)
I'm planning to deprecate DenseMap::FindAndConstruct in favor of
DenseMap::operator[].
Commit: 86627149f6fd5148311b7b0aa1c7195a05a5d6a8
https://github.com/llvm/llvm-project/commit/86627149f6fd5148311b7b0aa1c7195a05a5d6a8
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/fmaximum.ll
M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
M llvm/test/CodeGen/AMDGPU/fminimum.ll
M llvm/test/CodeGen/AMDGPU/fminimum3.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i64.ll
A llvm/test/CodeGen/AMDGPU/hazard-recognizer-src-shared-base.ll
M llvm/test/CodeGen/AMDGPU/indirect-call-known-callees.ll
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.cond.sub.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.wait.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_nortn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.id.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f32.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i32.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/loop-prefetch-data.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-hsa.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-pal.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.gfx10.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-lastuse.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-singlethread.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-wavefront.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-lastuse.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-singlethread.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-wavefront.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-invalid-syncscope.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-singlethread.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-wavefront.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-lastuse.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-volatile.ll
M llvm/test/CodeGen/AMDGPU/pseudo-scalar-transcendental.ll
M llvm/test/CodeGen/AMDGPU/s-getpc-b64-remat.ll
M llvm/test/CodeGen/AMDGPU/v_swap_b16.ll
M llvm/test/CodeGen/AMDGPU/valu-mask-write-hazard.mir
A llvm/test/CodeGen/AMDGPU/valu-read-sgpr-hazard.mir
M llvm/test/CodeGen/AMDGPU/vcmpx-permlane-hazard.mir
Log Message:
-----------
[AMDGPU] Mitigate GFX12 VALU read SGPR hazard (#100067)
Any SGPR read by a VALU can potentially obscure SALU writes to the same
register.
Insert s_wait_alu instructions to mitigate the hazard on affected paths.
Compute a global cache of SGPRs with any VALU reads and use this to
avoid inserting mitigation for SGPRs never accessed by VALUs.
To avoid excessive search when compile time is priority implement
secondary mode where all SALU writes are mitigated.
Co-authored-by: Shilei Tian <shilei.tian at amd.com>
Commit: a5ce66423bfff6f2185e5fe48bc6ffc0ade7df4d
https://github.com/llvm/llvm-project/commit/a5ce66423bfff6f2185e5fe48bc6ffc0ade7df4d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoZfbfmin.td
Log Message:
-----------
[RISCV] Remove RISCVISD::FP_ROUND_BF16.
Use isel patterns on regular FP_ROUND. For double->bf16 we need
to emit two instructions. Note the double->bf16 conversion does
double rounding, but I don't know a good way to fix that.
Commit: 0ad6cee926865d7210eed9e67bfb20dce19c6633
https://github.com/llvm/llvm-project/commit/0ad6cee926865d7210eed9e67bfb20dce19c6633
Author: Elvis Wang <110374989+ElvisWang123 at users.noreply.github.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/test/Analysis/CostModel/RISCV/cast.ll
Log Message:
-----------
[RISCV] Fix missing `i64` to `double` tests in the cast.ll. (NFC) (#106972)
Commit: 8b28e2ebb36d72cfffe04904e3e1b9fdfa36ef94
https://github.com/llvm/llvm-project/commit/8b28e2ebb36d72cfffe04904e3e1b9fdfa36ef94
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.ll
M llvm/test/CodeGen/WebAssembly/exception-legacy.ll
Log Message:
-----------
[WebAssembly] Rename legacy EH tests (#107166)
Give each test in `cfg-stackify-eh-legacy.ll` a name rather than
something like `test5`, because I plan to copy many of these test into a
new file that tests for the new EH (exnref) and some of the tests here
are not applicable to the new EH so the numbering will be different,
which can make things confusing.
Also this removes `test_` prefixes in the test function names in
`exception-legacy.ll`, because, well, we all know they are tests.
Commit: 9fef09fd2918e7d8c357b98a9a798fe207941f73
https://github.com/llvm/llvm-project/commit/9fef09fd2918e7d8c357b98a9a798fe207941f73
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/test/CodeGen/AMDGPU/amdgpu-atomic-float.c
M clang/test/CodeGen/X86/x86-atomic-double.c
M clang/test/CodeGen/X86/x86-atomic-long_double.c
Log Message:
-----------
[Clang][CodeGen] Fix type for atomic float incdec operators (#107075)
`llvm::ConstantFP::get(llvm::LLVMContext&, APFloat(float))` always
returns a f32 constant.
Fix https://github.com/llvm/llvm-project/issues/107054.
Commit: 6c607cfb2c2d8acd2b92d7ed8106ab1e4fc0d79d
https://github.com/llvm/llvm-project/commit/6c607cfb2c2d8acd2b92d7ed8106ab1e4fc0d79d
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.mir
Log Message:
-----------
[RISCV] Preserve tail agnostic policy in foldVMV_V_V (#105788)
This patch helps avoid regressions in an upcoming patch by making sure
we don't accidentally lose a tail agnostic policy when folding a vmv.v.v
into its source.
The previous comment about RISCVInsertVSETVLI relaxing the policy didn't
take into account the fact that there's a policy operand on vmv.v.v,
which can be tail agnostic.
If the tail is agnostic (via either the policy operand or the passthru
being undef) and vmv.v.v's VL <= Src's VL, then Src's tail can be made
agnostic.
Commit: c94bd96c277e0b48e198fdc831bb576d9a04aced
https://github.com/llvm/llvm-project/commit/c94bd96c277e0b48e198fdc831bb576d9a04aced
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CGStmt.cpp
M clang/test/SemaCXX/cxx23-assume.cpp
Log Message:
-----------
[Clang][CodeGen] Don't emit assumptions if current block is unreachable. (#106936)
Fixes https://github.com/llvm/llvm-project/issues/106898.
When emitting an infinite loop, clang codegen will delete the whole
block and leave builder's current block as nullptr:
https://github.com/llvm/llvm-project/blob/837ee5b46a5f7f898f0de7e46a19600b896a0a1f/clang/lib/CodeGen/CGStmt.cpp#L597-L600
Then clang will create `zext (icmp slt %a, %b)` without parent block for
`a < b`. It will crash here:
https://github.com/llvm/llvm-project/blob/837ee5b46a5f7f898f0de7e46a19600b896a0a1f/clang/lib/CodeGen/CGExprScalar.cpp#L416-L420
Even if we disabled this optimization, it still crashes in
`Builder.CreateAssumption`:
https://github.com/llvm/llvm-project/blob/837ee5b46a5f7f898f0de7e46a19600b896a0a1f/llvm/lib/IR/IRBuilder.cpp#L551-L561
This patch disables assumptions emission if current block is null.
Commit: 3e798476de466e8a051d3e753db379731a8d9705
https://github.com/llvm/llvm-project/commit/3e798476de466e8a051d3e753db379731a8d9705
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vfabs-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfcopysign-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsub-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfneg-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsub-constrained-sdnode.ll
Log Message:
-----------
[LegalizeDAG][RISCV] Don't promote f16 vector ISD::FNEG/FABS/FCOPYSIGN to f32 when we don't have Zvfh. (#106652)
The fp_extend will canonicalize NaNs which is not the semantics of
FNEG/FABS/FCOPYSIGN.
For fixed vectors I'm scalarizing due to test changes on other targets
where the scalarization is expected. I will try to address in a follow
up.
For scalable vectors, we bitcast to integer and use integer logic ops.
Commit: 41402c6a8aa3a4336122bdb4530fb05538efedba
https://github.com/llvm/llvm-project/commit/41402c6a8aa3a4336122bdb4530fb05538efedba
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-half.ll
Log Message:
-----------
[RISCV][GISel] Use CCValAssign::getCustomReg for converting f16/f32<->GPR. (#105700)
This gives us much better control of the generated code for GISel. I've
tried to closely match the current gisel code, but it looks like we had
2 layers of G_ANYEXT in some cases before.
SelectionDAG now checks needsCustom() instead of detecting the special
cases in the Bitcast handler.
Unfortunately, IRTranslator for bitcast still generates copies between
register classes of different sizes. Because of this we can't handle
i16<->f16 bitcasts without crashing. Not sure if I should teach
RISCVInstrInfo::copyPhysReg to allow copies between FPR16 and GPR or if
I should convert the copies to instructions in GISel.
Commit: 4a44898be5d46694b59aa411f2b45a52f2ce8411
https://github.com/llvm/llvm-project/commit/4a44898be5d46694b59aa411f2b45a52f2ce8411
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vmv.v.v.ll
Log Message:
-----------
[RISCV] Add passthru to vmv.v.v intrinsic tests. NFC
This prevents them from being optimized away in an upcoming peephole
Commit: 3449ed8dece600f387357b71ff74ae4bc46828b6
https://github.com/llvm/llvm-project/commit/3449ed8dece600f387357b71ff74ae4bc46828b6
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
Revert "[clang-format] Correctly annotate braces in macro definition (#106662)"
This reverts commit 0fa78b6c7bd43c2498700a98c47a02cf4fd06388 due to
regression.
Fixes #107096.
Commit: 7deda4ed0c712fb830d25f4e3090ff04f7adbcf9
https://github.com/llvm/llvm-project/commit/7deda4ed0c712fb830d25f4e3090ff04f7adbcf9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Use MCRegister for variables returned from AllocateReg. NFC
Avoids a cast from Register to MCRegister for the CCValAssign
functions.
Commit: 06286832db0c4ee1899f9cee1b8f6234e45f16c7
https://github.com/llvm/llvm-project/commit/06286832db0c4ee1899f9cee1b8f6234e45f16c7
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
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
Log Message:
-----------
Reland "Revert "AtomicExpand: Allow incrementally legalizing atomicrmw"" (#106793)
Reverts llvm/llvm-project#106792
The first commit of PR is pure revert, the rest is a possible fix.
Commit: 427e202a401514cb28bf2ca621baae8e1b2f552f
https://github.com/llvm/llvm-project/commit/427e202a401514cb28bf2ca621baae8e1b2f552f
Author: Princeton Ferro <princetonferro at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Support/APInt.cpp
Log Message:
-----------
[APInt] improve initialization performance (#106945)
The purpose is to save an extra memset in both cases:
1. When `int64_t(val) < 0`, zeroing out is redundant as the subsequent
for-loop will initialize to `val .. 0xFFFFF ....`. Instead we should
only create an uninitialized buffer, and transform the slow for-loop
into a memset to initialize the higher words to `0xFF`.
2. In the other case, first we create an uninitialized array (`new
int64_t[]`) and _then_ we zero it out with `memset`. But this can be
combined in one operation with `new int64_t[]()`, which
default-initializes the array.
On one example where use of APInt was heavy, this improved compile time
by 1%.
Commit: 4bccb01355edcfedacafede3e7878d74e2b0a28f
https://github.com/llvm/llvm-project/commit/4bccb01355edcfedacafede3e7878d74e2b0a28f
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaCXX/source_location.cpp
Log Message:
-----------
[Clang] Workaround dependent source location issues (#106925)
In #78436 we made some SourceLocExpr dependent to
deal with the fact that their value should reflect the name of
specialized function - rather than the rtemplate in which they are first
used.
However SourceLocExpr are unusual in two ways
- They don't depend on template arguments
- They morally depend on the context in which they are used (rather than
called from).
It's fair to say that this is quite novels and confuses clang. In
particular, in some cases, we used to create dependent SourceLocExpr and
never subsequently transform them, leaving dependent objects in
instantiated functions types. To work around that we avoid replacing
SourceLocExpr when we think they could remain dependent.
It's certainly not perfect but it fixes a number of reported bugs, and
seem to only affect scenarios in which the value of the SourceLocExpr
does not matter (overload resolution).
Fixes #106428
Fixes #81155
Fixes #80210
Fixes #85373
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: de37da8e37c4c9042563e186068adca98bf59e07
https://github.com/llvm/llvm-project/commit/de37da8e37c4c9042563e186068adca98bf59e07
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/MachineOutliner.cpp
A llvm/test/CodeGen/AArch64/machine-outliner-bundle.mir
Log Message:
-----------
[MachineOutliner] Preserve instruction bundles (#106402)
When the machine outliner copies instructions from a source function
into an outlined function, it was doing it using `CloneMachineInstr`,
which is documented as not preserving the interior of any instruction
bundle. So outlining code that includes an instruction bundle would
fail, because in the outlined version, the bundle would be empty, so
instructions would go missing in the move.
This occurs when any bundled instruction appears in the outlined code,
so there was no need to construct an unusual test case: I've just copied
a function from the existing `stp-opt-with-renaming.mir`, which happens
to contain an SVE instruction bundle. Including two identical copies of
that function makes the outliner merge them, and then we check that it
didn't destroy the interior of the bundle in the process.
Commit: 01e56849001b4ace984e9557abc82bc051e03677
https://github.com/llvm/llvm-project/commit/01e56849001b4ace984e9557abc82bc051e03677
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/CheckExprLifetime.h
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaCXX/attr-lifetimebound.cpp
Log Message:
-----------
[clang] Respect the lifetimebound in assignment operator. (#106997)
Fixes #106372
Commit: 771b7af1db15e59f370ccadaa98bee8e5270b5f1
https://github.com/llvm/llvm-project/commit/771b7af1db15e59f370ccadaa98bee8e5270b5f1
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
M llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp
Log Message:
-----------
Reapply "[llvm/DWARF] Recursively resolve DW_AT_signature references"… (#99495)
… (#99444)
The previous version introduced a bug (caught by cross-project tests).
Explicit signature resolution is still necessary when one wants to
access the children (not attributes) of a given DIE.
The new version keeps just the findRecursively extension, and reverts
all the DWARFTypePrinter modifications.
Commit: 009184fc3920f8a14dff9971edf68754ba28da5f
https://github.com/llvm/llvm-project/commit/009184fc3920f8a14dff9971edf68754ba28da5f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
Log Message:
-----------
[ThinLTO] Avoid repeated std::map lookups (NFC) (#107156)
This patch avoids repeated std::map lookups with try_emplace.
While I am at it, this patch adds a couple of calls to
std::vector::reserve.
Commit: 8bfd6b953fc119bbc37c1755e701261fcfb31ad2
https://github.com/llvm/llvm-project/commit/8bfd6b953fc119bbc37c1755e701261fcfb31ad2
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SSAUpdaterImpl.h
Log Message:
-----------
[SSAUpdater] Use DenseMap::operator[] (NFC) (#107179)
I'm planning to deprecate DenseMap::FindAndConstruct in favor of
DenseMap::operator[]. I thought about renaming the variable to
PredInfo, but the name is taken, so I am leaving the name as is.
Commit: e99eb89d5d97efc709f18f9369f2ec087352baaa
https://github.com/llvm/llvm-project/commit/e99eb89d5d97efc709f18f9369f2ec087352baaa
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
[SimplifyCFG] Use range-based for loops (NFC) (#107180)
Commit: aacdc657fc255b2547bb37ee9bacde2df0452298
https://github.com/llvm/llvm-project/commit/aacdc657fc255b2547bb37ee9bacde2df0452298
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
Log Message:
-----------
[Clang] Preserve the ExpandsToEmpty flag in PackIndexingType (#107181)
Similar to PackIndexingExpr, we should avoid another round of
transformation of the pattern if the pattern has already turned out to
be an empty pack. As an outcome, the empty SubstTemplateTypeParmPackType
won't occur, and we don't need to collect any unexpanded packs.
Fixes https://github.com/llvm/llvm-project/issues/105903
Commit: 331f8225f37b714a4df7ff3176b574b756f4d965
https://github.com/llvm/llvm-project/commit/331f8225f37b714a4df7ff3176b574b756f4d965
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M mlir/include/mlir/IR/OpImplementation.h
M mlir/lib/AsmParser/AsmParserImpl.h
Log Message:
-----------
[mlir][AsmParser] Expose `parseMinus()` (#106881)
Found while working on parser for custom expression type for my dialect.
Builtin `AffineExpr` uses low-level parser API which is not available
for external users.
Commit: 8133d47632f35df00933bfd3d3626b003206ede4
https://github.com/llvm/llvm-project/commit/8133d47632f35df00933bfd3d3626b003206ede4
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
Log Message:
-----------
[CGOpenMPRuntime] Use DenseMap::operator[] (NFC) (#107185)
I'm planning to deprecate DenseMap::FindAndConstruct in favor of
DenseMap::operator[].
Commit: 12d678a8eb11821e20eab86445f0cc9b66c24990
https://github.com/llvm/llvm-project/commit/12d678a8eb11821e20eab86445f0cc9b66c24990
Author: David Green <david.green at arm.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/zext-shuffle.ll
Log Message:
-----------
[AArch64] Add codegen tests for zext(deinterleave). NFC
Commit: 030e4d0cdf4c43a6ec1ca301b5a358991fa2ac4f
https://github.com/llvm/llvm-project/commit/030e4d0cdf4c43a6ec1ca301b5a358991fa2ac4f
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseTemplate.cpp
M clang/test/SemaCXX/cxx2a-template-lambdas.cpp
Log Message:
-----------
[Clang] Treat default template argument as constant expressions (#107073)
We only check that a default argument is a converted constant expression
when using the default argument.
However, when parsing a default argument, we need to make sure to parse
it as a constant expression such as not ODR-use variables. (otherwise,
we would try to capture default template arguments of generic lambdas)
Fixes #107048
Commit: 50febdeb64fce345b0fb669e9688d34c8ffe7912
https://github.com/llvm/llvm-project/commit/50febdeb64fce345b0fb669e9688d34c8ffe7912
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/test/Dialect/Vector/linearize.mlir
Log Message:
-----------
[mlir][vector] Bugfix of linearize `vector.extract` (#106836)
This patch add check for `vector.extract` with scalar type, which is not
allowed when linearize `vector.extract`. Fix #106162.
Commit: 58f289612f1959256fa2228f013cfe96304b45c4
https://github.com/llvm/llvm-project/commit/58f289612f1959256fa2228f013cfe96304b45c4
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/include/llvm/XRay/Graph.h
Log Message:
-----------
[XRay] Use DenseMap::{operator[],try_emplace} (NFC) (#107178)
I'm planning to deprecate DenseMap::FindAndConstruct in favor of
operator[]. I'm using try_emplace because "Vertices[I.first];" on its
own might look like a nop statement.
Commit: 9e08db796b7fc1aa21ec0a0c16a0213229e02010
https://github.com/llvm/llvm-project/commit/9e08db796b7fc1aa21ec0a0c16a0213229e02010
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
A flang/test/Integration/debug-target-region-vars.f90
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
A mlir/test/Target/LLVMIR/omptarget-debug.mlir
A mlir/test/Target/LLVMIR/omptarget-debug2.mlir
Log Message:
-----------
[OpenMPIRBuilder] Don't drop debug info for target region. (#80692)
When an outlined function is generated for omp target region, a
corresponding DISubprogram was not being generated. This resulted in all
the debug information for the target region being dropped.
This commit adds DISubprogram for the outlined function if there is one
available for the parent function. It also updates the current debug
location so that the right scope is used for the entries in the outlined
function.
There are places in the OpenMPIRBuilder which changes insertion point but
don't update the debug location accordingly. They cause issue when debug info
is enabled. I have fixed a few that I observed to cause issue. But there may be
more and a systematic cleanup may be required.
With this change in place, I can set source line breakpoint in target
region and run to them in debugger.
Commit: 5914566474de29309b0b4815ecd406805793de1f
https://github.com/llvm/llvm-project/commit/5914566474de29309b0b4815ecd406805793de1f
Author: Nathan Gauër <brioche at google.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
A llvm/test/Other/spirv-sim/branch.spv
A llvm/test/Other/spirv-sim/call.spv
A llvm/test/Other/spirv-sim/constant.spv
A llvm/test/Other/spirv-sim/lit.local.cfg
A llvm/test/Other/spirv-sim/loop.spv
A llvm/test/Other/spirv-sim/simple-bad-result.spv
A llvm/test/Other/spirv-sim/simple.spv
A llvm/test/Other/spirv-sim/simulator-args.spv
A llvm/test/Other/spirv-sim/switch.spv
A llvm/test/Other/spirv-sim/wave-get-lane-index.spv
A llvm/test/Other/spirv-sim/wave-read-lane-first.spv
M llvm/test/lit.cfg.py
A llvm/utils/spirv-sim/instructions.py
A llvm/utils/spirv-sim/spirv-sim.py
Log Message:
-----------
[Utils][SPIR-V] Adding spirv-sim to LLVM (#107094)
### 2nd submission
The buildbots are using python 3.8, and some type annotations I was
using are only available starting 3.9. The last commit on the pile is
the additional changes compared to the original submission
https://github.com/llvm/llvm-project/pull/104020.
### Original text:
Currently, the testing infrastructure for SPIR-V is based on FileCheck.
Those tests are great to check some level of codegen, but when the test
needs check both the CFG layout and the content of each basic-block,
things becomes messy.
Because the CHECK/CHECK-DAG/CHECK-NEXT state is limited, it is sometimes
hard to catch the good block: if 2 basic blocks have similar
instructions, FileCheck can match the wrong one.
Cross-lane interaction can be a bit difficult to understand, and
writting a FileCheck test that is strong enough to catch bad CFG
transforms while not being broken everytime some unrelated codegen part
changes is hard.
And lastly, the spirv-val tooling we have checks that the generated
SPIR-V respects the spec, not that it is correct in regards to the
source IR.
For those reasons, I believe the best way to test the structurizer is
to:
run spirv-val to make sure the CFG respects the spec.
simulate the function to validate result for each lane, making sure the
generated code is correct.
This simulator has no other dependencies than core python. It also only
supports a very limited set of instructions as we can test most features
through control-flow and some basic cross-lane interactions.
As-is, the added tests are just a harness for the simulator itself. If
this gets merged, the structurizer PR will benefit from this as I'll be
able to add extensive testing using this.
---------
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: afb6dafc6b680fb204d40c7fee4b339aa8471010
https://github.com/llvm/llvm-project/commit/afb6dafc6b680fb204d40c7fee4b339aa8471010
Author: Nathan Gauër <brioche at google.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
A clang/test/CodeGenHLSL/builtins/wave_is_first_lane.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVStripConvergentIntrinsics.cpp
A llvm/test/CodeGen/DirectX/wave_is_first_lane.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveIsFirstLane.ll
Log Message:
-----------
[clang][HLSL] Add WaveIsFirstLane() intrinsic (#103299)
This commits add the WaveIsFirstLane() hlsl intrinsinc. This intrinsic
uses the convergence intrinsincs for the SPIR-V backend. On the DXIL
side, I'm not sure what the strategy is for convergence, so I
implemented that like in DXC: a normal builtin function.
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: cc5c526c80a4cacf7ed5b7fbe50072594ec1aeaf
https://github.com/llvm/llvm-project/commit/cc5c526c80a4cacf7ed5b7fbe50072594ec1aeaf
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M lldb/source/Target/Process.cpp
M lldb/test/API/functionalities/memory/holes/TestMemoryHoles.py
Log Message:
-----------
[lldb] Fix and speedup the `memory find` command (#104193)
This patch fixes an issue where the `memory find` command would
effectively stop searching after encountering a memory read error (which
could happen due to unreadable memory), without giving any indication
that it has done so (it would just print it could not find the pattern).
To make matters worse, it would not terminate after encountering this
error, but rather proceed to slowly increment the address pointer, which
meant that searching a large region could take a very long time (and
give the appearance that lldb is actually searching for the thing).
The patch fixes this first problem by detecting read errors and
skipping over (using GetMemoryRegionInfo) the unreadable parts of memory
and resuming the search after them. It also reads the memory in bulk
(`max(sizeof(pattern))`), which speeds up the search significantly (up
to 6x for live processes, 18x for core files).
Commit: 0b2550f8ab77a53f560f6a7a1b401c4803a36d48
https://github.com/llvm/llvm-project/commit/0b2550f8ab77a53f560f6a7a1b401c4803a36d48
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M lldb/test/API/api/multiple-debuggers/TestMultipleDebuggers.py
Log Message:
-----------
[lldb][test] Disable TestMultipleDebuggers on Linux
This used to timeout (https://github.com/llvm/llvm-project/issues/101162)
now it's aborting (https://github.com/llvm/llvm-project/pull/105765#issuecomment-2327645665)
Commit: 69657eb7f67600ec1c5c449d13eef3670dfb64da
https://github.com/llvm/llvm-project/commit/69657eb7f67600ec1c5c449d13eef3670dfb64da
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/test/CodeGen/AArch64/PHIElimination-crash.mir
M llvm/test/CodeGen/AArch64/PHIElimination-debugloc.mir
M llvm/test/CodeGen/AArch64/statepoint-twoaddr.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/twoaddr-extract-dyn-v7f64.mir
M llvm/test/CodeGen/AMDGPU/early-lis-two-address-partial-def.mir
M llvm/test/CodeGen/AMDGPU/gfx10-twoaddr-fma.mir
M llvm/test/CodeGen/AMDGPU/gfx11-twoaddr-fma.mir
M llvm/test/CodeGen/AMDGPU/phi-elimination-end-cf.mir
M llvm/test/CodeGen/AMDGPU/split-mbb-lis-subrange.mir
M llvm/test/CodeGen/AMDGPU/stale-livevar-in-twoaddr-pass.mir
M llvm/test/CodeGen/AMDGPU/twoaddr-fma-f64.mir
M llvm/test/CodeGen/AMDGPU/twoaddr-fma.mir
M llvm/test/CodeGen/AMDGPU/twoaddr-mad.mir
M llvm/test/CodeGen/AMDGPU/twoaddr-wmma.mir
M llvm/test/CodeGen/Hexagon/two-addr-tied-subregs.mir
M llvm/test/CodeGen/PowerPC/2013-07-01-PHIElimBug.mir
M llvm/test/CodeGen/PowerPC/livevars-crash1.mir
M llvm/test/CodeGen/PowerPC/livevars-crash2.mir
M llvm/test/CodeGen/X86/distancemap.mir
M llvm/test/CodeGen/X86/phielim-undef.mir
M llvm/test/CodeGen/X86/twoaddr-mul2.mir
M llvm/test/tools/llc/new-pm/pipeline.mir
M llvm/test/tools/llc/new-pm/verify.mir
M llvm/tools/llc/NewPMDriver.cpp
M llvm/tools/llc/NewPMDriver.h
M llvm/tools/llc/llc.cpp
Log Message:
-----------
[llc] Provide `opt` like verifier options (#106665)
- Support `verify-each` option.
- Default behavior is verifying output only.
Commit: deeafeab815ddfe7b507e9f79fe8f992265a9f3b
https://github.com/llvm/llvm-project/commit/deeafeab815ddfe7b507e9f79fe8f992265a9f3b
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M lldb/include/lldb/Host/Socket.h
M lldb/source/Host/common/Socket.cpp
M lldb/source/Host/common/TCPSocket.cpp
Log Message:
-----------
[lldb][NFC] Move few static helpers to the class Socket (#106640)
Fixed a typo in Socket::SetOption().
Commit: 59093cae8681fe5d3d951905887b67a99acf76e6
https://github.com/llvm/llvm-project/commit/59093cae8681fe5d3d951905887b67a99acf76e6
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
A clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_luti.c
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_imm_lane.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/sve2-intrinsics-luti.ll
Log Message:
-----------
[AARCH64][SVE] Add intrinsics for SVE LUTI instructions (#97058)
This patch adds intrinsics for LUTI2 and LUTI4 instructions, which use
SVE registers, as specified in the
https://github.com/ARM-software/acle/pull/324
Commit: 3e948eb3e88d89107406ca0812934bea42101e3a
https://github.com/llvm/llvm-project/commit/3e948eb3e88d89107406ca0812934bea42101e3a
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/include/clang/Basic/arm_neon.td
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/test/CodeGen/aarch64-neon-luti.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/neon-luti.ll
Log Message:
-----------
[AArch64][NEON] Add intrinsics for LUTI (#96883)
This patch adds intrinsics for NEON LUTI2 and LUTI4 instructions as
specified in the [ACLE
proposal](https://github.com/ARM-software/acle/pull/324)
Commit: 5a658ee933065d0e4ef1a65d9a6ddfba2874ee98
https://github.com/llvm/llvm-project/commit/5a658ee933065d0e4ef1a65d9a6ddfba2874ee98
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M lldb/test/API/tools/lldb-server/TestGdbRemoteLaunch.py
M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
M lldb/test/API/tools/lldb-server/TestNonStop.py
Log Message:
-----------
[lldb][test] Skip some lldb-server tests on Windows
These are known to return errors occasionaly on our Windows on Arm
bot.
Commit: d25e24a0eb909b7604572d28d15cbe648ecccd90
https://github.com/llvm/llvm-project/commit/d25e24a0eb909b7604572d28d15cbe648ecccd90
Author: Carlos Galvez <carlosgalvezp at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/CastingThroughVoidCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/casting-through-void.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/casting-through-void.cpp
Log Message:
-----------
[clang-tidy] Suggest using reinterpret_cast in bugprone-casting-thro… (#106784)
…ugh-void
reinterpret_cast is the equivalent construct, and more clearly expresses
intent.
Co-authored-by: Carlos Gálvez <carlos.galvez at zenseact.com>
Commit: 519b36925cf2e1a59f76bd509471d2e1830169f0
https://github.com/llvm/llvm-project/commit/519b36925cf2e1a59f76bd509471d2e1830169f0
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
Log Message:
-----------
[LLD][COFF][NFC] Store impSym as DefinedImportData in ImportFile. (#107162)
Commit: 126d6f27102fca0d69dc50cf29a37442d18304cf
https://github.com/llvm/llvm-project/commit/126d6f27102fca0d69dc50cf29a37442d18304cf
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-no-rtn.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-rtn.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll
M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f32-no-rtn.ll
M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f32-rtn.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
Log Message:
-----------
[AMDGPU] Improve codegen for GFX10+ DPP reductions and scans (#107108)
Use poison for an unused input to the permlanex16 intrinsic, to improve
register allocation and avoid an unnecessary v_mov instruction.
Commit: 2fef449f30e2f484897cb199e3338a1520803c7d
https://github.com/llvm/llvm-project/commit/2fef449f30e2f484897cb199e3338a1520803c7d
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[LLVM][AArch64] Enable verifyTargetSDNode for scalable vectors and fix the fallout. (#104820)
Fix incorrect use of AArch64ISD::UZP1/UUNPK{HI,LO} in:
AArch64TargetLowering::LowerDIV
AArch64TargetLowering::LowerINSERT_SUBVECTOR
The latter highlighted DAG combines that relied on broken behaviour,
which this patch also fixes.
Commit: 29c076b8598c9627cea493fdfc1a30c83385e820
https://github.com/llvm/llvm-project/commit/29c076b8598c9627cea493fdfc1a30c83385e820
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Analysis/Lint.cpp
A llvm/test/Analysis/Lint/scalable.ll
Log Message:
-----------
[Lint] Fix crash with scalable alloca
Commit: 4f3f09e787bab3caccd9496d93e6453c71d7869f
https://github.com/llvm/llvm-project/commit/4f3f09e787bab3caccd9496d93e6453c71d7869f
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/test/Integration/debug-assumed-shape-array.f90
M flang/test/Transforms/debug-assumed-shape-array.fir
Log Message:
-----------
[flang][debug] Add stride information for assumed shape array. (#106703)
Without this information, debugger could present wrong values for arrays
in certain cases as shown in issue #105646.
Fixes #105646.
Commit: d77ccae4a629ba11b5c28f97222a8834c5e5c183
https://github.com/llvm/llvm-project/commit/d77ccae4a629ba11b5c28f97222a8834c5e5c183
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M lldb/source/Target/Process.cpp
Log Message:
-----------
[lldb] Fix 32 bit compile error
https://lab.llvm.org/buildbot/#/builders/18/builds/3247/steps/4/logs/stdio
In code added by https://github.com/llvm/llvm-project/issues/87471.
Commit: 4f130fa943af8bf47f4401deff0d825a91dc7584
https://github.com/llvm/llvm-project/commit/4f130fa943af8bf47f4401deff0d825a91dc7584
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M flang/lib/Frontend/CompilerInvocation.cpp
A flang/test/Driver/fno-openmp.f90
M flang/test/Driver/fopenmp.f90
Log Message:
-----------
[flang][Driver] support -fno-openmp (#107087)
Closes #83148
Commit: 5818337765e4c74918a700a14df5f64a658c47ee
https://github.com/llvm/llvm-project/commit/5818337765e4c74918a700a14df5f64a658c47ee
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/test/Transforms/LICM/hoist-binop.ll
Log Message:
-----------
LICM: hoist BO assoc when (C1 op LV) op C2 (#106999)
Extend hoistBOAssociation to handle the "(C1 op LV) op C2" case, when op
is a commutative operand.
Commit: 5a6926ce49b6df807bff6083325ca291b0e731e5
https://github.com/llvm/llvm-project/commit/5a6926ce49b6df807bff6083325ca291b0e731e5
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
Log Message:
-----------
[AMDGPU] Fix test update after #107108
Commit: 360f82f3703fa57de42a2f998b172551f294e11a
https://github.com/llvm/llvm-project/commit/360f82f3703fa57de42a2f998b172551f294e11a
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Analysis/Lint.cpp
M llvm/test/Analysis/Lint/scalable.ll
Log Message:
-----------
[Lint] Fix crash for insert/extract on scalable vector
Don't assume the vector is fixed size. For scalable vectors, do
not report an error, as indices outside the minimum range may be
valid.
Commit: 6d3563422ce6f431b837221932d32db4c9681fc5
https://github.com/llvm/llvm-project/commit/6d3563422ce6f431b837221932d32db4c9681fc5
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/test/CodeGen/aarch64-neon-luti.c
Log Message:
-----------
include REQUIRES guard to aarch64-neon-luti.c (#107217)
Commit: cd46829e547d2d0aa3cb0ef7c9de59c507eaaecc
https://github.com/llvm/llvm-project/commit/cd46829e547d2d0aa3cb0ef7c9de59c507eaaecc
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
A llvm/test/Transforms/LoopVectorize/check-no-vectorize.ll
Log Message:
-----------
[LV] Fix emission of debug message in legality check (#101924)
Successful vectorization message is emitted even
after "Result" is false. "Result" = false indicates failure of one of
the legality check and thus
successful message should not be printed.
Commit: 7afdc6bd57d634354597df185fd7037bec9241ff
https://github.com/llvm/llvm-project/commit/7afdc6bd57d634354597df185fd7037bec9241ff
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/abds-neg.ll
M llvm/test/CodeGen/AArch64/abds.ll
M llvm/test/CodeGen/AArch64/abdu-neg.ll
M llvm/test/CodeGen/AArch64/abdu.ll
M llvm/test/CodeGen/RISCV/abds-neg.ll
M llvm/test/CodeGen/RISCV/abds.ll
M llvm/test/CodeGen/RISCV/abdu-neg.ll
M llvm/test/CodeGen/RISCV/abdu.ll
M llvm/test/CodeGen/X86/abds-neg.ll
M llvm/test/CodeGen/X86/abds.ll
M llvm/test/CodeGen/X86/abdu-neg.ll
M llvm/test/CodeGen/X86/abdu.ll
Log Message:
-----------
[DAG] Fix typo in i64/i128 abdu/abds tests
I'd incorrectly swapped the operands in some of the "cmp" test patterns when I changed the condition code
Commit: b25b9a7d6c872e42121aa024f362fae0b15dd72c
https://github.com/llvm/llvm-project/commit/b25b9a7d6c872e42121aa024f362fae0b15dd72c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/abdu-neg.ll
M llvm/test/CodeGen/X86/abdu.ll
Log Message:
-----------
[DAG] visitSELECT - add "select usubo(x, y).overflow, (sub y, x), (usubo x, y) -> abdu(x, y)" fold (and neg equivalent)
Handle cases where CGP has merged the CMP+SUB into a USUBO node - improves a few outstanding niggles from #100810
Commit: 8d4235d97e5bd12b8244f9ffc157651a9a288b36
https://github.com/llvm/llvm-project/commit/8d4235d97e5bd12b8244f9ffc157651a9a288b36
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Analysis/Lint.cpp
M llvm/test/Analysis/Lint/scalable.ll
Log Message:
-----------
[Lint] Fix another scalable vector crash
We also need to check that the memory access LocationSize is not
scalable.
Commit: 55a24738302eb9bb5bf458220deb20ddef60ce51
https://github.com/llvm/llvm-project/commit/55a24738302eb9bb5bf458220deb20ddef60ce51
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/Cloning.h
M llvm/lib/Transforms/Utils/InlineFunction.cpp
Log Message:
-----------
[CtxProf] Replace include with forward declaration (NFC)
This header is fairly expensive. Forward declare
PGOContextualProfile instead.
Commit: 43b8ae3cea7c0f45dc29479ba8024e0adae9d145
https://github.com/llvm/llvm-project/commit/43b8ae3cea7c0f45dc29479ba8024e0adae9d145
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/lower-module-lds-zero-size-arr.ll
Log Message:
-----------
[AMDGPU][LDS] Pre-Commit tests for 'Fix dynamic LDS interaction with "amdgpu-no-lds-kernel-id" (#107091)
Commit: 9ba41031de105d7babf3ae53facd368f2b4e409f
https://github.com/llvm/llvm-project/commit/9ba41031de105d7babf3ae53facd368f2b4e409f
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90
Log Message:
-----------
[OpenMP]Update use_device_clause lowering (#101703)
This patch updates the use_device_ptr and use_device_addr clauses to use
the mapInfoOps for lowering. This allows all the types that are handle
by the map clauses such as derived types to also be supported by the
use_device_clauses.
This is patch 1/2 in a series of patches.
Co-authored-by: Raghu Maddhipatla raghu.maddhipatla at amd.com
Commit: 2cf36f0293daf0fa28d5c7d5d3617660edf237e7
https://github.com/llvm/llvm-project/commit/2cf36f0293daf0fa28d5c7d5d3617660edf237e7
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
A mlir/test/Target/LLVMIR/openmp-target-use-device-nested.mlir
Log Message:
-----------
[OpenMP]Update use_device_clause lowering (#101707)
This patch updates the use_device_ptr and use_device_addr clauses to use
the mapInfoOps for lowering. This allows all the types that are handle
by the map clauses such as derived types to also be supported by the
use_device_clauses.
This is patch 2/2 in a series of patches.
Commit: 7330c9b033f29bd92b99db6282c0f71de64122ab
https://github.com/llvm/llvm-project/commit/7330c9b033f29bd92b99db6282c0f71de64122ab
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M flang/lib/Lower/DirectivesCommon.h
Log Message:
-----------
[flang] Fix -Wunneeded-internal-declaration in DirectivesCommon.h (NFC)
/llvm-project/flang/lib/Lower/DirectivesCommon.h:910:1:
error: 'static' function 'peelOuterConvert' declared in header file should be declared 'static inline' [-Werror,-Wunneeded-internal-declaration]
peelOuterConvert(Fortran::semantics::SomeExpr &expr) {
^
1 error generated.
Commit: d94199c8ffba3f3895da7627d3dbbca62937310c
https://github.com/llvm/llvm-project/commit/d94199c8ffba3f3895da7627d3dbbca62937310c
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
Log Message:
-----------
[clang] Make lifetimebound and GSL analysis more coherent (#105884)
This allows clang to detect more use-after-free bugs (shown in the
#100549).
This relands the remaining change (removing the EnableLifetimeWarnings
flag) in https://github.com/llvm/llvm-project/pull/104906, with a proper
fix for the regression.
Fixes #100549
Commit: af1e59aea2ea7d07ece1f34621dda38c995826a3
https://github.com/llvm/llvm-project/commit/af1e59aea2ea7d07ece1f34621dda38c995826a3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/multi-tracked-reduced-value.ll
Log Message:
-----------
[SLP]Fix PR107037: correctly track origonal/modified after vectorizations reduced values
Need to correctly track reduced values with multiple uses in the same
reduction emission attempt. Otherwise, the number of the reuses might be
calculated incorrectly, and may cause compiler crash.
Fixes https://github.com/llvm/llvm-project/issues/107037
Commit: bb1b368e0ad3da98b4c51018bdbcd6a83d8e646d
https://github.com/llvm/llvm-project/commit/bb1b368e0ad3da98b4c51018bdbcd6a83d8e646d
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
A clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_faminmax.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
A llvm/test/CodeGen/AArch64/sve2-intrinsics-faminmax.ll
Log Message:
-----------
[AArch64] Implement intrinsics for SVE FAMIN/FAMAX (#99042)
This patch implements the following intrinsics:
* Floating-point absolute maximum (predicated)
svfloat16_t svamax[_f16]_m(svbool_t, svfloat16_t, svfloat16_t);
svfloat16_t svamax[_f16]_x(svbool_t, svfloat16_t, svfloat16_t);
svfloat16_t svamax[_f16]_z(svbool_t, svfloat16_t, svfloat16_t);
svfloat16_t svamax[_n_f16]_m(svbool_t, svfloat16_t, float16_t);
svfloat16_t svamax[_n_f16]_x(svbool_t, svfloat16_t, float16_t);
svfloat16_t svamax[_n_f16]_z(svbool_t, svfloat16_t, float16_t);
* Floating-point absolute minimum (predicated)
svfloat16_t svmin[_f16]_m(svbool_t, svfloat16_t, svfloat16_t);
svfloat16_t svmin[_f16]_x(svbool_t, svfloat16_t, svfloat16_t);
svfloat16_t svmin[_f16]_z(svbool_t, svfloat16_t, svfloat16_t);
svfloat16_t svmin[_n_f16]_m(svbool_t, svfloat16_t, float16_t);
svfloat16_t svmin[_n_f16]_x(svbool_t, svfloat16_t, float16_t);
svfloat16_t svmin[_n_f16]_z(svbool_t, svfloat16_t, float16_t);
All the intrinsics have also variants for `f32` and `f64`, and have the
`__arm_streaming` attribute.
(cf. https://github.com/ARM-software/acle/pull/324)
Commit: c2b92a4250b3f514685676ba8985ea73450f14d3
https://github.com/llvm/llvm-project/commit/c2b92a4250b3f514685676ba8985ea73450f14d3
Author: Bartłomiej Chmiel <bachm44 at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
Log Message:
-----------
[SROA] Use SetVector for PromotableAllocas (#105809)
Use SetVector to make operations more efficient
if there is a very large number of allocas.
Commit: d65ff3e9364536f9e0bd5f1c1bace626c256a2ad
https://github.com/llvm/llvm-project/commit/d65ff3e9364536f9e0bd5f1c1bace626c256a2ad
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/empty-struct.ll
Log Message:
-----------
[SLP]Fix PR107198: add a check for empty complex type
Need to check if the complex type is empty before trying to dig in,
trying to find vectorizable type
Fixes https://github.com/llvm/llvm-project/issues/107198
Commit: 26645ae2eea00456d98b497f348426c375409ce4
https://github.com/llvm/llvm-project/commit/26645ae2eea00456d98b497f348426c375409ce4
Author: Menooker <yijie.mei at intel.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
M mlir/test/Transforms/buffer-results-to-out-params-elim.mlir
Log Message:
-----------
[mlir][memref] Fix hoist-static-allocs option of buffer-results-to-out-params when function parameters are returned (#102093)
buffer-results-to-out-params pass will have a nullptr-referencing error
when hoist-static-allocs option is on, when the return value of a
function is a parameter of the function. This PR fixes this issue.
Commit: 6238159e886baca5ebf31fd6b15d79db30ced889
https://github.com/llvm/llvm-project/commit/6238159e886baca5ebf31fd6b15d79db30ced889
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
Log Message:
-----------
[CodeGen][NewPM] Fix linker error due to dummy `MachineVerifierPass` (#107237)
Forgot to remove the dummy registry in `MachinePassRegistry.def`.
Commit: df5840f9f09280a33923f119db5a82e0cda3622d
https://github.com/llvm/llvm-project/commit/df5840f9f09280a33923f119db5a82e0cda3622d
Author: Aarni Koskela <akx at iki.fi>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU][Docs] Update product names for some targets (#106973)
Based on
https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html#supported-gpus.
Commit: 205f7ee737f75e666f70ad51bda5f778c02ab124
https://github.com/llvm/llvm-project/commit/205f7ee737f75e666f70ad51bda5f778c02ab124
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Analysis/Lint.cpp
A llvm/test/Analysis/Lint/noalias-null.ll
Log Message:
-----------
[Lint] Skip null args when checking noalias
Do not emit a warning if there are two null noalias arguments,
as they cannot be dereferenced anyway.
This is a common pattern for `@.omp_outlined`, which has some
optional noalias arguments.
Commit: 3d53212f6104c27df5097301587ece69db9c007e
https://github.com/llvm/llvm-project/commit/3d53212f6104c27df5097301587ece69db9c007e
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M lld/COFF/InputFiles.cpp
A lld/test/COFF/arm64ec-import.test
Log Message:
-----------
[LLD][COFF] Initial support for ARM64EC importlibs. (#107164)
Use demangled symbol name for __imp_ symbols and define demangled thunk
symbol as AMD64 thunk.
Commit: f11915153761e0c2691945add795c891e63c0c4a
https://github.com/llvm/llvm-project/commit/f11915153761e0c2691945add795c891e63c0c4a
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Analysis/IVDescriptors.cpp
Log Message:
-----------
IVDescriptors: improve readability of a function (NFC) (#106219)
Avoid dereferencing operand to llvm::isa.
Commit: 4552153c37e04def01e99e32c02eab245d92b753
https://github.com/llvm/llvm-project/commit/4552153c37e04def01e99e32c02eab245d92b753
Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/MachineCSE.cpp
Log Message:
-----------
[CodeGen][MachineCSE] Remove unused AA results(NFC) (#106604)
Alias Analysis result is never used in this pass
and hence removing it.
Commit: 028174aa2c3a9447aca3333e45b5f89e652b74d1
https://github.com/llvm/llvm-project/commit/028174aa2c3a9447aca3333e45b5f89e652b74d1
Author: Paul T Robinson <paul.robinson at sony.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/test/CodeGenCXX/debug-info-lambda-this.cpp
Log Message:
-----------
[DebugInfo] Make a test more robust (#106463)
This was accidentally matching a metadata record that happend to have
three elements, but wasn't the record of interest. Add CHECKs to make
sure we've found the correct record.
Commit: 6c143a86cddbc6d0431dd643bfc7d4f017042512
https://github.com/llvm/llvm-project/commit/6c143a86cddbc6d0431dd643bfc7d4f017042512
Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
A llvm/include/llvm/CodeGen/MachineCSE.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/MachineCSE.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/machine-cse-mid-pipeline.mir
M llvm/test/CodeGen/AArch64/sve-pfalse-machine-cse.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/no-cse-nonlocal-convergent-instrs.mir
M llvm/test/CodeGen/AMDGPU/copyprop_regsequence_with_undef.mir
M llvm/test/CodeGen/AMDGPU/machine-cse-ssa.mir
M llvm/test/CodeGen/PowerPC/machine-cse-rm-pre.mir
M llvm/test/CodeGen/Thumb/machine-cse-deadreg.mir
M llvm/test/CodeGen/Thumb/machine-cse-physreg.mir
M llvm/test/CodeGen/X86/cse-two-preds.mir
M llvm/test/DebugInfo/MIR/X86/machine-cse.mir
Log Message:
-----------
[CodeGen][NewPM] Port MachineCSE pass to new pass manager. (#106605)
Commit: 7732d8e51819416b9d28b1815bdf81d0e0642b04
https://github.com/llvm/llvm-project/commit/7732d8e51819416b9d28b1815bdf81d0e0642b04
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
[ADT] Deprecate DenseMap::FindAndConstruct (#107224)
I've migrated all uses of FindAndConstruct to operator[] and
try_emplace. This patch inlines FindAndConstruct into operator[] and
deprecates FindAndConstruct.
Commit: 1b0a80249399dadfe0c3f682fff77bf9eb666535
https://github.com/llvm/llvm-project/commit/1b0a80249399dadfe0c3f682fff77bf9eb666535
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
Log Message:
-----------
[GDBRemote] Handle 'heap' memory region info type (#105883)
This should cause the memory region info "is stack" field to be set to
"no".
Commit: 30f1cfb4d0784de869ab3a4a9774b696b9769093
https://github.com/llvm/llvm-project/commit/30f1cfb4d0784de869ab3a4a9774b696b9769093
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/DetailedRecordsBackend.cpp
M llvm/lib/TableGen/Record.cpp
Log Message:
-----------
[TableGen] Print memory stats in detailed record emitter (#106990)
Print memory allocation and related statistics when dumping detailed
record information.
Commit: e64ef634bbd940dfaae23d9fb43e6385014ffd10
https://github.com/llvm/llvm-project/commit/e64ef634bbd940dfaae23d9fb43e6385014ffd10
Author: Malek Ben Slimane <85631834+malek203 at users.noreply.github.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/lib/Analysis/ThreadSafety.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
Log Message:
-----------
Thread Safety Analysis: Differentiate between lock sets at real join points and expected/actual sets at function end (#105526)
This fixes false positives related to returning a scoped lockable
object. At the end of a function, we check managed locks instead of
scoped locks.
At real join points, we skip checking managed locks because we assume
that the scope keeps track of its underlying mutexes and will release
them at its destruction. So, checking for the scopes is sufficient.
However, at the end of a function, we aim at comparing the expected and
the actual lock sets. There, we skip checking scoped locks to prevent to
get duplicate warnings for the same lock.
Commit: 8f77d37f256809766fd83a09c6d144b785e9165a
https://github.com/llvm/llvm-project/commit/8f77d37f256809766fd83a09c6d144b785e9165a
Author: Princeton Ferro <pferro at nvidia.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAGCombiner] cache negative result from getMergeStoreCandidates() (#106949)
Cache negative search result from getStoreMergeCandidates() so that
mergeConsecutiveStores() does not iterate quadratically over a
potentially long sequence of unmergeable stores.
Commit: 3bc38fb27a12f785d8e78b8d00cbd277464ace92
https://github.com/llvm/llvm-project/commit/3bc38fb27a12f785d8e78b8d00cbd277464ace92
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/phi-select-constant.ll
Log Message:
-----------
[InstCombine] Generalize and consolidate phi translation check (#106051)
The foldOpIntoPhi() transforms requires all operands to be
phi-translatable. This can be the case either because they are phi nodes
in the same block, or because the operand dominates the block.
Currently, most callers of foldOpIntoPhi() satisfy this pre-condition by
requiring a constant operand, which trivially dominates everything. Only
selects had handling for variable operands.
Move this logic into foldOpIntoPhi(), so things are handled correctly if
other callers are generalized. Also make the implementation a bit more
general by querying the dominator tree.
Commit: 75dc9af1a227e5bfd34eeaf822d2db4520545f14
https://github.com/llvm/llvm-project/commit/75dc9af1a227e5bfd34eeaf822d2db4520545f14
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Remove some dead code + reorder calls to avoid extra checks
Commit: f7fa75b20835254c35baeff908b8c3827c13db41
https://github.com/llvm/llvm-project/commit/f7fa75b20835254c35baeff908b8c3827c13db41
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_faminmax.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
A llvm/test/CodeGen/AArch64/sme2-intrinsics-faminmax.ll
Log Message:
-----------
[AArch64] Implement intrinsics for SME2 FAMIN/FAMAX (#99063)
This patch implements these intrinsics:
``` c
// Variants are also available for:
// [_f32_x2], [_f64_x2],
// [_f16_x4], [_f32_x4], [_f64_x4]
svfloat16x2_t svamax[_f16_x2](svfloat16x2 zd, svfloat16x2_t zm) __arm_streaming;
svfloat16x2_t svamin[_f16_x2](svfloat16x2 zd, svfloat16x2_t zm) __arm_streaming;
```
(cf. https://github.com/ARM-software/acle/pull/324)
Co-authored-by: Caroline Concatto <caroline.concatto at arm.com>
Commit: 660e34fd38c3fb39fba1871bbf5b2eb3a48bf277
https://github.com/llvm/llvm-project/commit/660e34fd38c3fb39fba1871bbf5b2eb3a48bf277
Author: Alexey Merzlyakov <60094858+AlexeyMerzlyakov at users.noreply.github.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.cpp
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_riscv64.cpp
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_riscv64.h
M lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_riscv64.cpp
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_riscv64.cpp
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_riscv64.h
M lldb/source/Plugins/Process/Utility/RegisterInfos_riscv64.h
M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv64.cpp
M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv64.h
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
R lldb/test/API/functionalities/postmortem/elf-core/linux-riscv64.core
A lldb/test/API/functionalities/postmortem/elf-core/linux-riscv64.gpr_fpr.core
A lldb/test/API/functionalities/postmortem/elf-core/linux-riscv64.gpr_fpr.out
A lldb/test/API/functionalities/postmortem/elf-core/linux-riscv64.gpr_only.core
A lldb/test/API/functionalities/postmortem/elf-core/linux-riscv64.gpr_only.out
R lldb/test/API/functionalities/postmortem/elf-core/linux-riscv64.out
A lldb/test/API/functionalities/postmortem/elf-core/main_fpr.c
Log Message:
-----------
[lldb][RISCV] Support optionally disabled FPR for riscv64 (#104547)
The PR adds the support optionally enabled/disabled FP-registers to LLDB
`RegisterInfoPOSIX_riscv64`. This situation might take place for RISC-V
builds having no FP-registers, like RV64IMAC or RV64IMACV.
To aim this, patch adds `opt_regsets` flags mechanism. It re-works
RegisterInfo class to work with flexibly allocated (depending on
`opt_regsets` flag) `m_register_sets` and `m_register_infos` vectors
instead of statically defined structures. The registration of regsets is
being arranged by `m_per_regset_regnum_range` map.
The patch flows are spread to `NativeRegisterContextLinux_riscv64` and
`RegisterContextCorePOSIX_riscv64` classes, that were tested on:
- x86_64 host working with coredumps
- RV64GC and RV64IMAC targets working with coredumps and natively in
run-time with binaries
`EmulateInstructionRISCV` is out of scope of this patch, and its
behavior did not change, using maximum set of registers.
According testcase built for RV64IMAC (no-FPR) was added to
`TestLinuxCore.py`.
Commit: 2d7339ad24b41eb06c417f7067b9fbeb4fdb2e6b
https://github.com/llvm/llvm-project/commit/2d7339ad24b41eb06c417f7067b9fbeb4fdb2e6b
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/test/CodeGen/AMDGPU/lower-module-lds-zero-size-arr.ll
Log Message:
-----------
[AMDGPU][LDS] Fix dynamic LDS interaction with "amdgpu-no-lds-kernel-id" (#107092)
Dynamic lds and Table lds both use the amdgpu_lds_kernel_id intrinsic.
Kernels and functons that make an indirect use of this should not have
the
"amdgpu-no-lds-kernel-id" attribute.
For the later, this was done. For the dynamic lds case, this was
missing. This patch fixes it.
Commit: 865edb0436bc55a3df3596eefb9a83050a5c7a96
https://github.com/llvm/llvm-project/commit/865edb0436bc55a3df3596eefb9a83050a5c7a96
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td
Log Message:
-----------
[mlir][ArmSME] Fix typo (NFC)
Commit: ba40737e819b4ca77b25c0950c47c305a15a93de
https://github.com/llvm/llvm-project/commit/ba40737e819b4ca77b25c0950c47c305a15a93de
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M libcxx/include/__type_traits/result_of.h
Log Message:
-----------
[libc++][modules] Include __type_traits/invoke.h from __type_traits/result_of.h (#106796)
The result_of trait requires the __invoke_of implementation detail, but
that is defined under __type_traits, not under __functional. Include the
right header directly to remove a dependency from __type_traits to
__functional.
Commit: d9019d478d40b4e8766efccdb3eb1ff77cdbfaec
https://github.com/llvm/llvm-project/commit/d9019d478d40b4e8766efccdb3eb1ff77cdbfaec
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M libcxx/include/__math/hypot.h
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
Log Message:
-----------
[libc++] Remove unused pair.h include from hypot.h (#106798)
This was added in #100820 by mistake since the final version of that PR
didn't depend on std::pair anymore.
Commit: 7a785d46d6c31937c620f186464fdc59c265b4bf
https://github.com/llvm/llvm-project/commit/7a785d46d6c31937c620f186464fdc59c265b4bf
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M libcxx/include/__fwd/array.h
M libcxx/include/span
Log Message:
-----------
[libc++][modules] Use inline variable instead of true_type (#106797)
This allows breaking up a dependency from __fwd/array.h onto
__type_traits, which is a circular dependency once __type_traits becomes
a module of its own. This is also a small consistency improvement since
we've been using inline variables for traits like this elsewhere in the
library.
Commit: c1a8283fcc735b1567c49bb6cd485f9e71a12cc4
https://github.com/llvm/llvm-project/commit/c1a8283fcc735b1567c49bb6cd485f9e71a12cc4
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
A libcxx/include/__memory/noexcept_move_assign_container.h
R libcxx/include/__type_traits/noexcept_move_assign_container.h
M libcxx/include/module.modulemap
M libcxx/include/string
M libcxx/include/vector
Log Message:
-----------
[libc++][modules] Move __noexcept_move_assign_container out of __type_traits (#107140)
That header depends on allocator traits, which is fundamentally tied to
`<memory>`, not to `<type_traits>`. This breaks a cycle betweeen
__type_traits and __memory.
Commit: 3d9abfc9f841b13825e3d03cfba272f5eeab9a3b
https://github.com/llvm/llvm-project/commit/3d9abfc9f841b13825e3d03cfba272f5eeab9a3b
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-09-04 (Wed, 04 Sep 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/CodeGen/ExpandVectorPredication.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/unittests/Analysis/IVDescriptorsTest.cpp
Log Message:
-----------
Consolidate all IR logic for getting the identity value of a reduction [nfc]
This change merges the three different places (at the IR layer) for
finding the identity value of a reduction into a single copy. This
depends on several prior commits which fix ommissions and bugs in
the distinct copies, but this patch itself should be fully
non-functional.
As the new comments and naming try to make clear, the identity value
is a property of the @llvm.vector.reduce.* intrinsic, not of e.g.
the recurrence descriptor. (We still provide an interface for
clients using recurrence descriptors, but the implementation simply
translates to the intrinsic which each corresponds to.)
As a note, the getIntrinsicIdentity API does not support fminnum/fmaxnum
or fminimum/fmaximum which is why we still need manual logic (but at
least only one copy of manual logic) for those cases.
Commit: 3ebd79751f2d5e1c54047409865c051daba0a21b
https://github.com/llvm/llvm-project/commit/3ebd79751f2d5e1c54047409865c051daba0a21b
Author: Jan Leyonberg <jan_sjodin at yahoo.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M mlir/lib/Conversion/MathToROCDL/MathToROCDL.cpp
M mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir
M mlir/test/Conversion/MathToROCDL/math-to-rocdl.mlir
Log Message:
-----------
[MLIR][ROCDL] Remove patterns for ops supported as intrinsics in the AMDGPU backend (#102971)
This patch removes patterns for a few operations which allows mathToLLVM
conversion to convert the operations into LLVM intrinsics instead since
they are supported directly by the AMDGPU backend.
Commit: fe454b2044aba1d808cec486a8ca7a0e202d31bf
https://github.com/llvm/llvm-project/commit/fe454b2044aba1d808cec486a8ca7a0e202d31bf
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port c1a8283fcc73
Commit: c81b43074ab010d01ad794224dd9dd22bbe8a1f7
https://github.com/llvm/llvm-project/commit/c81b43074ab010d01ad794224dd9dd22bbe8a1f7
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
Log Message:
-----------
[flang][cuda] Fix lowering of cuf kernel with unstructured nested construct (#107149)
Lowering was crashing when cuf kernels has an unstructured construct.
Blocks created by PFT need to be re-created inside of the operation like
it is done for OpenACC construct.
Commit: 0367305af849da7ee9237fd83c04ed3a01e8d223
https://github.com/llvm/llvm-project/commit/0367305af849da7ee9237fd83c04ed3a01e8d223
Author: mzukovec <113346157+mzukovec at users.noreply.github.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
A lld/test/wasm/Inputs/allow-multiple-definition.s
A lld/test/wasm/allow-multiple-definition.s
M lld/wasm/Config.h
M lld/wasm/Driver.cpp
M lld/wasm/Options.td
M lld/wasm/SymbolTable.cpp
Log Message:
-----------
[lld][WebAssembly] Add allow-multiple-definition flag (#97699)
Add `allow-multiple-definition` flag to `wasm-ld`. This follows the ELF
linker logic. In case of duplication, the first symbol met is used.
This PR resolves the #97543
Commit: 697bc748f97736b294dd85b8f78530d023557b72
https://github.com/llvm/llvm-project/commit/697bc748f97736b294dd85b8f78530d023557b72
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M flang/include/flang/Frontend/TargetOptions.h
M flang/include/flang/Tools/TargetSetup.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
Allow disabling of types from the command line (#107126)
Adding hidden options to disable types through the
`TargetCharacteristics`. I am seeing issues when I do this
programmatically and would like, for anyone, to have the ability to
reproduce them for development and testing purposes.
I am planning to file a couple of issues following this patch.
Commit: 776495987272294de6aafbe73dab3e9ab445227a
https://github.com/llvm/llvm-project/commit/776495987272294de6aafbe73dab3e9ab445227a
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn
Log Message:
-----------
[gn/mac] bump HOST_LINK_VERSION to 520
With this, clang will pass -platform_version instead of
-mmacosx_version_min to the linker. Recent versions of the linker
complain that the flag is now spelled mmacos_version_min (without
the x), and this supresses that warning.
520 is over 4 years old by now, so just changing this unconditionally
seems fine.
Commit: c537dd9375156c2aa3cd1bfaee88af7c492359d5
https://github.com/llvm/llvm-project/commit/c537dd9375156c2aa3cd1bfaee88af7c492359d5
Author: Reid Kleckner <rnk at google.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/test/CodeGenCXX/microsoft-abi-template-static-init.cpp
Log Message:
-----------
[MS] Put dllexported inline global initializers in a comdat (#107154)
Follow-up to c19f4f8069722f6804086d4438a0254104242c46 to handle corner
case of exported inline variables.
Should fix #56485
Commit: 7e03753539baaaa7a5cc29da3c0dc4d2f6df3b58
https://github.com/llvm/llvm-project/commit/7e03753539baaaa7a5cc29da3c0dc4d2f6df3b58
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaType.cpp
A clang/test/Sema/attr-btf_type_tag.cpp
M clang/test/SemaCXX/sugar-common-types.cpp
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
Disallow btf_type_tag in C++ mode (#107238)
This was always intended to be disallowed in C++ (see the definition in
Attr.td), but failed to add the correct checking code in SemaType.cpp to
ensure it was rejected.
Fixes #106864
Commit: accf90e16410468a2fa1ad9d1320f33fcc4cdd79
https://github.com/llvm/llvm-project/commit/accf90e16410468a2fa1ad9d1320f33fcc4cdd79
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/test/CodeGen/X86/pull-conditional-binop-through-shift.ll
Log Message:
-----------
[X86] pull-conditional-binop-through-shift.ll - replace X32 check prefixes with X86
We tend to use X32 only for gnux32 testing
Commit: b2223b4d7efa4ed003a1b3ce7439106ddc63125f
https://github.com/llvm/llvm-project/commit/b2223b4d7efa4ed003a1b3ce7439106ddc63125f
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
A llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.mir
R llvm/test/CodeGen/WebAssembly/cfg-stackify-eh.mir
A llvm/test/CodeGen/WebAssembly/exception-legacy.mir
R llvm/test/CodeGen/WebAssembly/exception.mir
Log Message:
-----------
[WebAssembly] Rename legacy EH mir tests (#107189)
We added `-legacy` suffix to the legacy EH `ll` tests in #107166 but
forgot to do the same for `mir` tests.
Commit: 32bc670609fe9c938bca5b3c0e70e6b3934b4641
https://github.com/llvm/llvm-project/commit/32bc670609fe9c938bca5b3c0e70e6b3934b4641
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
Log Message:
-----------
[WebAssembly] Misc. fixes in CFGStackify (NFC) (#107182)
This contains misc. small fixes in CFGStackify. Most of them are comment
fixes and variable name changes. Two code changes are removing the cases
that can never occur. Another is extracting a routine as a lambda
function. I will add explanations inline in the code as Github comments.
Commit: 26ba186bd0a22fac7d08ed566b00c03236b6b7a9
https://github.com/llvm/llvm-project/commit/26ba186bd0a22fac7d08ed566b00c03236b6b7a9
Author: RolandF77 <55763885+RolandF77 at users.noreply.github.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/build-vector-from-load-and-zeros.ll
M llvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll
M llvm/test/CodeGen/PowerPC/load-and-splat.ll
M llvm/test/CodeGen/PowerPC/pre-inc-disable.ll
M llvm/test/CodeGen/PowerPC/scalar_vector_test_4.ll
M llvm/test/CodeGen/PowerPC/test-vector-insert.ll
M llvm/test/CodeGen/PowerPC/v16i8_scalar_to_vector_shuffle.ll
M llvm/test/CodeGen/PowerPC/v2i64_scalar_to_vector_shuffle.ll
M llvm/test/CodeGen/PowerPC/v4i32_scalar_to_vector_shuffle.ll
M llvm/test/CodeGen/PowerPC/v8i16_scalar_to_vector_shuffle.ll
Log Message:
-----------
[PowerPC] Improve pwr7 codegen for v4i8 load (#104507)
There are no partial vector loads on pwr7 so current v4i8 codegen is an
int load then store to vector sized temp and re-load as vector. Try to
use lfiwax to load 32 bits into an FP reg and take advantage of VSX FP
and vector reg sharing to move the result to the right vector position.
Commit: a724f9a7e5d46c9bf49c7b5e207f792fb5214c10
https://github.com/llvm/llvm-project/commit/a724f9a7e5d46c9bf49c7b5e207f792fb5214c10
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
R llvm/test/Transforms/SLPVectorizer/RISCV/reduction-whole-regs-loads.ll
A llvm/test/Transforms/SLPVectorizer/reduction-whole-regs-loads.ll
Log Message:
-----------
[SLP][NFC]Make whole reg non-power-2 test for x86 and aarch64 along with risc-v
Commit: 2092f3527ed743a8fb9e0858c839cd4b26907f2a
https://github.com/llvm/llvm-project/commit/2092f3527ed743a8fb9e0858c839cd4b26907f2a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/reduction-whole-regs-loads.ll
Log Message:
-----------
[SLP][NFC]Remove unsupported attribute
Commit: 601645c3b70e2a17d18779a3a51b8bc9ecdc9aa6
https://github.com/llvm/llvm-project/commit/601645c3b70e2a17d18779a3a51b8bc9ecdc9aa6
Author: Reid Kleckner <rnk at google.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CGDeclCXX.cpp
Log Message:
-----------
[clang] Fix FIXME in dynamic initializer emission, NFCI
This potentially affects platforms that support comdats other than ELF,
COFF, or wasm, but that is the intention of the FIXME, and if they don't
want this behavior, they probably shouldn't advertise comdat support.
Commit: 9a2fd97d391caf1060e303f636d7113501788d2f
https://github.com/llvm/llvm-project/commit/9a2fd97d391caf1060e303f636d7113501788d2f
Author: Florian Mayer <fmayer at google.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/alloca.ll
M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/basic.ll
M llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll
M llvm/test/Instrumentation/HWAddressSanitizer/basic.ll
M llvm/test/Instrumentation/HWAddressSanitizer/mem-attr.ll
Log Message:
-----------
Reapply^2 "[HWASan] remove incorrectly inferred attributes" (#106622) (#106816)
This reverts commit 66927fb95abef9327b453d7213c5df7d641269be.
Filter functions this applies to, which I initially wanted to do in a
follow up to make reverts easier, but turns out without that it gets
really slow
Fleetbench proto: no significant movement
Fleetbench hashing: no significant movement
Fleetbench libc: no significant movement
2nd stage LLVM build:
https://lab.llvm.org/buildbot/#/builders/55/builds/1765/steps/9/logs/stdio
after this change: 80833.56user 3303.04system
previous build: 78430.21user 3258.04system
Commit: 4228e28293458e6ec49bd5487210719ff33c319a
https://github.com/llvm/llvm-project/commit/4228e28293458e6ec49bd5487210719ff33c319a
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/generic09.f90
Log Message:
-----------
[flang] Fix crash in semantics (#106158)
Semantics crashes when merging a USE-associated derived type with a
local generic procedure interface of the same name. (The other direction
works.)
Commit: 6facf6981488700c1554dcce36d4ac774a91d568
https://github.com/llvm/llvm-project/commit/6facf6981488700c1554dcce36d4ac774a91d568
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M flang/runtime/random.cpp
Log Message:
-----------
[flang][runtime] Correct RANDOM_INIT seed generation (#106250)
The initial seed was generated from a bitwise AND ("&") of two
clock-generated values, instead of an XOR or (best) a truncated integer
multiplication. Maybe I mistyped a shift-7 instead of a shift-6 or
shift-8 when I wrote that line, but it was most likely just stupidity.
Fixes https://github.com/llvm/llvm-project/issues/106221.
Commit: 9e53e77265769f1916d8c4fd8ed8263798e8e815
https://github.com/llvm/llvm-project/commit/9e53e77265769f1916d8c4fd8ed8263798e8e815
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M flang/include/flang/Evaluate/integer.h
M flang/include/flang/Runtime/descriptor.h
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/tools.cpp
M flang/unittests/Runtime/Reduction.cpp
M flang/unittests/Runtime/Transformational.cpp
Log Message:
-----------
[flang] Fix warnings from more recent GCCs (#106567)
While experimenting with some more recent C++ features, I ran into
trouble with warnings from GCC 12.3.0 and 14.2.0. These warnings looked
legitimate, so I've tweaked the code to avoid them.
Commit: 500f6cc25cb93607e9ea13732b791297acf8f97f
https://github.com/llvm/llvm-project/commit/500f6cc25cb93607e9ea13732b791297acf8f97f
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M flang/include/flang/Runtime/cpp-type.h
M flang/include/flang/Runtime/numeric.h
M flang/runtime/numeric-templates.h
M flang/runtime/numeric.cpp
M flang/unittests/Runtime/Numeric.cpp
Log Message:
-----------
[flang][runtime] Support SPACING for REAL(2 & 3) (#106575)
Add runtime APIs for the intrinsic function SPACING for REAL kinds 2 & 3
in two ways: Spacing2 (& 3) for build environments with std::float16_t,
and Spacing2By4 (& 3By4) variants (for any build environment) which
compute SPACING for those types but accept and return their values as
32-bit floats.
SPACING for REAL(2) is needed by HDF5.
Commit: 143f3fc40279cbdafce190c5516c9dd74fc22ae5
https://github.com/llvm/llvm-project/commit/143f3fc40279cbdafce190c5516c9dd74fc22ae5
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M flang/lib/Parser/prescan.cpp
A flang/test/Parser/non-breaking-space.f90
Log Message:
-----------
[flang] Accept a non-breaking space character in source (#106611)
Accept non-breaking space characters (Latin-1 '\xa0', UTF-8 '\xc2'
'\xa0') in source code, converting them into regular spaces in the
cooked character stream when not in character literals.
Commit: 840da2e8ba7e0f77938adfc6f6d315137542a1b8
https://github.com/llvm/llvm-project/commit/840da2e8ba7e0f77938adfc6f6d315137542a1b8
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/include/llvm/SandboxIR/Tracker.h
M llvm/include/llvm/SandboxIR/Type.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/lib/SandboxIR/Tracker.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
Log Message:
-----------
[SandboxIR] Implement CmpInst, FCmpInst, and ICmpInst (#106301)
As in the description.
Not sure the macros for "WRAP_XXX" add value or not, but do save some
boiler plate. Maybe there is a better way.
Commit: d1e4a2d300f7c0c6b681ddf719132c81d348aaab
https://github.com/llvm/llvm-project/commit/d1e4a2d300f7c0c6b681ddf719132c81d348aaab
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Semantics/semantics.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/semantics.cpp
A flang/test/Semantics/smp-proc-ref.f90
Log Message:
-----------
[flang] Fix spurious error with separate module procedures (#106768)
When the implementation of one SMP apparently references another in what
might be a specification expression, semantics may need to resolve it as
a forward reference, and to allow for the replacement of a
SubprogramNameDetails place-holding symbol with the final
SubprogramDetails symbol. Otherwise, as in the bug report below,
confusing error messages may result.
(The reference in question isn't really in the specification part of a
subprogram, but due to the syntactic ambiguity between the array element
assignment statement and a statement function definition, it appears to
be so at the time that the reference is processed.)
I needed to make DumpSymbols() available via SemanticsContext to analyze
this bug, and left that new API in place to make things easier next
time.
Fixes https://github.com/llvm/llvm-project/issues/106705.
Commit: 1324789a65665c27eda9e04bc93db81cc859924c
https://github.com/llvm/llvm-project/commit/1324789a65665c27eda9e04bc93db81cc859924c
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M flang/lib/Parser/prescan.cpp
M flang/test/Preprocessing/pp134.F90
Log Message:
-----------
[flang][preprocessor] Extend handling of line continuation replacements (#107010)
Codes using traditional C preprocessors will sometimes put a keyword
macro name in a free form continuation line in order to get macro
replacement of part of an identifier, as in
call subr_&
&N&
&(1.)
where N is a keyword macro. f18 already handles this case, but not when
there is white space between the macro name and the following
continuation marker character '&'. Allow white space to appear.
Fixes https://github.com/llvm/llvm-project/issues/106931.
Commit: 61759513c8166a6420ded480802de72859a45499
https://github.com/llvm/llvm-project/commit/61759513c8166a6420ded480802de72859a45499
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/include/llvm/Analysis/IndirectCallPromotionAnalysis.h
Log Message:
-----------
[Analysis] Update getPromotionCandidatesForInstruction description (NFC) (#107277)
Updates the description for getPromotionCandidatesForInstruction to
reflect the cleanup done in #95624.
Commit: 6e60330af55bfdf5b34aed4c9197cd3afbf00498
https://github.com/llvm/llvm-project/commit/6e60330af55bfdf5b34aed4c9197cd3afbf00498
Author: Lei Wang <wlei at fb.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/include/llvm/ProfileData/SampleProfReader.h
M llvm/include/llvm/Transforms/IPO/SampleProfileMatcher.h
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
A llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-stale-profile-toplev-func.prof
A llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-toplev-func.ll
Log Message:
-----------
[SampleFDO] Read call-graph matching recovered top-level function profile (#101053)
With extbinary profile format, initial profile loading only reads
profile based on current function names in the module. However, if a
function is renamed, sample loader skips to load its original
profile(which has a different name), we will miss this case. To address
this, we load the top-level profile candidate explicitly for the
matching. If a match is found later, the function profile will be
further preserved for use by the sample loader.
Commit: 2e0ded3371f8d42f376bdfd4d70687537e36818e
https://github.com/llvm/llvm-project/commit/2e0ded3371f8d42f376bdfd4d70687537e36818e
Author: R-Goc <131907007+R-Goc at users.noreply.github.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
A llvm/test/CodeGen/WinEH/wineh-empty-seh-scope.ll
Log Message:
-----------
[Windows SEH] Fix crash on empty seh block (#107031)
Fixes https://github.com/llvm/llvm-project/issues/105813 and
https://github.com/llvm/llvm-project/issues/106915.
Adds a check for the end of the iterator, which can be a sentinel.
The issue was introduced in
https://github.com/llvm/llvm-project/commit/0efe111365ae176671e01252d24028047d807a84
from what I can see, so along with the introduction of /EHa support.
Commit: 36c210bb340cfdc68d314dd188e18c0bf017b999
https://github.com/llvm/llvm-project/commit/36c210bb340cfdc68d314dd188e18c0bf017b999
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
Log Message:
-----------
[RISCV] Remove pre-assignment of mask vectors during call lowering. NFC (#107192)
The first mask vector operand is supposed to be assigned to V0. No other
vector types will be assigned to V0. We don't need to pre-assign, we can
just try V0 first for any mask vectors in the normal processing.
Commit: b30880e975279c1c8ef4c2645eb03063e4b19f2b
https://github.com/llvm/llvm-project/commit/b30880e975279c1c8ef4c2645eb03063e4b19f2b
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/SandboxIR/Tracker.cpp
Log Message:
-----------
[SandboxIR] Fix linking error caused by 840da2e8ba7e0f77938adfc6f6d315137542a1b8
Commit: a43137c3f85fd87f90c9a8ffaebd71d432018e79
https://github.com/llvm/llvm-project/commit/a43137c3f85fd87f90c9a8ffaebd71d432018e79
Author: Kyle Huey <khuey at kylehuey.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfFile.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfFile.h
A llvm/test/DebugInfo/Generic/debug-ranges-duplication.ll
Log Message:
-----------
[LLVM][DWARF] Make some effort to avoid duplicates in .debug_ranges. (#106614)
Inlining and zero-cost abstractions tend to produce volumes of debug
info with identical ranges. When built with full debugging information
(the equivalent of -g2) librustc_driver.so has 2.1 million entries in
.debug_ranges. But only 1.1 million of those entries are unique. While
in principle all duplicates could be eliminated with a hashtable,
checking to see if the new range is exactly identical to the previous
range and skipping a new addition if it is is sufficient to eliminate
99.99% of the duplicates. This reduces the size of librustc_driver.so's
.debug_ranges section by 35%, or the overall binary size a little more
than 1%.
Commit: c1667f909949d15c593e4a03a4e992cffa72ad3c
https://github.com/llvm/llvm-project/commit/c1667f909949d15c593e4a03a4e992cffa72ad3c
Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
M mlir/test/Dialect/Tensor/fold-into-pack-and-unpack.mlir
Log Message:
-----------
Fix `transpose->unpack` folding pattern for the partial-tile case of `unpack` (#107271)
Just directly create the empty tensor of appropriate shape instead of
relying on `UnPackOp::createDestinationTensor` which is trying to infer
the destination shape, which isn't possible in general with the set of
paramters that it is taking.
Signed-off-by: Benoit Jacob <jacob.benoit.1 at gmail.com>
Commit: ebf0599314e17c3ab89f303d452811b1db3e6d1e
https://github.com/llvm/llvm-project/commit/ebf0599314e17c3ab89f303d452811b1db3e6d1e
Author: SJW <48454132+sjw36 at users.noreply.github.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
M mlir/test/Dialect/SCF/loop-pipelining.mlir
M mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp
Log Message:
-----------
[MLIR][SCF] Add support for loop pipeline peeling for dynamic loops. (#106436)
Allow speculative execution and predicate results per stage.
Commit: 0fffdeb5f46078ddcc61e112cd38856b1165f050
https://github.com/llvm/llvm-project/commit/0fffdeb5f46078ddcc61e112cd38856b1165f050
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions-inline-namespace.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-test-unreachable.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Warning Libc functions (#101583)
[-Wunsafe-buffer-usage] Add warn on unsafe calls to libc functions
Warning about calls to libc functions involving buffer access. Warned
functions are hardcoded by names.
(rdar://117182250)
Commit: f574b9c9297538a8d471658564619be3ad6e87dd
https://github.com/llvm/llvm-project/commit/f574b9c9297538a8d471658564619be3ad6e87dd
Author: Edd Dawson <edd.dawson at sony.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/test/Driver/ps4-sdk-root.c
M clang/test/Driver/ps5-sdk-root.c
Log Message:
-----------
[PS4,PS5][Driver] Check for absent SDK when -nostdlib/-nodefaultlibs (#107112)
The PlayStation drivers emit warnings if it looks like SDK libraries are
missing. Until this point, the check was skipped when either `-nostdlib`
or `-nodefaultlibs` was supplied. I believe the idea is that if you
aren't linking default libraries, you won't be in need of the SDK.
However, in a situation where these switches are supplied, users may
still want to pass `-lSomeSDKLib` to the driver/linker with the
expectation that libSomeSDKLib.a will be sourced from the SDK. That is,
`-nodefaultlibs` and `-nostdlib` affect the libraries passed to the
linker, but not the library search paths.
So this change removes `-nostdlib`/`-nodefaultlibs` from consideration
when deciding whether or not to probe for the SDK's existence.
N.B. complete behaviour for `-nostdlib` and `-nodefaultlibs` is yet to
be added to the PlayStation compiler drivers. Coming soon.
SIE tracker: TOOLCHAIN-16704
Commit: c50fecaaaabcf1598dc25fbde24c8352745b4ac9
https://github.com/llvm/llvm-project/commit/c50fecaaaabcf1598dc25fbde24c8352745b4ac9
Author: Ben Howe <141149032+bmhowe23 at users.noreply.github.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M mlir/lib/Transforms/Utils/RegionUtils.cpp
M mlir/test/Transforms/canonicalize-block-merge.mlir
Log Message:
-----------
[mlir] Fix region simplification bug when later blocks use prior block argument values (#97960)
This fixes #94520 by ensuring that any if any block arguments are being
used outside of the original block that the block is not considered a
candidate for merging.
More details: the root cause of the issue described in #94520 was that
`^bb2` and `^bb5` were being merged despite `%4` (an argument to `^bb2`)
was being used later in `^bb7`. When the block merge occurred, that
unintentionally changed the value of `%4` for all downstream code. This
change prevents that from happening.
Commit: 34f2c9a9ce73a61b27d75dab7e1eed256491afcc
https://github.com/llvm/llvm-project/commit/34f2c9a9ce73a61b27d75dab7e1eed256491afcc
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
A llvm/test/Analysis/CostModel/AArch64/vec3-fp-conversions.ll
Log Message:
-----------
[AArch64] Add tests for FP conversion with 3 element vectors.
Add tests showing a number of cases where costs for floating point
conversions are overestimated for vectors with 3 elements.
Commit: 3fe6a064f15cd854fd497594cc20e8b680cd2133
https://github.com/llvm/llvm-project/commit/3fe6a064f15cd854fd497594cc20e8b680cd2133
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
Log Message:
-----------
[LV] Check if compare is truncated directly in getInstructionCost.
The current check for truncated compares in getInstructionCost misses
cases where either the first or both operands are constants.
Check directly if the compare is marked for truncation. In that case,
the minimum bitwidth is that of the operands.
The patch also adds asserts to ensure that.
This fixes a divergence between legacy and VPlan-based cost model, where
the legacy cost model incorrectly estimated the cost of compares with
truncated operands.
Fixes https://github.com/llvm/llvm-project/issues/107171.
Commit: 42b4092db99633ec53d136d5da7abfcfb236c14e
https://github.com/llvm/llvm-project/commit/42b4092db99633ec53d136d5da7abfcfb236c14e
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.ll
M llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.mir
Log Message:
-----------
[RISCV] Precommit vmv.v.v with undef passthru tests
Commit: d21e731c42d6b967e29dbe2edc16c1b86885df0d
https://github.com/llvm/llvm-project/commit/d21e731c42d6b967e29dbe2edc16c1b86885df0d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Fix typos in comment. NFC
Commit: 23f6c3370b8bc0bf773e69a41bf90454c0a10120
https://github.com/llvm/llvm-project/commit/23f6c3370b8bc0bf773e69a41bf90454c0a10120
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M libcxx/include/__math/hypot.h
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
Log Message:
-----------
[libc++][modules] Remove dependency on __algorithm/max from hypot.h (#107150)
That dependency was added recently when we made improvements to
std::hypot, but that resulted in `__math` depending on `__algorithm`,
which is a very heavyweight module. This patch uses `__math::fmax`
instead.
Commit: 5e19fd172063c8957a35c7fa3596620f79ebba97
https://github.com/llvm/llvm-project/commit/5e19fd172063c8957a35c7fa3596620f79ebba97
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M libcxx/include/__filesystem/directory_entry.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__mdspan/layout_left.h
M libcxx/include/__mdspan/layout_right.h
M libcxx/include/__mdspan/layout_stride.h
M libcxx/include/module.modulemap
M libcxx/test/std/containers/views/mdspan/CustomTestLayouts.h
M libcxx/test/std/containers/views/mdspan/extents/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/conversion.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/ctad.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/dextents.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/dims.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/index_type.verify.cpp
M libcxx/test/std/containers/views/mdspan/extents/obs_static.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/types.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_right.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_left.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.extents_array.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.extents_span.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.strided_mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/deduction.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/is_exhaustive_corner_case.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/assign.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/conversion.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.copy.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_integers.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map_acc.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_span.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.move.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/deduction.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/move.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/swap.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/types.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/test_offset_time_zone.h
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/string_view.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/string_view_local_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/string_view_local_time_choose.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/string_view_sys_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/string_view_zoned_time_duration2_time_zone_ptr2.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/string_view_zoned_time_duration2_time_zone_ptr2_choose.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/sys_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/time_zone_pointer.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/time_zone_pointer_local_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/time_zone_pointer_local_time_choose.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/time_zone_pointer_sys_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/get_local_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/get_sys_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/get_time_zone.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/operator_local_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/operator_sys_time.pass.cpp
M libcxx/test/std/utilities/charconv/charconv.from.chars/integral.pass.cpp
M libcxx/test/std/utilities/charconv/charconv.from.chars/integral.roundtrip.pass.cpp
M libcxx/test/std/utilities/charconv/charconv.syn/from_chars_result.operator_bool.pass.cpp
M libcxx/test/std/utilities/charconv/charconv.syn/from_chars_result.pass.cpp
M libcxx/test/std/utilities/charconv/charconv.syn/to_chars_result.operator_bool.pass.cpp
M libcxx/test/std/utilities/charconv/charconv.syn/to_chars_result.pass.cpp
M libcxx/test/std/utilities/charconv/charconv.to.chars/integral.pass.cpp
Log Message:
-----------
[libc++][modules] Consolidate leaf modules into their own top-level modules (#107147)
Some modules are leaf modules in the sense that they are not used by any
other part of the headers. These leaf modules are easy to consolidate
since there is no risk to create a cycle. As a result of regrouping
these modules, several missing includes were found and fixed in this
patch.
Commit: 63da545ccdd41d9eb2392a8d0e848a65eb24f5fa
https://github.com/llvm/llvm-project/commit/63da545ccdd41d9eb2392a8d0e848a65eb24f5fa
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
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
Log Message:
-----------
Revert "Reland "AtomicExpand: Allow incrementally legalizing atomicrmw"" (#107307)
Reverts llvm/llvm-project#106793
`Next == E` is not enough:
https://lab.llvm.org/buildbot/#/builders/169/builds/2834
`Next` is deleted by `processAtomicInstr`
Commit: 52dc4918ca8b874ddd4e4fcad873a66ecc5b6953
https://github.com/llvm/llvm-project/commit/52dc4918ca8b874ddd4e4fcad873a66ecc5b6953
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M libcxx/test/libcxx/clang_modules_include.gen.py
M libcxx/test/libcxx/clang_tidy.gen.py
M libcxx/test/libcxx/double_include.gen.py
M libcxx/test/libcxx/header_inclusions.gen.py
M libcxx/test/libcxx/libcpp_version.gen.py
M libcxx/test/libcxx/no_assert_include.gen.py
M libcxx/test/libcxx/system_reserved_names.gen.py
M libcxx/test/libcxx/transitive_includes.gen.py
M libcxx/utils/adb_run.py
M libcxx/utils/ci/Dockerfile
M libcxx/utils/ci/apple-install-libcxx.sh
M libcxx/utils/ci/build-picolibc.sh
M libcxx/utils/ci/buildkite-pipeline.yml
M libcxx/utils/ci/run-buildbot
M libcxx/utils/ci/vendor/android/Dockerfile.emulator
M libcxx/utils/ci/vendor/android/build-emulator-images.sh
M libcxx/utils/ci/vendor/android/container-setup.sh
M libcxx/utils/ci/vendor/android/emulator-entrypoint.sh
M libcxx/utils/ci/vendor/android/emulator-functions.sh
M libcxx/utils/ci/vendor/android/emulator-wait-for-ready.sh
M libcxx/utils/ci/vendor/android/setup-env-for-emulator.sh
M libcxx/utils/ci/vendor/android/start-emulator.sh
M libcxx/utils/ci/vendor/android/stop-emulator.sh
M libcxx/utils/libcxx/test/android.py
Log Message:
-----------
[libc++][NFC] Use consistent layout for license in Python files
Most Python files were using `# === [...]` instead of `#=== [...]`
so I went with what was the most common in the codebase.
Commit: 16900d3b98e6c8fbdad4411a054e3566bbbf9235
https://github.com/llvm/llvm-project/commit/16900d3b98e6c8fbdad4411a054e3566bbbf9235
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/test/Transforms/LICM/hoist-binop.ll
Log Message:
-----------
LICM: hoist BO assoc when BinOp is in RHS (#107072)
Extend hoistBOAssociation smoothly to handle the case when the inner
BinaryOperator is in the RHS of the outer BinaryOperator. This completes
the generalization of hoistBOAssociation, and the only limitation after
this patch is the fact that only Add and Mul are hoisted.
Commit: 1ff8657b26870e9db4527b621fab0d21b6cbdc3c
https://github.com/llvm/llvm-project/commit/1ff8657b26870e9db4527b621fab0d21b6cbdc3c
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
Log Message:
-----------
[scudo] Use variable instead of recomputing. (#106647)
In the get fragmentation functions, there is already a variable that
computes the
in use bytes, so use that instead of recomputing it.
Commit: dd754cd262222bcb489038ac791e4278d90697f0
https://github.com/llvm/llvm-project/commit/dd754cd262222bcb489038ac791e4278d90697f0
Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M compiler-rt/lib/nsan/nsan.cpp
Log Message:
-----------
[compiler-rt][nsan] Update UnwindImpl (#107313)
Implement __sanitizer::BufferedStackTrace::UnwindImpl following msan.
Commit: dcf0160bd61d150e7b94067fcd991b466a361b08
https://github.com/llvm/llvm-project/commit/dcf0160bd61d150e7b94067fcd991b466a361b08
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/benchmarks/CMakeLists.txt
A llvm/benchmarks/GetIntrinsicInfoTableEntriesBM.cpp
M llvm/lib/IR/Function.cpp
M llvm/utils/TableGen/IntrinsicEmitter.cpp
Log Message:
-----------
[TableGen] Optimize intrinsic info type signature encoding (#106809)
Change the "fixed encoding" table used for encoding intrinsic
type signature to use 16-bit encoding as opposed to 32-bit.
This results in both space and time improvements. For space,
the total static storage size (in bytes) of this info reduces by 50%:
- Current = 14193*4 (Fixed table) + 16058 + 3 (Long Table) = 72833
- New size = 14193*2 (Fixed table) + 19879 + 3 (Long Table) = 48268.
- Reduction = 50.9%
For time, with the added benchmark, we see a 7.3% speedup in
`GetIntrinsicInfoTableEntries` benchmark. Actual output of the
benchmark in included in the GitHub MR.
Commit: 660cc98647677815a3f5d97d00220071d8cf7a4f
https://github.com/llvm/llvm-project/commit/660cc98647677815a3f5d97d00220071d8cf7a4f
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.h
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/GlobalISel/PatternParser.cpp
M llvm/utils/TableGen/SearchableTableEmitter.cpp
Log Message:
-----------
[TableGen] Add `CodeGenIntrinsicsMap` for on-demand intrinsic creation (#107100)
- Add class `CodeGenIntrinsicMap` for on-demand creation of
`CodeGenIntrinsic`.
- Add class `CodeGenIntrinsicContext` to capture global information
required to build `CodeGenIntrinsic` objects.
- Adopt GlobalISel PatternParser and SearchableTableEmitter to use it.
Commit: 98c6bbfe1f3a348633e5e4c192a0134891fe3849
https://github.com/llvm/llvm-project/commit/98c6bbfe1f3a348633e5e4c192a0134891fe3849
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.td
M llvm/test/TableGen/intrinsic-attrs.td
M llvm/test/TableGen/intrinsic-long-name.td
M llvm/test/TableGen/intrinsic-struct.td
M llvm/test/TableGen/searchabletables-intrinsic.td
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
M llvm/utils/TableGen/IntrinsicEmitter.cpp
Log Message:
-----------
[TableGen] Refactor Intrinsics record (#106986)
Eliminate unused `isTarget` field in Intrinsic record.
Eliminate `isOverloaded`, `Types` and `TypeSig` fields from the record,
as they are already available through the `TypeInfo` field. Change
intrinsic emitter code to look for this info using fields of the
`TypeInfo` record attached to the `Intrinsic` record.
Fix several intrinsic related unit tests to source the `Intrinsic` class
def from Intrinsics.td as opposed to defining a skeleton in the test.
This eliminates some duplication of information in the Intrinsic class,
as well as reduces the memory allocated for record fields, resulting in
~2% reduction (though that's not the main goal).
Commit: df50751d24da4f5fdf8f46119c09a7e941f7174b
https://github.com/llvm/llvm-project/commit/df50751d24da4f5fdf8f46119c09a7e941f7174b
Author: vporpo <vporpodas at google.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/include/llvm/SandboxIR/Type.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/lib/SandboxIR/Type.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/SandboxIR/TypesTest.cpp
Log Message:
-----------
[SandboxIR] Implement ConstantAggregateZero (#107172)
This patch implements sandboxir::ConstantAggregateZero mirroring
llvm::ConstantAggregateZero.
Commit: 9171881d64e4834de7ad7c9807607ce6bc5167a9
https://github.com/llvm/llvm-project/commit/9171881d64e4834de7ad7c9807607ce6bc5167a9
Author: Scott Linder <Scott.Linder at amd.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU][Docs] DWARF aspace-aware base types (post-review fixes)
Commit: 7c4eb60c9509c3a750961eac2dbcaad369d911f2
https://github.com/llvm/llvm-project/commit/7c4eb60c9509c3a750961eac2dbcaad369d911f2
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
Log Message:
-----------
[Clang] Fix CLANG_TOOLCHAIN_PROGRAM_TIMEOUT logic
PR #102521, which landed as 1ea0865dd6fa, implemented
`CLANG_TOOLCHAIN_PROGRAM_TIMEOUT`, but the logic is obviously wrong.
If the user-specified value is negative, it should become zero to mean
infinite. Otherwise, it should be left as is. Thus, use `std::max`
not `std::min`. This obvious fixup doesn't seem worth another pull
request.
Commit: 950bb68516eb564c29815997450bdb6516ffdcec
https://github.com/llvm/llvm-project/commit/950bb68516eb564c29815997450bdb6516ffdcec
Author: vporpo <vporpodas at google.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement ConstantPointerNull (#107320)
This patch implements sandboxir::ConstantPointerNull mirroring
llvm::ConstantPointerNull.
Commit: 9efe377307694be0c92f7cb3b02fd1d090fdbeb8
https://github.com/llvm/llvm-project/commit/9efe377307694be0c92f7cb3b02fd1d090fdbeb8
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/include/clang/AST/CXXRecordDeclDefinitionBits.def
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/AST/DeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/SemaHLSL/Types/Traits/IsIntangibleType.hlsl
A clang/test/SemaHLSL/Types/Traits/IsIntangibleTypeErrors.hlsl
Log Message:
-----------
[HLSL] Implement '__builtin_hlsl_is_intangible' type trait (#104544)
Implements `__builtin_hlsl_is_intangible` type trait.
HLSL intangible types are special implementation-defined types such as
resource handles or samplers. Any class that is an array of intangible
type or contains base class or members of intangible types is also an
intangible type.
Fixes #[102954](https://github.com/llvm/llvm-project/issues/102954)
Commit: aecbc924102ee57ea639cd76ed32b37eb2d257fc
https://github.com/llvm/llvm-project/commit/aecbc924102ee57ea639cd76ed32b37eb2d257fc
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.h
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td
M llvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp
M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.mir
M llvm/test/CodeGen/WebAssembly/exception-legacy.mir
M llvm/test/CodeGen/WebAssembly/function-info.mir
M llvm/unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cpp
Log Message:
-----------
[WebAssembly] Rename CATCH/CATCH_ALL to *_LEGACY (#107187)
This renames MIR instruction `CATCH` and `CATCH_ALL` to `CATCH_LEGACY`
and `CATCH_ALL_LEGACY` respectively.
Follow-up PRs for the new EH (exnref) implementation will use `CATCH`,
`CATCH_REF`, `CATCH_ALL`, and `CATCH_ALL_REF` as pseudo-instructions
that return extracted values or `exnref` or both, because we don't
currently support block return values in LLVM. So to give the old (real)
`CATCH`es and the new (pseudo) `CATCH`es different names, this attaches
`_LEGACY` prefix to the old names.
This also rearranges `WebAssemblyInstrControl.td` so that the old legacy
instructions are listed all together at the end.
Commit: 23457964392d00fc872fa6021763859024fb38da
https://github.com/llvm/llvm-project/commit/23457964392d00fc872fa6021763859024fb38da
Author: ziqingluo-90 <ziqing_luo at apple.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
R clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions-inline-namespace.cpp
R clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-test-unreachable.cpp
Log Message:
-----------
Revert "[-Wunsafe-buffer-usage] Warning Libc functions (#101583)"
This reverts commit 0fffdeb5f46078ddcc61e112cd38856b1165f050.
Will re-land this commit soon with a way to opt-out
Commit: 1254259e325428c5912843aa94f6fc663a40ea1b
https://github.com/llvm/llvm-project/commit/1254259e325428c5912843aa94f6fc663a40ea1b
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Posix/fork_threaded.c
Log Message:
-----------
[hwasan] Disable test with hwasan-aliasing
It's likely flaky because we tag the stack, which
is unsupported in this mode.
Commit: ef1ef03d4c1014d41713feb0c7edc4d0e36982f4
https://github.com/llvm/llvm-project/commit/ef1ef03d4c1014d41713feb0c7edc4d0e36982f4
Author: yonghong-song <yhs at fb.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Target/BPF/BPFInstrInfo.td
Log Message:
-----------
[BPF] Fix dst/val mismatch in class ATOMIC_NOFETCH (#107288)
All ATOMIC_NOFETCH insns have "$dst = $val" constraints. So let us
enforce "$dst = $val" having the same register type in ATOMIC_NOFETCH as
well.
Currently, things work since ATOMIC_NOFETCH does not have source code
pattern matching. I am experimenting to introduce memory ordering to
BPFInstrInfo.td file and pattern matching will be needed. Eventually,
for atomic_fetch_*() insns locked insns could be generated if memory
ordering is memory_order_relaxed.
[1] https://lore.kernel.org/bpf/7b941f53-2a05-48ec-9032-8f106face3a3@linux.dev/
Commit: c82a5496c80747981efb8d25ad8bc4d8c6785b2e
https://github.com/llvm/llvm-project/commit/c82a5496c80747981efb8d25ad8bc4d8c6785b2e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-store.ll
Log Message:
-----------
[RISCV] Support fixed vector VP_LOAD/STORE for bf16 and f16 without Zvfh. (#107297)
This allows odd sized vector load/store to be legalized to a
VP_LOAD/STORE using EVL.
I changed the bf16 tests in fixed-vectors-load.ll and
fixed-vectors-store.ll to use an illegal type to be consistent with the
intent of these files. A legal type is already tested in
fixed-vectors-load-store.ll
Commit: b2048de55ea934b70902864767b0cc8dfada8be0
https://github.com/llvm/llvm-project/commit/b2048de55ea934b70902864767b0cc8dfada8be0
Author: Max Winkler <max.enrico.winkler at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/clang_f_opts.c
Log Message:
-----------
[Clang] [Driver] Support `-fjmc` for `*-windows-msvc` target in non cl driver modes (#107177)
Allow `-fjmc` to be used if the target triple is targeting msvc,
`*-windows-msvc`, irrelevant of the driver mode used.
In general the driver mode shouldn't control the target triple.
Also in our custom build system I am trying to just treat clang as
clang. This is because while the `cl` driver mode emulates msvc
interface quite well there are still a lot of operations that are just
clang specific.
The optimization modes do not map directly from msvc to clang.
Warnings do not map from msvc to clang.
Instead of wrapping options with `/clang:` when targeting `clang-cl.exe`
it is just easier to target the clang driver always irrelevant of the
target triple.
Commit: eb2929d323c0c44f2037cf8a345ca6984ec228eb
https://github.com/llvm/llvm-project/commit/eb2929d323c0c44f2037cf8a345ca6984ec228eb
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/lib/Target/DirectX/DXILPrepare.cpp
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
A llvm/test/CodeGen/DirectX/ContainerData/RuntimeInfoCS.ll
Log Message:
-----------
[DirectX] use DXILMetadataAnalysis to build PSVRuntimeInfo (#107101)
Replace the hardcoded values for compute shader in
DXContainer::addPipelineStateValidationInfo.
Still missing wave size.
Add preserved for previous passes so the information is not lost.
Fix https://github.com/llvm/wg-hlsl/issues/51
Commit: c28b1a19aadff97b369889aee084073a181cfda8
https://github.com/llvm/llvm-project/commit/c28b1a19aadff97b369889aee084073a181cfda8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-store-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vand-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
Log Message:
-----------
[LegalizeTypes][RISCV] Use SPLAT_VECTOR_PARTS to legalize splat BUILD_VECTOR (#107290)
If the element type needs to be expanded, we can use SPLAT_VECTOR_PARTS
if the target supports it.
There's already a DAGCombine to turn BUILD_VECTOR into SPLAT_VECTOR if
the target makes SPLAT_VECTOR legal, but it doesn't fire for vectors
that need to be split.
Commit: c2fc33204caca8c52b27425255bbc78c9e4d99e4
https://github.com/llvm/llvm-project/commit/c2fc33204caca8c52b27425255bbc78c9e4d99e4
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M flang/lib/Semantics/check-io.cpp
M flang/module/__fortran_builtins.f90
A flang/test/Lower/CUDA/cuda-devptr.cuf
Log Message:
-----------
[flang][cuda] Add c_devptr and bypass output semantic check (#107318)
Add a builtin type for c_devptr since it will need some special handling
for some function like c_f_pointer.
`c_ptr` is defined as a builtin type and was raising a semantic error if
you try to use it in a I/O statement. This patch add a check for c_ptr
and c_devptr to bypass the semantic check and allow the variables of
these types to be used in I/O.
Commit: aad699776496a80af5e062b446fe26a4313ff3e3
https://github.com/llvm/llvm-project/commit/aad699776496a80af5e062b446fe26a4313ff3e3
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-to-vmv.mir
M llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.ll
M llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.mir
Log Message:
-----------
[RISCV] Fold PseudoVMV_V_V with undef passthru, handling policy (#106943)
If a vmv.v.v has an undef passthru then we can just replace it with its
input operand, since the tail is completely undefined.
This is a reattempt of #106840, but also checks to see if the input was
a pseudo where we can relax its tail policy to undef.
This also means we don't need to check for undef passthrus in
foldVMV_V_V anymore because they will be handled by
foldUndefPassthruVMV_V_V.
Commit: ad89e617c703239518187912540b8ea811dc2eda
https://github.com/llvm/llvm-project/commit/ad89e617c703239518187912540b8ea811dc2eda
Author: Matt Hofmann <mrh259 at cornell.edu>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M mlir/python/mlir/dialects/scf.py
M mlir/test/python/dialects/scf.py
Log Message:
-----------
[MLIR][Python] Fix detached operation coming from `IfOp` constructor (#107286)
Without this fix, `scf.if` operations would be created without a parent.
Since `scf.if` operations often have no results, this caused silent bugs
where the generated code was straight-up missing the operation.
Commit: 41c11ea2af743051013dfcc0fced5a450e2dc9b8
https://github.com/llvm/llvm-project/commit/41c11ea2af743051013dfcc0fced5a450e2dc9b8
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M clang/lib/Sema/SemaHLSL.cpp
Log Message:
-----------
[HLSL] Remove variables that are used only in assert (#107299)
Changes the assert to test the same condition without using the
variables.
This change is done in response to a comment
[here](https://github.com/llvm/llvm-project/pull/106657#issuecomment-2327493439).
Commit: abbcfff706b33a8965afa9f2c520f60ad46f3b9e
https://github.com/llvm/llvm-project/commit/abbcfff706b33a8965afa9f2c520f60ad46f3b9e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M flang/lib/Semantics/check-io.cpp
M flang/module/__fortran_builtins.f90
R flang/test/Lower/CUDA/cuda-devptr.cuf
Log Message:
-----------
Revert "[flang][cuda] Add c_devptr and bypass output semantic check" (#107349)
Reverts llvm/llvm-project#107318
It breaks a test
https://lab.llvm.org/buildbot/#/builders/143/builds/1933
Commit: 1465e23985904d55a014f3377c287ded45c0fa0c
https://github.com/llvm/llvm-project/commit/1465e23985904d55a014f3377c287ded45c0fa0c
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
Log Message:
-----------
[RISCV][llvm] Handle `ptr` element type in `lowerDeinterleaveIntrinsicToLoad` and `lowerInterleaveIntrinsicToStore` (#107079)
Resolve https://github.com/llvm/llvm-project/issues/106970
currently it returns 0 fixed size for `ptr` element type. The `ptr`
element size should depend on `XLen` which is 64 in riscv64 and 32 in
riscv32 respectively.
Commit: da8fb7f4dddf48b2395f80dc09efffe38efa3d2f
https://github.com/llvm/llvm-project/commit/da8fb7f4dddf48b2395f80dc09efffe38efa3d2f
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/lib/Sema/SemaRISCV.cpp
Log Message:
-----------
[clang][RISCV] Fix typo of vector crypto in SemaRISCV.cpp. NFC (#106485)
Commit: 845d8d909c37c61298d49c0e91949c669ca15215
https://github.com/llvm/llvm-project/commit/845d8d909c37c61298d49c0e91949c669ca15215
Author: Elvis Wang <110374989+ElvisWang123 at users.noreply.github.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/cast.ll
Log Message:
-----------
[RISCV][TTI] Add cost of typebased cast VPIntrinsics with functionalOPC. (#97797)
This patch make the instruction cost of type-based cast VP intrinsics
will be same as their non-VP counterpart.
This is the following patch of
[#93435](https://github.com/llvm/llvm-project/pull/93435)
Commit: 76be3a0024fe0027bcba9a597fee32a8b2d962ae
https://github.com/llvm/llvm-project/commit/76be3a0024fe0027bcba9a597fee32a8b2d962ae
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
A llvm/test/CodeGen/DirectX/sin_vector_error.ll
Log Message:
-----------
[DirectX] Fix crash in DXILOpBuilder for vector types (#107334)
This function needs to return the "undefined" sigil for unknown types so
that the actual error handling triggers instead of a crash.
Commit: 787fc81437dfc924e4a7d6106248e335e32aeeeb
https://github.com/llvm/llvm-project/commit/787fc81437dfc924e4a7d6106248e335e32aeeeb
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsDirectX.td
Log Message:
-----------
[DirectX] Clean up trailing whitespace. NFC (#107335)
Commit: d18ca271f1add262b4ee0318a980f78a402f5e9c
https://github.com/llvm/llvm-project/commit/d18ca271f1add262b4ee0318a980f78a402f5e9c
Author: Harini0924 <harinidonthula at google.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
A llvm/utils/lit/tests/Inputs/shtest-glob/example_file1.input
A llvm/utils/lit/tests/Inputs/shtest-glob/example_file2.input
A llvm/utils/lit/tests/Inputs/shtest-glob/glob-echo.txt
A llvm/utils/lit/tests/Inputs/shtest-glob/glob-mkdir.txt
A llvm/utils/lit/tests/Inputs/shtest-glob/lit.cfg
A llvm/utils/lit/tests/shtest-glob.py
Log Message:
-----------
Reapply "[llvm-lit] Add precommit test to verify current behavior of glob expansion in lit's internal shell" (#106763) (#107169)
This reverts commit 5af4ba2684b9b59de3bf8135f62e05ab68cfc489.
The previous patch was missing the closing parenthesis `)` in the
`CHECK` statement in the `llvm/utils/lit/tests/shtest-glob.py` file:
`# CHECK: FAIL: shtest-glob :: glob-mkdir.txt ({{[^)]*}}`
This issue broke some build bots. This patch corrects the `CHECK`
statement by adding the closing parenthesis:
`# CHECK: FAIL: shtest-glob :: glob-mkdir.txt ({{[^)]*}})`
Commit: 16cda01d22c0ac1713f667d501bdca91594a4e13
https://github.com/llvm/llvm-project/commit/16cda01d22c0ac1713f667d501bdca91594a4e13
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-cc.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll
M llvm/test/CodeGen/AMDGPU/cse-convergent.ll
M llvm/test/CodeGen/AMDGPU/fix-wwm-vgpr-copy.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.chain.arg.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.ll
M llvm/test/CodeGen/AMDGPU/set-inactive-wwm-overwrite.ll
M llvm/test/CodeGen/AMDGPU/should-not-hoist-set-inactive.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/AMDGPU/wqm.ll
M llvm/test/CodeGen/AMDGPU/wqm.mir
M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll
Log Message:
-----------
[AMDGPU] V_SET_INACTIVE optimizations (#98864)
Optimize V_SET_INACTIVE by allow it to run in WWM.
Hence WWM sections are not broken up for inactive lane setting.
WWM V_SET_INACTIVE can typically be lower to V_CNDMASK.
Some cases require use of exec manipulation V_MOV as previous code.
GFX9 sees slight instruction count increase in edge cases due to
smaller constant bus.
Additionally avoid introducing exec manipulation and V_MOVs where
a source of V_SET_INACTIVE is the destination.
This is a common pattern as WWM register pre-allocation often
assigns the same register.
Commit: 96a5aabbd6adada4525d5e0107e96e6f57dbdfbf
https://github.com/llvm/llvm-project/commit/96a5aabbd6adada4525d5e0107e96e6f57dbdfbf
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.h
Log Message:
-----------
[NFC][sanitizer] Thread safety annotation for Symbolizer
Commit: aafaa6943463b56db2928081dc72b116e246c249
https://github.com/llvm/llvm-project/commit/aafaa6943463b56db2928081dc72b116e246c249
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td
M llvm/lib/Target/M68k/M68kCallingConv.td
M llvm/lib/Target/Mips/MipsCallingConv.td
M llvm/lib/Target/PowerPC/PPCCallingConv.td
M llvm/lib/Target/SystemZ/SystemZCallingConv.td
M llvm/lib/Target/X86/X86CallingConv.td
Log Message:
-----------
[Target] Use templated MachineFunction::getSubtarget in *CallingConv.td. NFC (#107311)
This hides away the static_cast needed to get the target specific Subtarget
object.
Commit: 0c1500ef05e0a5b25cae79d2bd361dbc6e14e726
https://github.com/llvm/llvm-project/commit/0c1500ef05e0a5b25cae79d2bd361dbc6e14e726
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/zdinx-boundary-check.ll
Log Message:
-----------
[RISCV] Fix another RV32 Zdinx load/store addressing corner case.
RISCVExpandPseudoInsts makes sure the offset is divisible by 8
so we need to enforce that during isel.
Commit: 77f04882251b1e44239d6d7545cd62301e903a4a
https://github.com/llvm/llvm-project/commit/77f04882251b1e44239d6d7545cd62301e903a4a
Author: David Green <david.green at arm.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/zext-shuffle.ll
Log Message:
-----------
[AArch64] Combine zext of deinterleaving shuffle. (#107201)
This is part 1 of a few patches that are intended to take deinterleaving
shuffles with masks like `[0,4,8,12]`, where the shuffle is
zero-extended to a larger size, and optimize away the deinterleave. In
this case it converts them to `and(uzp1, mask)`, where the `uzp1` act
upon the elements in the larger type size to get the lanes into the
correct possitions, and the `and` performs the zext. It performs the
combine fairly late, on the legalized type so that uitofp that are
converted to uitofp(zext(..)) will also be handled.
Commit: a7697c86559e9d57c9c0e2b5f2daaa5cec4e5119
https://github.com/llvm/llvm-project/commit/a7697c86559e9d57c9c0e2b5f2daaa5cec4e5119
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/test/CodeGen/ARM/arm-vld1.ll
M llvm/test/CodeGen/ARM/arm-vst1.ll
M llvm/test/CodeGen/ARM/bf16-intrinsics-ld-st.ll
M llvm/test/Transforms/InstCombine/ARM/neon-intrinsics.ll
Log Message:
-----------
[ARM] Do not assume alignment in vld1xN and vst1xN intrinsics (#106984)
These intrinsics currently assume natural alignment. Instead, respect
the alignment attribute on the intrinsic. Teach InstCombine to improve
that alignment.
If desired I could also adjust the clang frontend to add alignment
annotations equivalent to the previous behavior, but I don't see any
indication that such an assumption is correct in the ARM intrinsics
docs.
Fixes https://github.com/llvm/llvm-project/issues/59081.
Commit: 3d729571fdc86a40218e5743d4386d7d8edc36ae
https://github.com/llvm/llvm-project/commit/3d729571fdc86a40218e5743d4386d7d8edc36ae
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.mir
M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
Log Message:
-----------
[RISCV] Model dest EEW and fix peepholes not checking EEW (#105945)
Previously for vector peepholes that fold based on VL, we checked if the
VLMAX is the same as a proxy to check that the EEWs were the same. This
only worked at LMUL >= 1 because the EMULs of the Src output and user's
input had to be the same because the register classes needed to match.
At fractional LMULs we would have incorrectly folded something like
this:
%x:vr = PseudoVADD_VV_MF4 $noreg, $noreg, $noreg, 4, 4 /* e16 */, 0
%y:vr = PseudoVMV_V_V_MF8 $noreg, %x, 4, 3 /* e8 */, 0
This models the EEW of the destination operands of vector instructions
with a TSFlag, which is enough to fix the incorrect folding.
There's some overlap with the TargetOverlapConstraintType and
IsRVVWideningReduction. If we model the source operands as well we may
be able to subsume them.
Commit: f006246299c96486a8e37005a94e07c0bf334ee0
https://github.com/llvm/llvm-project/commit/f006246299c96486a8e37005a94e07c0bf334ee0
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/Target.td
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/InitUndef.cpp
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/rvv/handle-noreg-with-implicit-def.mir
M llvm/test/CodeGen/RISCV/rvv/subregister-undef-early-clobber.mir
M llvm/test/CodeGen/RISCV/rvv/undef-earlyclobber-chain.mir
M llvm/test/CodeGen/Thumb2/mve-laneinterleaving-cost.ll
M llvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-imms.td
Log Message:
-----------
[CodeGen] Add generic INIT_UNDEF pseudo (#106744)
The InitUndef pass currently uses target-specific pseudo instructions,
with one pseudo per register class.
Instead, add a generic pseudo instruction, which can be used by all
targets and register classes.
Commit: f1ac334b13c22222ed5c71bad04ed8345b2be135
https://github.com/llvm/llvm-project/commit/f1ac334b13c22222ed5c71bad04ed8345b2be135
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaCXX/cxx20-default-compare.cpp
Log Message:
-----------
[Clang][SemaCXX] Preserve qualifiers in derived-to-base cast in defaulted comparison operators (#102619)
Fixes #102588
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: cf1ad28169be5d026ec95f351b56b0c090b3e682
https://github.com/llvm/llvm-project/commit/cf1ad28169be5d026ec95f351b56b0c090b3e682
Author: Daniel Grumberg <dgrumberg at apple.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/lib/ExtractAPI/DeclarationFragments.cpp
A clang/test/ExtractAPI/attributed-typedef.m
Log Message:
-----------
[clang][ExtractAPI] Handle AttributedType fragments transparently (#107262)
rdar://131958623
Commit: 41373098421f2aa551a0879537864c87d797a102
https://github.com/llvm/llvm-project/commit/41373098421f2aa551a0879537864c87d797a102
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/lib/Lex/Lexer.cpp
M clang/test/Sema/pre-c2x-compat.c
Log Message:
-----------
[Clang] Warn with -Wpre-c23-compat instead of -Wpre-c++17-compat for u8 character literals in C23 (#97210)
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: 3e4788377bb29ed389b46521fcba0d06aa985bcf
https://github.com/llvm/llvm-project/commit/3e4788377bb29ed389b46521fcba0d06aa985bcf
Author: Giulio Eulisse <10544+ktf at users.noreply.github.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/include/clang/Basic/SourceManager.h
M llvm/include/llvm/ADT/PagedVector.h
Log Message:
-----------
Recover performance loss after PagedVector introduction (#67972)
Commit: b206bf0952796cb93f1aca9e47d5764e474e1998
https://github.com/llvm/llvm-project/commit/b206bf0952796cb93f1aca9e47d5764e474e1998
Author: Konrad Kleine <kkleine at redhat.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/cmake/caches/Release.cmake
Log Message:
-----------
Fix CLANG_BOOTSTRAP_TARGETS in Release.cmake (#106407)
# Problem
Before this patch you could not build the `stage2-LLVM` for example
because you first had to manually add it to `CLANG_BOOTSTRAP_TARGETS` in
the `Release.cmake` and also add it to
`LLVM_RELEASE_FINAL_STAGE_TARGETS` in the cmake configure run. Now you
can just use `-DLLVM_RELEASE_FINAL_STAGE_TARGETS="LLVM;clang"` on the
cmake CLI and be able to build the targets `stage2-LLVM` and
`stage2-clang` without further changes to the cache file.
# Solution
Take all `LLVM_RELEASE_FINAL_STAGE_TARGETS` elements and append them
prefixed with `stage2-` to `CLANG_BOOTSTRAP_TARGETS`. Afterwards all
duplicates are removed.
Commit: 3413f957243e4a152726e572986eb730699b8486
https://github.com/llvm/llvm-project/commit/3413f957243e4a152726e572986eb730699b8486
Author: David Green <david.green at arm.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/zext-shuffle.ll
Log Message:
-----------
[AArch64] Add a few extra two-step zext shuffle tests. NFC
Commit: a95b212e9957b8f5b7d452b4713a7b6f9ee19e71
https://github.com/llvm/llvm-project/commit/a95b212e9957b8f5b7d452b4713a7b6f9ee19e71
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Log Message:
-----------
[DWARF] Don't search scope chain to find DISubprogram for prologues (#107261)
Seemingly this goes back to fd07a2a in 2015 -- I anticipate that back
then the metadata layout was radically different. But nowadays at least, we
can just directly look up the subprogram.
Commit: 03d5b7ca3d83eee3514318ef8934ba26bc3d7fa9
https://github.com/llvm/llvm-project/commit/03d5b7ca3d83eee3514318ef8934ba26bc3d7fa9
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Log Message:
-----------
[MemorySanitizer] Don't create types pointers (NFC)
Everything in this pass uses a single addrspace 0 pointer type.
Don't try to create it using the typed pointer ctor.
This allows removing the type argument from
getShadowPtrForVAArgument().
Commit: 071606ab282bb622a87759569b7044ec19a9c641
https://github.com/llvm/llvm-project/commit/071606ab282bb622a87759569b7044ec19a9c641
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
Log Message:
-----------
[RISCV] Remove RV32 FIXMEs completed in #107290. NFC
Commit: 5ee73953f03fe0cf53190c8dc9a257c752ab4171
https://github.com/llvm/llvm-project/commit/5ee73953f03fe0cf53190c8dc9a257c752ab4171
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/test/MC/AMDGPU/gfx12_asm_vimage_alias.s
Log Message:
-----------
[AMDGPU] Add image_atomic_fmin/fmax as aliases for GFX12 (#107242)
This just follows SP3.
Commit: d0278cf395e09bfb8dbef9cb92e6103be91e1eb3
https://github.com/llvm/llvm-project/commit/d0278cf395e09bfb8dbef9cb92e6103be91e1eb3
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
M llvm/test/CodeGen/RISCV/rvv/vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
Log Message:
-----------
[RISCV] Remove some more completed FIXMEs from tests. NFC
Commit: 3299bc863fd74613fdfad2a2fde3f75de79bd645
https://github.com/llvm/llvm-project/commit/3299bc863fd74613fdfad2a2fde3f75de79bd645
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/DebugHandlerBase.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
Log Message:
-----------
[DWARF] Identify prologue_end by instruction rather than DILocation (#107264)
Currently, we identify the end of the prologue as being "the instruction
that first has *this* DebugLoc". It works well enough, but I feel
identifying a position in a function is best communicated by a
MachineInstr. Plus, I've got some patches coming that depend upon this.
Commit: 95684afbcd59f34be580f75ee32f766874b5d0f5
https://github.com/llvm/llvm-project/commit/95684afbcd59f34be580f75ee32f766874b5d0f5
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/Mangler.h
M llvm/lib/IR/Mangler.cpp
Log Message:
-----------
[IR][ARM64EC][NFC] Clean up and document ARM64EC mangling helpers. (#107230)
Commit: 87b4b648585f69a2ea148e86543aa31474e59acd
https://github.com/llvm/llvm-project/commit/87b4b648585f69a2ea148e86543aa31474e59acd
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/lib/Sema/CheckExprLifetime.cpp
Log Message:
-----------
Fix a typo in CheckExprLifetime.cpp, NFC
Commit: 3e070906eff720dc44aee86e533e12aafc8bb14b
https://github.com/llvm/llvm-project/commit/3e070906eff720dc44aee86e533e12aafc8bb14b
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/lib/Sema/CheckExprLifetime.cpp
Log Message:
-----------
Fix llvm-else-after-return clang-tidy warning in CheckExprLifetime.cpp, NFC
Commit: 07bef02831836748f46ddd285520f351fe18cfe9
https://github.com/llvm/llvm-project/commit/07bef02831836748f46ddd285520f351fe18cfe9
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
Log Message:
-----------
[OpenMPOpt] Initialize OpenMPIRBuilderConfig::IsGPU flag (#104456)
This patch ensures the `IsGPU` flag is set by the OpenMPOpt pass, so
that it can be relied upon by `OpenMPIRBuilder` methods when called by
that pass as well.
Since currently there are very limited callers for the
`OpenMPIRBuilder::isGPU()` method, no assertions are being triggered by
the lack of initialization of this flag. However, when more
offloading-related features are implemented, it will eventually start
happening.
Commit: 142433684a6e3a2936f814268396dea4190905dc
https://github.com/llvm/llvm-project/commit/142433684a6e3a2936f814268396dea4190905dc
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/test/Lower/OpenMP/array-bounds.f90
M flang/test/Lower/OpenMP/target.f90
A offload/test/offloading/fortran/target-map-dynamic.f90
Log Message:
-----------
[OpenMP][Flang] Fix dynamic-extent array mapping (#107247)
This patch fixes the mapping and lowering of arrays with dynamic extents
and adds a new test for the same. The fix discards the incomplete the
dynamic extent information and replacing it with just the base type.
When lowering to llvm later, the bounds information is used instead.
Commit: b44d9e5d3605d7ddd64992e3c77b6669f0f7701b
https://github.com/llvm/llvm-project/commit/b44d9e5d3605d7ddd64992e3c77b6669f0f7701b
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
VPlanTransforms: fix style after cursory reading (NFC) (#105827)
Commit: fa385274baae77a0ea7e78c4c6feca6b0ab4f1dc
https://github.com/llvm/llvm-project/commit/fa385274baae77a0ea7e78c4c6feca6b0ab4f1dc
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
A libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp
A libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp
M libcxx/utils/libcxx/test/features.py
Log Message:
-----------
[libc++] Add ABI tests for unordered_{map,set} (#107200)
These are used to ensure #76756 is correct.
Commit: 11040560ba30381ed47c3089a2562a41b00dbb4b
https://github.com/llvm/llvm-project/commit/11040560ba30381ed47c3089a2562a41b00dbb4b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/abds-neg.ll
M llvm/test/CodeGen/X86/abds.ll
Log Message:
-----------
[X86] preferABDSToABSWithNSW - use ABDS for i32/i64 if we have CMOV
Now that we have better ABDS lowering, prefer cmov(sub(x,y),sub(y,x)) to cmov(abs(sub(x,y)),sub(x,y)) to improve ILP
Commit: 84cf3a573e89b18ce79ff32a7646c0a99729029c
https://github.com/llvm/llvm-project/commit/84cf3a573e89b18ce79ff32a7646c0a99729029c
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/lib/AST/ExprConstant.cpp
M clang/test/AST/ByteCode/literals.cpp
M clang/test/CXX/drs/cwg27xx.cpp
M clang/test/CXX/expr/expr.const/p2-0x.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[Clang] CWG2749: relational operators involving pointers to void (#93046)
https://cplusplus.github.io/CWG/issues/2749.html
This DR's effects are backported to C++98.
Does not affect C where integral constant expressions cannot involve
pointers.
---------
Co-authored-by: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: d6832a611a7c4ec36f08b1cfe9af850dad32da2e
https://github.com/llvm/llvm-project/commit/d6832a611a7c4ec36f08b1cfe9af850dad32da2e
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/ranges_minmax.h
M libcxx/include/__atomic/atomic.h
M libcxx/include/__charconv/to_chars_integral.h
A libcxx/include/__cstddef/byte.h
A libcxx/include/__cstddef/max_align_t.h
A libcxx/include/__cstddef/nullptr_t.h
A libcxx/include/__cstddef/ptrdiff_t.h
A libcxx/include/__cstddef/size_t.h
M libcxx/include/__exception/nested_exception.h
M libcxx/include/__fwd/array.h
M libcxx/include/__fwd/complex.h
M libcxx/include/__fwd/pair.h
M libcxx/include/__fwd/span.h
M libcxx/include/__fwd/subrange.h
M libcxx/include/__fwd/tuple.h
M libcxx/include/__iterator/concepts.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__iterator/wrap_iter.h
M libcxx/include/__mdspan/layout_stride.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__memory/uses_allocator.h
M libcxx/include/__random/mersenne_twister_engine.h
M libcxx/include/__random/seed_seq.h
M libcxx/include/__random/subtract_with_carry_engine.h
M libcxx/include/__ranges/subrange.h
M libcxx/include/__string/constexpr_c_functions.h
M libcxx/include/__tuple/tuple_size.h
M libcxx/include/__type_traits/aligned_storage.h
M libcxx/include/__type_traits/aligned_union.h
M libcxx/include/__type_traits/alignment_of.h
M libcxx/include/__type_traits/extent.h
M libcxx/include/__type_traits/is_allocator.h
M libcxx/include/__type_traits/is_array.h
M libcxx/include/__type_traits/is_bounded_array.h
M libcxx/include/__type_traits/is_nothrow_destructible.h
M libcxx/include/__type_traits/is_null_pointer.h
M libcxx/include/__type_traits/is_swappable.h
M libcxx/include/__type_traits/rank.h
M libcxx/include/__type_traits/remove_all_extents.h
M libcxx/include/__type_traits/remove_extent.h
M libcxx/include/__type_traits/type_list.h
M libcxx/include/__utility/in_place.h
M libcxx/include/__utility/pair.h
M libcxx/include/__utility/swap.h
M libcxx/include/any
M libcxx/include/cstddef
M libcxx/include/cstdio
M libcxx/include/cstdlib
M libcxx/include/cstring
M libcxx/include/ctime
M libcxx/include/cuchar
M libcxx/include/cwchar
M libcxx/include/experimental/__simd/reference.h
M libcxx/include/experimental/__simd/scalar.h
M libcxx/include/experimental/__simd/simd.h
M libcxx/include/experimental/__simd/simd_mask.h
M libcxx/include/experimental/__simd/vec_ext.h
M libcxx/include/module.modulemap
M libcxx/include/typeinfo
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/std/numerics/bit/bit.pow.two/bit_ceil.pass.cpp
M libcxx/test/std/numerics/bit/bit.pow.two/bit_floor.pass.cpp
M libcxx/test/std/numerics/bit/bit.pow.two/bit_width.pass.cpp
M libcxx/test/std/numerics/bit/bit.pow.two/has_single_bit.pass.cpp
M libcxx/test/std/numerics/bit/bitops.count/countl_one.pass.cpp
M libcxx/test/std/numerics/bit/bitops.count/countl_zero.pass.cpp
M libcxx/test/std/numerics/bit/bitops.count/countr_one.pass.cpp
M libcxx/test/std/numerics/bit/bitops.count/countr_zero.pass.cpp
M libcxx/test/std/numerics/bit/bitops.count/popcount.pass.cpp
M libcxx/test/std/numerics/bit/bitops.rot/rotl.pass.cpp
M libcxx/test/std/numerics/bit/bitops.rot/rotr.pass.cpp
M libcxx/test/tools/clang_tidy_checks/header_exportable_declarations.cpp
M libcxx/utils/libcxx/test/modules.py
Log Message:
-----------
[libc++][modules] Modularize <cstddef> (#107254)
Many headers include `<cstddef>` just for size_t, and pulling in
additional content (e.g. the traits used for std::byte) is unnecessary.
To solve this problem, this patch splits up `<cstddef>` into
subcomponents so that headers can include only the parts that they
actually require.
This has the added benefit of making the modules build a lot stricter
with respect to IWYU, and also providing a canonical location where we
define `std::size_t` and friends (which were previously defined in
multiple headers like `<cstddef>` and `<ctime>`).
After this patch, there's still many places in the codebase where we
include `<cstddef>` when `<__cstddef/size_t.h>` would be sufficient.
This patch focuses on removing `<cstddef>` includes from __type_traits
to make these headers non-circular with `<cstddef>`. Additional
refactorings can be tackled separately.
Commit: 485d191f0ca5e31a60fe2489ac99270ed5c7a594
https://github.com/llvm/llvm-project/commit/485d191f0ca5e31a60fe2489ac99270ed5c7a594
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port d6832a611a7c
Commit: 2a07509c8d3c8b5b2c88e4f73dde0071bf506870
https://github.com/llvm/llvm-project/commit/2a07509c8d3c8b5b2c88e4f73dde0071bf506870
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/ByteCode/State.h
M clang/lib/AST/ExprConstant.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
A clang/test/SemaCXX/builtin-is-within-lifetime.cpp
A clang/test/SemaCXX/consteval-builtin.cpp
Log Message:
-----------
[Clang] Add __builtin_is_within_lifetime to implement P2641R4's std::is_within_lifetime (#91895)
[P2641R4](https://wg21.link/P2641R4)
This new builtin function is declared `consteval`. Support for
`-fexperimental-new-constant-interpreter` will be added in a later
patch.
---------
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: e4fdbcc28f19b59fef065f2a6f939f91f286b9a8
https://github.com/llvm/llvm-project/commit/e4fdbcc28f19b59fef065f2a6f939f91f286b9a8
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/forward_list
M libcxx/include/list
M libcxx/include/string
Log Message:
-----------
[libc++] Add miscellaneous missing includes
Commit: 2c3da172d1869a2e261af38c45582027a9ff6af7
https://github.com/llvm/llvm-project/commit/2c3da172d1869a2e261af38c45582027a9ff6af7
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
Log Message:
-----------
LIR: strip unused LAA header dependency (NFC) (#107382)
LoopIdiomRecognize does not use LoopAccessAnalysis. Make this clear.
Commit: 3d01f0a33b9a14545217938fbd2475226ade2719
https://github.com/llvm/llvm-project/commit/3d01f0a33b9a14545217938fbd2475226ade2719
Author: Andrea Faulds <andrea.faulds at amd.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Transforms/SubgroupReduceLowering.cpp
M mlir/test/Dialect/GPU/canonicalize.mlir
M mlir/test/Dialect/GPU/invalid.mlir
M mlir/test/Dialect/GPU/subgroup-reduce-lowering.mlir
Log Message:
-----------
[mlir][gpu] Add 'cluster_stride' attribute to gpu.subgroup_reduce (#107142)
Follow-up to 7aa22f013e24d20291aad745368ff907baa9dfa4, adding an
additional attribute needed in some applications.
Commit: 7d1a68178ef4332c9bf19a5c959a3ec4cef0285d
https://github.com/llvm/llvm-project/commit/7d1a68178ef4332c9bf19a5c959a3ec4cef0285d
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
Log Message:
-----------
[SystemZ] Use APInt::getAllOnes()
This was using -1 without setting the signed flag.
Split off from https://github.com/llvm/llvm-project/pull/80309.
Commit: 67e19e5bb11d8ed2f1b5a0b8145331c8bf4522e9
https://github.com/llvm/llvm-project/commit/67e19e5bb11d8ed2f1b5a0b8145331c8bf4522e9
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
Log Message:
-----------
[flang] Set isSigned=true for negative constant (NFC)
We're providing this as a negative signed value, so set the flag.
Currently doesn't make a difference, but will assert in the future.
Split out of https://github.com/llvm/llvm-project/pull/80309.
Commit: 9e9971b100e121b83f1de9e9206cddb52cda4815
https://github.com/llvm/llvm-project/commit/9e9971b100e121b83f1de9e9206cddb52cda4815
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[PatternMatchTest] Use APInt::getAllOnes() (NFC)
Split out from https://github.com/llvm/llvm-project/pull/80309 to
avoid assertion failures in the future.
Commit: eae1d6152fd77511f943fd7f300a971c53453e70
https://github.com/llvm/llvm-project/commit/eae1d6152fd77511f943fd7f300a971c53453e70
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining.ll
Log Message:
-----------
[X86] Add test coverage for #107289
Commit: 1a1264726db275d4b207c5bc640e2779dd484478
https://github.com/llvm/llvm-project/commit/1a1264726db275d4b207c5bc640e2779dd484478
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M libcxx/include/__math/traits.h
M libcxx/test/libcxx/numerics/c.math/constexpr-cxx23-clang.pass.cpp
M libcxx/test/libcxx/numerics/c.math/constexpr-cxx23-gcc.pass.cpp
A libcxx/test/std/numerics/c.math/signbit.pass.cpp
Log Message:
-----------
[libc++][math] Add `constexpr` for `std::signbit()` (#105946)
## Why
Since 18th of August, the floating point comparison builtin
``__builtin_signbit`` is available in Clang as constant expression
(https://github.com/llvm/llvm-project/pull/94118).
## What
* Implement `constexpr` for `std::signbit()` as defined by
[P0533R9](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0533r9.pdf)
(new C++23 feature)
* Restrict execution of tests to tip-of-trunk Clang as builtin is not
yet available (note that builtin is available in GCC)
Commit: 7f0c5b0502b462d2afad32d3681b37cfc15ba844
https://github.com/llvm/llvm-project/commit/7f0c5b0502b462d2afad32d3681b37cfc15ba844
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/test/CodeGen/AArch64/sme-vg-to-stack.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
M llvm/test/CodeGen/AArch64/sve-callee-save-restore-pairs.ll
Log Message:
-----------
[AArch64]Fix invalid use of ld1/st1 in stack alloc (#105518)
This patch fixes incorrect usage of scalar+immediate variant of ld1/st1
instructions during stack allocation caused by
[c4bac7f](https://github.com/llvm/llvm-project/commit/c4bac7f7dcd931a5e561604e95656a24c3d1c9d9).
This commit used ld1/st1 even when stack offset was outside of immediate
range for this instruction, producing invalid assembly. This commit was also using incorrect offsets when using ld1/st1.
Commit: 80cd2141eb7f6e7be738a01348bc2ccd08b41cd6
https://github.com/llvm/llvm-project/commit/80cd2141eb7f6e7be738a01348bc2ccd08b41cd6
Author: Mogball <jeff at modular.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[mlir][llvm] Add `externally_initialized` support to GlobalOp
This maps the `externally_initialized` flag in `llvm::GlobalVariable` to
`GlobalOp` and adds exported support.
Commit: 0ba78182b975d8ccd8ca42b33fbf038a85a44747
https://github.com/llvm/llvm-project/commit/0ba78182b975d8ccd8ca42b33fbf038a85a44747
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerSelect - generalize "select icmp(x,0), lhs, rhs" folding patterns [NFC] (#107374)
This patch proposes we add a LowerSELECTWithCmpZero helper, which allows us to fold the compare-with-zero from different condition nodes with minimal duplication.
So far I've only handled the simple no-cmov case for or/xor nodes, but the intention is to convert more folds in future PRs.
NFC preliminary patch for #107272
Commit: 233ed51cf53d590d3f52d5becff95317dbf73657
https://github.com/llvm/llvm-project/commit/233ed51cf53d590d3f52d5becff95317dbf73657
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
Log Message:
-----------
[LLD][COFF][NFC] Use is64Bit in Baserel::getDefaultType. (#107378)
In preparation for ARM64EC support. Also make it static.
Commit: 9707b98e572adf34ef3e71bcf159dae08e654fd8
https://github.com/llvm/llvm-project/commit/9707b98e572adf34ef3e71bcf159dae08e654fd8
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/IR/ConstantRange.cpp
Log Message:
-----------
[ConstantRange] Perform increment on APInt (NFC)
This handles the edge case where BitWidth is 1 and doing the
increment gets a value that's not valid in that width, while we
just want wrap-around.
Split out of https://github.com/llvm/llvm-project/pull/80309.
Commit: 9e85efb0dec8e78ca69925a05c0bbba211dee507
https://github.com/llvm/llvm-project/commit/9e85efb0dec8e78ca69925a05c0bbba211dee507
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/unittests/IR/ConstantRangeTest.cpp
Log Message:
-----------
[ConstantRangeTest] Set APInt signed flags where needed (NFC)
Split out from https://github.com/llvm/llvm-project/pull/80309 to
avoid assertion failures in the future.
Commit: 5024dff6eee5a95a741b063c953422c5b6d02fdc
https://github.com/llvm/llvm-project/commit/5024dff6eee5a95a741b063c953422c5b6d02fdc
Author: Martin Storsjö <martin at martin.st>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
M libcxx/utils/ci/run-buildbot
Log Message:
-----------
[libc++][ci] Add a test configuration with an incomplete sysroot (#107089)
When bringing up a new cross compiler from scratch, we build
libunwind/libcxx in a setup where the toolchain is incomplete and unable
to perform the normal linker checks; this requires a few special cases
in the CMake files.
We simulate that scenario by removing the libc++ headers, libunwind and
libc++ libraries from the installed toolchain.
We need to set CMAKE_CXX_COMPILER_WORKS since CMake fails to probe the
compiler. We need to set CMAKE_CXX_COMPILER_TARGET, since LLVM's
heuristics fail when CMake hasn't been able to probe the environment
properly. (This is normal; one has to set those options when setting up
such a toolchain from scratch.)
This adds CI coverage for these build scenarios, which otherwise seldom
are tested by some build flow (but are essential when setting up a cross
compiler from scratch).
Commit: 16dc65bdc0f0a23bc2696afce2abecd9f2faa097
https://github.com/llvm/llvm-project/commit/16dc65bdc0f0a23bc2696afce2abecd9f2faa097
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/test/CodeGen/MLRegAlloc/dev-mode-extra-features-logging.ll
Log Message:
-----------
[mlgo] Fix test post - #106744
Trivial fix, some instruction opcodes changed.
Commit: bded3b3ea9f78c5b3edc3d4a6076665af0ea746b
https://github.com/llvm/llvm-project/commit/bded3b3ea9f78c5b3edc3d4a6076665af0ea746b
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/div.ll
Log Message:
-----------
[llvm][AArch64] Improve the cost model for i128 div's (#107306)
Commit: 63e8a1b16f344eaef17c4015497326479e69d1e7
https://github.com/llvm/llvm-project/commit/63e8a1b16f344eaef17c4015497326479e69d1e7
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll
Log Message:
-----------
[SLP] Enable reordering for non-power-of-two vectors (#106638)
This change tries to enable vector reordering during vectorization for
non-power-of-two vectors. Specifically, my goal is to be able to
vectorize reductions whose operands appear in other than identity order.
(i.e. a[1] + a[0] + a[2]). Our standard pass pipeline, Reassociation
effectively canonicalizes towards this form. So for reduction
vectorization to be wildly applicable, we need this feature.
This change enables the use of a non-empty ReorderIndices structure -
which is effectively required for out of order loads or gathers - while
leaving the ReuseShuffleIndices mechanism unused and disabled. If I've
understood the code structure, the former is used when describing
implicit shuffles required by the vectorization strategy (i.e. loading
elements 0,1,3,2 in the order 0,1,2,3 and then shuffling later), while
the later is used when trying to optimize explode/buildvectors (called
gathers in this code).
I audited all the code enabled by this change, but can't claim to
deeply understand most of it. I added a couple of bailouts in places
which appeared to be difficult to audit and optional optimizations. I've
tried to do so in the least risky way I can, but am not completely
confident in this change. Careful review appreciated.
Commit: 3b19e480c056a35a60e3c65de476b6097329ceac
https://github.com/llvm/llvm-project/commit/3b19e480c056a35a60e3c65de476b6097329ceac
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M flang/include/flang/Tools/TargetSetup.h
M flang/module/ieee_arithmetic.f90
M flang/test/CMakeLists.txt
M flang/test/Evaluate/fold-out_of_range.f90
M flang/test/Evaluate/folding07.f90
M flang/test/Lower/Intrinsics/ieee_class_queries.f90
M flang/test/Lower/Intrinsics/ieee_unordered.f90
M flang/test/Lower/common-block.f90
M flang/test/Semantics/kinds03.f90
M flang/test/Semantics/modfile26.f90
M flang/test/Semantics/realkinds-aarch64-01.f90
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
[flang] Warn when F128 is unsupported (#102147) (#106957)
This generates `warning: REAL(KIND=16) is not an enabled type for this
target` if that type is used in a build not correctly configured to
support this type. Uses of `selected_real_kind(30)` return -1.
Relanding #102147 because the test errors turned out to be specific to a
downstream configuration.
Commit: e80f48986c7ba6cc41378b8d8e12d804cf26895d
https://github.com/llvm/llvm-project/commit/e80f48986c7ba6cc41378b8d8e12d804cf26895d
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
A llvm/test/Analysis/ScalarEvolution/udiv-of-x-xsmaxone-fold.ll
Log Message:
-----------
[SCEV] BECount to zero if `((-C + (C smax %x)) /u %x), C > 0` holds
The SCEV expression `((-C + (C smax %x)) /u %x)` can be folded
to zero for any positive constant C.
Proof: https://alive2.llvm.org/ce/z/_dLm8C.
Commit: 7eca38ce76d5d1915f4ab7e665964062c0b37697
https://github.com/llvm/llvm-project/commit/7eca38ce76d5d1915f4ab7e665964062c0b37697
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CGBuilder.h
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/test/CodeGen/2005-01-02-ConstantInits.c
M clang/test/CodeGen/PowerPC/ppc-emmintrin.c
M clang/test/CodeGen/PowerPC/ppc-xmmintrin.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-when-nullptr-is-defined.c
M clang/test/CodeGen/catch-nullptr-and-nonzero-offset.c
M clang/test/CodeGen/catch-pointer-overflow-volatile.c
M clang/test/CodeGen/catch-pointer-overflow.c
M clang/test/CodeGen/ext-int.c
M clang/test/CodeGen/hexagon-brev-ld-ptr-incdec.c
M clang/test/CodeGen/integer-overflow.c
M clang/test/CodeGen/ms-intrinsics.c
M clang/test/CodeGen/ubsan-pointer-overflow.m
M clang/test/CodeGen/vla.c
M clang/test/CodeGenCXX/attr-likelihood-iteration-stmt.cpp
M clang/test/CodeGenCXX/for-range.cpp
M clang/test/CodeGenCXX/pr45964-decomp-transform.cpp
M clang/test/CodeGenCXX/vla.cpp
M clang/test/CodeGenHLSL/buffer-array-operator.hlsl
M clang/test/CodeGenSYCL/address-space-deduction.cpp
M clang/test/Headers/__clang_hip_math.hip
M clang/test/OpenMP/bug60602.cpp
M clang/test/OpenMP/declare_mapper_codegen.cpp
M clang/test/OpenMP/distribute_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/distribute_simd_codegen.cpp
M clang/test/OpenMP/for_linear_codegen.cpp
M clang/test/OpenMP/for_reduction_codegen.cpp
M clang/test/OpenMP/for_reduction_codegen_UDR.cpp
M clang/test/OpenMP/for_reduction_task_codegen.cpp
M clang/test/OpenMP/for_scan_codegen.cpp
M clang/test/OpenMP/for_simd_scan_codegen.cpp
M clang/test/OpenMP/irbuilder_for_iterator.cpp
M clang/test/OpenMP/irbuilder_for_rangefor.cpp
M clang/test/OpenMP/irbuilder_for_unsigned.c
M clang/test/OpenMP/irbuilder_for_unsigned_auto.c
M clang/test/OpenMP/irbuilder_for_unsigned_down.c
M clang/test/OpenMP/irbuilder_for_unsigned_dynamic.c
M clang/test/OpenMP/irbuilder_for_unsigned_dynamic_chunked.c
M clang/test/OpenMP/irbuilder_for_unsigned_runtime.c
M clang/test/OpenMP/irbuilder_for_unsigned_static_chunked.c
M clang/test/OpenMP/map_struct_ordering.cpp
M clang/test/OpenMP/master_taskloop_in_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_reduction_codegen.cpp
M clang/test/OpenMP/ordered_codegen.cpp
M clang/test/OpenMP/parallel_for_codegen.cpp
M clang/test/OpenMP/parallel_for_linear_codegen.cpp
M clang/test/OpenMP/parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/parallel_for_scan_codegen.cpp
M clang/test/OpenMP/parallel_for_simd_scan_codegen.cpp
M clang/test/OpenMP/parallel_master_reduction_task_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_reduction_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_reduction_codegen.cpp
M clang/test/OpenMP/parallel_reduction_codegen.cpp
M clang/test/OpenMP/parallel_reduction_task_codegen.cpp
M clang/test/OpenMP/parallel_sections_reduction_task_codegen.cpp
M clang/test/OpenMP/reduction_implicit_map.cpp
M clang/test/OpenMP/sections_reduction_task_codegen.cpp
M clang/test/OpenMP/target_data_use_device_addr_codegen.cpp
M clang/test/OpenMP/target_data_use_device_ptr_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen.cpp
M clang/test/OpenMP/target_in_reduction_codegen.cpp
M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
M clang/test/OpenMP/target_map_both_pointer_pointee_codegen.cpp
M clang/test/OpenMP/target_map_codegen_01.cpp
M clang/test/OpenMP/target_map_codegen_21.cpp
M clang/test/OpenMP/target_map_codegen_27.cpp
M clang/test/OpenMP/target_map_codegen_28.cpp
M clang/test/OpenMP/target_map_codegen_29.cpp
M clang/test/OpenMP/target_map_deref_array_codegen.cpp
M clang/test/OpenMP/target_map_member_expr_array_section_codegen.cpp
M clang/test/OpenMP/target_map_member_expr_codegen.cpp
M clang/test/OpenMP/target_map_nest_defalut_mapper_codegen.cpp
M clang/test/OpenMP/target_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/target_parallel_reduction_task_codegen.cpp
M clang/test/OpenMP/target_task_affinity_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/target_update_codegen.cpp
M clang/test/OpenMP/task_codegen.c
M clang/test/OpenMP/task_codegen.cpp
M clang/test/OpenMP/task_in_reduction_codegen.cpp
M clang/test/OpenMP/taskgroup_task_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_simd_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_reduction_task_codegen.cpp
Log Message:
-----------
Reland "[clang] Add nuw attribute to GEPs (#105496)" (#107257)
Add nuw attribute to inbounds GEPs where the expression used to form the
GEP is an addition of unsigned indices.
Relands #105496, which was reverted because it exposed a miscompilation
arising from #98608. This is now fixed by #106512.
Commit: 122874c955e06defb619b1afd4e26db482dbbf19
https://github.com/llvm/llvm-project/commit/122874c955e06defb619b1afd4e26db482dbbf19
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/buildvec-insertvec.ll
M llvm/test/CodeGen/X86/known-signbits-vector.ll
M llvm/test/CodeGen/X86/load-scalar-as-vector.ll
M llvm/test/CodeGen/X86/pr44915.ll
M llvm/test/CodeGen/X86/vec_insert-5.ll
M llvm/test/CodeGen/X86/vec_shift5.ll
M llvm/test/CodeGen/X86/vector-sext.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining.ll
Log Message:
-----------
[X86] Fold scalar_to_vector(shift(x,imm)) -> vshift(scalar_to_vector(x),imm)
Noticed while working on #107289
Commit: 0c8d6df362fe5b4bce54776e2199623d0382293b
https://github.com/llvm/llvm-project/commit/0c8d6df362fe5b4bce54776e2199623d0382293b
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
M clang/test/Sema/builtin-unary-fp.c
Log Message:
-----------
Fix handling of FP-classify where the last arg fails to convert
The last argument of an FP-classify function was checked for vailidity
as an expression, but we never ensured that the usual unary
conversions/etc properly resulted in a valid value. Thus, when we got
the value, it was null, so we had a null dereference.
This patch instead fails out/marks the function call as invalid if the
argument is incorrect. I DID consider just allowing it to continue, but
the result was an extraneous error about how the last argument wasn't a
float (in this case, it was an overload set).
Fixes: #107411
Commit: aea3b0f6838bd8268fc3653e1b662d771c87ab15
https://github.com/llvm/llvm-project/commit/aea3b0f6838bd8268fc3653e1b662d771c87ab15
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMMachineFunctionInfo.h
Log Message:
-----------
[ARM] Avoid repeated hash lookups (NFC) (#107356)
Commit: abfb340b779f2b20009fe42ebc522417adf79c44
https://github.com/llvm/llvm-project/commit/abfb340b779f2b20009fe42ebc522417adf79c44
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/lib/Analysis/ThreadSafety.cpp
Log Message:
-----------
[Analysis] Avoid repeated hash lookups (NFC) (#107357)
Commit: 0593b95ff4c459ccf71f9472c148967d40f6d865
https://github.com/llvm/llvm-project/commit/0593b95ff4c459ccf71f9472c148967d40f6d865
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
Log Message:
-----------
[CGOpenMPRuntime] Avoid repeated hash lookups (NFC) (#107358)
Commit: be427dfb9ea6689947253d737708dc3645e179dc
https://github.com/llvm/llvm-project/commit/be427dfb9ea6689947253d737708dc3645e179dc
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/test/CXX/drs/cwg27xx.cpp
M clang/test/Lexer/cxx-features.cpp
M clang/test/Parser/cxx11-user-defined-literals.cpp
M clang/test/Sema/static-assert.c
A clang/test/SemaCXX/static-assert-ext.cpp
Log Message:
-----------
[Clang][Parser] Accept P2741R3 (static_assert with user-generated message) in C++11 as an extension (#102044)
Added a new `-Wpre-c++26-compat` warning for when this feature is used
in C++26 and a `-Wc++26-extensions` warning for when this is used in
C++11 through C++23.
---------
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: 13013bdc6a5e4def05204fb69d7a31ef17ccd1c7
https://github.com/llvm/llvm-project/commit/13013bdc6a5e4def05204fb69d7a31ef17ccd1c7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/double-imm.ll
M llvm/test/CodeGen/RISCV/double-intrinsics.ll
M llvm/test/CodeGen/RISCV/double-round-conv.ll
M llvm/test/CodeGen/RISCV/float-convert.ll
M llvm/test/CodeGen/RISCV/float-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/half-arith.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/half-imm.ll
M llvm/test/CodeGen/RISCV/half-intrinsics.ll
M llvm/test/CodeGen/RISCV/half-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/half-round-conv.ll
Log Message:
-----------
[RISCV] Don't cost Fmv for Zfinx in isFPImmLegal. (#107361)
There is no Fmv with Zfinx.
Commit: 56b2be4a7608770bae5db9d467f50c232c3cf19a
https://github.com/llvm/llvm-project/commit/56b2be4a7608770bae5db9d467f50c232c3cf19a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining.ll
Log Message:
-----------
[X86] Fold scalar_to_vector(funnel(x,y,imm)) -> funnel(scalar_to_vector(x),scalar_to_vector(y),imm)
Limit this to cases where x, y are known to be extracted from a vector.
Addresses poor x86 codegen on #107289
Commit: 2f6e4ed389a6589f340d7efab2b0c7ee22c3d086
https://github.com/llvm/llvm-project/commit/2f6e4ed389a6589f340d7efab2b0c7ee22c3d086
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/Type.cpp
A llvm/test/Assembler/target-type-param-errors.ll
Log Message:
-----------
[IR] Check parameters of target extension types on construction (#107268)
Since IR Types are immutable it makes sense to check them on
construction instead of in the IR Verifier pass.
This patch checks that some TargetExtTypes are well-formed in the sense
that they have the expected number of type parameters and integer
parameters. When called from LLParser it gives a diagnostic message.
When called from anywhere else it just asserts that they are
well-formed.
Commit: fc3e6a81868a0c84e405622a64756e57f020ca37
https://github.com/llvm/llvm-project/commit/fc3e6a81868a0c84e405622a64756e57f020ca37
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/CodeGenCommonISel.h
M llvm/lib/CodeGen/CodeGenCommonISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/isinf.ll
M llvm/test/CodeGen/PowerPC/fp-classify.ll
Log Message:
-----------
DAG: Handle lowering unordered compare with inf (#100378)
Try to take advantage of the nan check behavior of fcmp.
x86_64 looks better, x86_32 looks worse.
Commit: c2018fa40fd081a10af4f3294362db9634d9a282
https://github.com/llvm/llvm-project/commit/c2018fa40fd081a10af4f3294362db9634d9a282
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/include/llvm/Support/FormatCommon.h
M llvm/include/llvm/Support/FormatVariadic.h
M llvm/lib/Support/FormatVariadic.cpp
M llvm/unittests/Support/FormatVariadicTest.cpp
Log Message:
-----------
[NFC][Support] Refactor FormatVariadic code. (#106610)
- Rename `Align` field in ReplacementItem/FmtAlign to `Width` to
accurately reflect its use.
- Change both `Width` and `Index` in ReplacementItem to 32-bit int
instead of size_t (as 64-bits seems excessive in this context).
- Eliminate the use of `Empty` ReplacementType, and use the
existing std::optional<> instead to indicate that.
- Eliminate some boilerplate type code in formatv().
- Eliminate the loop in `splitLiteralAndReplacement`. The existing
code will never loop back.
- Directly use constructor instead of std::make_pair.
Commit: be1958fd487dd58532a45b40be4a7152b80ec31a
https://github.com/llvm/llvm-project/commit/be1958fd487dd58532a45b40be4a7152b80ec31a
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
A llvm/test/CodeGen/AArch64/sve-bf16-converts.ll
Log Message:
-----------
[LLVM][CodeGen][SVE] Implement nxvbf16 fpextend to nxvf32/nxvf64. (#107253)
NOTE: There are no dedicated SVE instructions but bf16->f32 is just a
left shift because they share the same exponent range and from there
other convert instructions can be used.
Commit: 62e6c1ead7aedfbf973fb667537ff5cee4988da1
https://github.com/llvm/llvm-project/commit/62e6c1ead7aedfbf973fb667537ff5cee4988da1
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M lld/MachO/Driver.cpp
M lld/MachO/OutputSegment.cpp
M lld/test/MachO/segprot.s
Log Message:
-----------
[lld/mac] Allow -segprot having stricter initprot than maxprot on mac (#107269)
...including for catalyst.
The usecase for this is to put certain security-critical variables into
a special segment/section that's mapped as read-only most of the time,
and that temporary gets remapped as writeable when these variables are
written to be the program. This protects against them being written to
by heap spraying attacks. This special section should be mapped as
read-only at program start, so using
`-segprot MY_PROTECTED_MEMORY_THINGER rw r`
to mark that segment as rw maxprot and r initprot is exactly what we
want.
lld has so far rejected mismatching initprot and maxprot.
ld64 doesn't reject this, but silently writes initprot into both fields
(!) It looks like this might not be fully intentional, see
https://crbug.com/41495919#comment5 and
http://crbug.com/41495919#comment8.
In any case, when postprocessing ld64's output to have different values
for initprot and maxprot, the dynamic loader seems to do the right thing
(see also the previous two links).
The same technique also works on Windows, using both link.exe and
lld-link.exe using `/SECTION:myprotsect,R`.
So, since this is useful, allow it when targeting macOS, and make it do
what you'd expect.
Since loader support for this on iOS is less clear, keep disallowing it
there for now.
See the PR for the program I used to check that this seems to work. (I
only checked on arm64 macOS 14.5 so far; will run this on many more
systems on bots once this is merged and rolled in.)
Commit: ce3648094d44e8c098396a353b215acecb363cda
https://github.com/llvm/llvm-project/commit/ce3648094d44e8c098396a353b215acecb363cda
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
Log Message:
-----------
[RISCV] Update V0Defs after moving Src in peepholes (#107359)
If we move a pseudo in tryReduceVL or foldVMV_V_V via ensureDominates,
its V0 definition may have changed so we need to update V0Defs.
This shouldn't have any functional change today since any pseudo which
uses V0 won't be able to move past a new definition.
However this will matter if we add a peephole to convert unmasked
pseudos to masked pseudos and add a use of V0.
Commit: 8e28f0471b20ed1148951bc7ffe5c503c43692ae
https://github.com/llvm/llvm-project/commit/8e28f0471b20ed1148951bc7ffe5c503c43692ae
Author: Michael Jones <michaelrj at google.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M libc/config/darwin/arm/entrypoints.txt
Log Message:
-----------
[libc] Correct the entrypoints list for ARM/darwin (#107331)
These entrypoints were added to every target without testing. They don't
work on ARM macs.
Commit: 2ed510dc9789ca0b9172f0593527bee9d53496c4
https://github.com/llvm/llvm-project/commit/2ed510dc9789ca0b9172f0593527bee9d53496c4
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_64.cpp
M lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_64.h
M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
Log Message:
-----------
[LLDB][Minidump] Extend the minidump x86_64 registers to include fs_base and gs_base (#106767)
A follow up to #106473 Minidump wasn't collecting fs or gs_base. This
patch extends the x86_64 register context and gated reading it behind an
lldb specific flag. Additionally these registers are explicitly checked
in the tests.
Commit: 953af0e7f1bcb42136be1a0ea9cdd5aa1fb74852
https://github.com/llvm/llvm-project/commit/953af0e7f1bcb42136be1a0ea9cdd5aa1fb74852
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M libcxx/include/__mdspan/extents.h
M libcxx/src/filesystem/error.h
M libcxx/src/filesystem/file_descriptor.h
M libcxx/src/filesystem/format_string.h
M libcxx/src/filesystem/operations.cpp
M libcxx/src/filesystem/posix_compat.h
M libcxx/src/filesystem/time_utils.h
M libcxx/src/include/atomic_support.h
M libcxx/src/memory_resource.cpp
M libcxx/src/system_error.cpp
M libcxx/test/benchmarks/ContainerBenchmarks.h
M libcxx/test/benchmarks/VariantBenchmarks.h
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_swappable.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply/apply.pass.cpp
M libcxx/test/support/archetypes.h
M libcxx/test/support/container_test_types.h
M libcxx/test/support/filesystem_test_helper.h
M libcxx/test/support/make_test_thread.h
M libcxx/test/support/parse_integer.h
M libcxx/test/support/uses_alloc_types.h
M libcxxabi/src/cxa_guard_impl.h
M libcxxabi/src/cxa_personality.cpp
Log Message:
-----------
[libc++][NFC] Increase consistency for namespace closing comments
Commit: eee2f02e4e28e54e5a38a1dbbd62ea6780909e16
https://github.com/llvm/llvm-project/commit/eee2f02e4e28e54e5a38a1dbbd62ea6780909e16
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M libcxx/include/__type_traits/datasizeof.h
Log Message:
-----------
[libc++][modules] Get rid of <cstddef> dependency in __datasizeof (#107394)
All the compilers we support also provide __builtin_offsetof, so avoid
using this macro and use the builtin directly instead. This allows
removing a dependency on `<cstddef>`, which is heavier than we need.
Commit: 5edede2db09d38cbf9397edb9bfd43b92265f660
https://github.com/llvm/llvm-project/commit/5edede2db09d38cbf9397edb9bfd43b92265f660
Author: Tim Gymnich <tgymnich at icloud.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
A llvm/test/CodeGen/DirectX/sign.ll
Log Message:
-----------
[DXIL] Add sign intrinsic part 2 (#101988)
makes progress on #70078
### Changes
- Added `int_dx_sign` intrinsic in `IntrinsicsDirectX.td`
- Added expansion for `int_dx_sign in `DXILIntrinsicExpansion.cpp`
- Added DXIL backend test case
### Related PRs
- https://github.com/llvm/llvm-project/pull/101987
- https://github.com/llvm/llvm-project/pull/101989
Commit: 0818c2801ecc5cb07b680bb77e24df90f35c74b9
https://github.com/llvm/llvm-project/commit/0818c2801ecc5cb07b680bb77e24df90f35c74b9
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td
Log Message:
-----------
[WebAssembly] Simplify a switch-case in CFGStackify (NFC) (#107360)
This merges some `case`s using `[[fallthrough]]`, and make `DELEGATE` as
a separate `case`. (Previously the reason we didn't do that was not to
duplicate the code in `RewriteOperands`. But now that we've extracted it
into a lambda function in #107182 we can do it.
Commit: 18ad98e7947502da0c8f6dcbbf485bb34fe8d204
https://github.com/llvm/llvm-project/commit/18ad98e7947502da0c8f6dcbbf485bb34fe8d204
Author: Alex Langford <alangford at apple.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
Log Message:
-----------
[lldb] Fix a format string in ClangASTSource (#107325)
Without this, LLDB asserts when enabling the expression logs.
Commit: 91a3c6f3d66b866bcda8a0f7d4815bc8f2dbd86c
https://github.com/llvm/llvm-project/commit/91a3c6f3d66b866bcda8a0f7d4815bc8f2dbd86c
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/spillfill-sve.mir
Log Message:
-----------
[AArch64] Remove redundant COPY from loadRegFromStackSlot (#107396)
This removes a redundant 'COPY' instruction that #81716 probably forgot
to remove.
This redundant COPY led to an issue because because code in
LiveRangeSplitting expects that the instruction emitted by
`loadRegFromStackSlot` is an instruction that accesses memory, which
isn't the case for the COPY instruction.
Commit: 54194e1506bdd6dc37988678a8047ad4d48168fa
https://github.com/llvm/llvm-project/commit/54194e1506bdd6dc37988678a8047ad4d48168fa
Author: Michal Terepeta <michalt at google.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
Log Message:
-----------
[RISCV][SiFive7] Change `Latency` of VCIX to the default (#106497)
Currently we multiply the default (`SiFive7GetCyclesDefault`) by 10, but
this turns out to be both surprising to our users and leads to worse
codegen in most cases. I think it's more natural to just keep the
default.
In the end the right solution is probably to have a separate scheduling
model for a particular VCIX coprocessor.
Commit: cf2ecc7c1c24dee6e3b70a836474a5ac553829b3
https://github.com/llvm/llvm-project/commit/cf2ecc7c1c24dee6e3b70a836474a5ac553829b3
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
Log Message:
-----------
[LV] Remove over-aggressive assert from 3fe6a064f15c.
There are some cases where only the first operand is marked for
truncation. In that case, the compare won't be truncated which would
incorrectly trigger the assertion.
It also shows that the check pre 3fe6a064f15c also considered compares
truncated that cannot be truncated.
Commit: 311ac6381649fa0f7cc495db8fa697d6a9b43988
https://github.com/llvm/llvm-project/commit/311ac6381649fa0f7cc495db8fa697d6a9b43988
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/tools/c-arcmt-test/c-arcmt-test.c
M clang/tools/c-index-test/c-index-test.c
M llvm/include/llvm/Support/AutoConvert.h
M llvm/lib/Support/AutoConvert.cpp
M llvm/lib/Support/InitLLVM.cpp
M llvm/lib/Support/MemoryBuffer.cpp
M llvm/lib/Support/Unix/Path.inc
M llvm/lib/Support/Unix/Program.inc
M llvm/lib/Support/raw_ostream.cpp
M llvm/utils/count/count.c
Log Message:
-----------
[NFC][SystemZ][z/OS] Rename autoconversion-related functions to be less generic (#107399)
This patch renames the functions in AutoConvert.h/cpp to have a less
generic name because they are z/OS specific.
Commit: 5e25291b3c50873dbd0e2b3939b113bcff691460
https://github.com/llvm/llvm-project/commit/5e25291b3c50873dbd0e2b3939b113bcff691460
Author: vporpo <vporpodas at google.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/benchmarks/CMakeLists.txt
A llvm/benchmarks/SandboxIRBench.cpp
Log Message:
-----------
[SandboxIR][Bench] Initial patch for performance tracking (#107296)
This patch adds a new benchmark suite for SandboxIR. It measures the
performance of some of the most commonly used API functions and compares
it against LLVM IR.
Commit: 3815f478bb4f1c724d36044a4e0bbd3352313322
https://github.com/llvm/llvm-project/commit/3815f478bb4f1c724d36044a4e0bbd3352313322
Author: Matthias Springer <me at m-sp.org>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
M mlir/test/Dialect/Bufferization/Transforms/finalizing-bufferize.mlir
M mlir/test/Transforms/test-legalize-type-conversion.mlir
M mlir/test/Transforms/test-legalizer.mlir
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir][Transforms] Dialect conversion: Make materializations optional (#107109)
This commit makes source/target/argument materializations (via the
`TypeConverter` API) optional.
By default (`ConversionConfig::buildMaterializations = true`), the
dialect conversion infrastructure tries to legalize all unresolved
materializations right after the main transformation process has
succeeded. If at least one unresolved materialization fails to resolve,
the dialect conversion fails. (With an error message such as `failed to
legalize unresolved materialization ...`.) Automatic materializations
through the `TypeConverter` API can now be deactivated. In that case,
every unresolved materialization will show up as a
`builtin.unrealized_conversion_cast` op in the output IR.
There used to be a complex and error-prone analysis in the dialect
conversion that predicted the future uses of unresolved
materializations. Based on that logic, some casts (that were deemed to
unnecessary) were folded. This analysis was needed because folding
happened at a point of time when some IR changes (e.g., op replacements)
had not materialized yet.
This commit removes that analysis. Any folding of cast ops now happens
after all other IR changes have been materialized and the uses can
directly be queried from the IR. This simplifies the analysis
significantly. And certain helper data structures such as
`inverseMapping` are no longer needed for the analysis. The folding
itself is done by `reconcileUnrealizedCasts` (which also exists as a
standalone pass).
After casts have been folded, the remaining casts are materialized
through the `TypeConverter`, as usual. This last step can be deactivated
in the `ConversionConfig`.
`ConversionConfig::buildMaterializations = false` can be used to debug
error messages such as `failed to legalize unresolved materialization
...`. (It is also useful in case automatic materializations are not
needed.) The materializations that failed to resolve can then be seen as
`builtin.unrealized_conversion_cast` ops in the resulting IR. (This is
better than running with `-debug`, because `-debug` shows IR where some
IR changes have not been materialized yet.)
Note: This is a reupload of #104668, but with correct handling of cyclic
unrealized_conversion_casts that may be generated by the dialect
conversion.
Commit: ebc7f5578033248ce7de52a7f374332a2fc201aa
https://github.com/llvm/llvm-project/commit/ebc7f5578033248ce7de52a7f374332a2fc201aa
Author: Alex Rønne Petersen <alex at alexrp.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/test/MC/SystemZ/regs-bad.s
M llvm/test/MC/SystemZ/regs-good.s
Log Message:
-----------
[llvm][SystemZ] Fix parsing of `.cfi_undefined` with percent-less registers. (#107032)
This is just e3d658b applied to SystemZ.
An example of this being used in the wild:
https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/s390/s390-64/start.S;h=59eeb7e998227bdf32029cd074f0876c450404ea;hb=HEAD#l63
Commit: bedac64d36dce88ea25bd444c60eaac7d420550e
https://github.com/llvm/llvm-project/commit/bedac64d36dce88ea25bd444c60eaac7d420550e
Author: Alex Rønne Petersen <alex at alexrp.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
M llvm/test/MC/SystemZ/fixups.s
Log Message:
-----------
[llvm][SystemZ] Recognize `@GOTENT` modifier in assembler. (#107038)
Closes #105918.
I'm unsure if there are other places that need to be updated for this.
Commit: 797f01198e8b41982916ba02d703bd6a96b5347e
https://github.com/llvm/llvm-project/commit/797f01198e8b41982916ba02d703bd6a96b5347e
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/runtime/assign.cpp
M flang/test/Lower/OpenMP/DelayedPrivatization/equivalence.f90
M flang/test/Lower/OpenMP/copyin-order.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/copyprivate.f90
M flang/test/Lower/OpenMP/copyprivate2.f90
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-array.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-firstprivate.f90
M flang/test/Lower/OpenMP/delayed-privatization-array.f90
M flang/test/Lower/OpenMP/delayed-privatization-firstprivate.f90
M flang/test/Lower/OpenMP/implicit-dsa.f90
M flang/test/Lower/OpenMP/lastprivate-allocatable.f90
M flang/test/Lower/OpenMP/lastprivate-commonblock.f90
M flang/test/Lower/OpenMP/lastprivate-iv.f90
M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop-lastpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop.f90
M flang/test/Lower/OpenMP/sections.f90
M flang/test/Lower/OpenMP/single.f90
M flang/test/Lower/OpenMP/statement-function.f90
M flang/test/Lower/OpenMP/task.f90
M flang/test/Lower/OpenMP/task2.f90
Log Message:
-----------
[flang][OpenMP] Make lastprivate work with reallocated variables (#106559)
Fixes https://github.com/llvm/llvm-project/issues/100951
Commit: 4d819daab91f54b90365927ba4b40e5a2eff26a9
https://github.com/llvm/llvm-project/commit/4d819daab91f54b90365927ba4b40e5a2eff26a9
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
Log Message:
-----------
[compiler-rt] Simplify definition of uptr
We can rely on the compiler-provided macro __UINTPTR_TYPE__ for all
non-MSVC compilers. I verified via https://godbolt.org/z/MW9KMjv5f that
this works for MSVC as well as GCC 4.5 Clang 3.0, so that should cover
all supported compilers.
This means we no longer need to explicitly handle new architectures
and as an added bonus also adds support for architectures where
`unsigned long long` cannot be used to hold pointers (e.g. CHERI).
Reviewed By: mstorsjo, vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/106155
Commit: b2dbcf4dc1078fd62ef2295ff9696173a9991116
https://github.com/llvm/llvm-project/commit/b2dbcf4dc1078fd62ef2295ff9696173a9991116
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
Log Message:
-----------
[Presburger] Avoid repeated hash lookups (NFC) (#107426)
Commit: 7cf18ff22b626efb0dad6eb9daebea821faff438
https://github.com/llvm/llvm-project/commit/7cf18ff22b626efb0dad6eb9daebea821faff438
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
Log Message:
-----------
[LLVMIR] Avoid repeated hash lookups (NFC) (#107428)
Commit: 92e75c095bb380039f32218534f78c4580bf76e4
https://github.com/llvm/llvm-project/commit/92e75c095bb380039f32218534f78c4580bf76e4
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M flang/include/flang/Common/Fortran-features.h
M flang/lib/Semantics/check-io.cpp
M flang/module/__fortran_builtins.f90
A flang/test/Lower/CUDA/cuda-devptr.cuf
Log Message:
-----------
Reland [flang][cuda] Add c_devptr and bypass output semantic check (#107353)
Add a builtin type for c_devptr since it will need some special handling
for some function like c_f_pointer.
`c_ptr` is defined as a builtin type and was raising a semantic error if
you try to use it in a I/O statement. This patch add a check for c_ptr
and c_devptr to bypass the semantic check and allow the variables of
these types to be used in I/O.
This version of the patch keeps the semantic error when -pedantic is
enabled to align with gfortran.
Commit: d219c63b16851ba264b6495e3f63016d1c8b2aac
https://github.com/llvm/llvm-project/commit/d219c63b16851ba264b6495e3f63016d1c8b2aac
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/Expr.cpp
M clang/test/SemaCXX/source_location.cpp
Log Message:
-----------
[Clang] Fix crash with `source_location` in lambda declarators. (#107411)
Parsing lambdas require pushing a declaration context for the lambda, so
that parameters can be attached to it, before its trailing type is
parsed. DAt that point, partially-parsed lambda don't have a name that
can be computed for then.
This would cause source_location::current() to crash when use in the
decltype of a lambda().
We work around this by producing a source_location for an enclosing
scope in that scenario.
Fixes #67134
Commit: 18926666f509104c3f478444b282291ce19fab6a
https://github.com/llvm/llvm-project/commit/18926666f509104c3f478444b282291ce19fab6a
Author: SJW <48454132+sjw36 at users.noreply.github.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
Log Message:
-----------
[MLIR][SCF] Loop pipelining fails on failed predication (no assert) (#107442)
The SCFLoopPipelining allows predication on peeled or loop ops. When the
predicationFn returns a nullptr this signifies the op type is
unsupported and the pipeliner fails except in `emitPrologue` where it
asserts.
This patch fixes handling in the prologue to gracefully fail.
Commit: 3f1d0e1b1dfef0af0ca5f3315317246d0026fb70
https://github.com/llvm/llvm-project/commit/3f1d0e1b1dfef0af0ca5f3315317246d0026fb70
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M flang/lib/Semantics/expression.cpp
Log Message:
-----------
[flang] Silence warning in module file (#107421)
Most warnings should be silenced when processing the content of a module
file, since the warning should have also appeared when the module file
was generated. The case of an intrinsic type kind not being supported
for a target wasn't being suppressed; fix.
Fixes https://github.com/llvm/llvm-project/issues/107337.
Commit: 5e1e6a689c82aaf2b7af72e074c95889a11d3a78
https://github.com/llvm/llvm-project/commit/5e1e6a689c82aaf2b7af72e074c95889a11d3a78
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M mlir/lib/TableGen/Pattern.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#107429)
Commit: a0dd90eb7dc318c9b3fccb9ba02e1e22fb073094
https://github.com/llvm/llvm-project/commit/a0dd90eb7dc318c9b3fccb9ba02e1e22fb073094
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M lldb/include/lldb/Utility/Status.h
M lldb/source/API/SBDebugger.cpp
M lldb/source/API/SBTarget.cpp
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Commands/CommandObjectMemoryTag.cpp
M lldb/source/Commands/CommandObjectStats.cpp
M lldb/source/Commands/CommandObjectTrace.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Core/ThreadedCommunication.cpp
M lldb/source/Core/ValueObjectVTable.cpp
M lldb/source/Core/ValueObjectVariable.cpp
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Host/common/FileCache.cpp
M lldb/source/Host/common/NativeProcessProtocol.cpp
M lldb/source/Host/common/TCPSocket.cpp
M lldb/source/Host/macosx/objcxx/Host.mm
M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/source/Interpreter/OptionValueRegex.cpp
M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp
M lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.mm
M lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.cpp
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp
M lldb/source/Target/ModuleCache.cpp
M lldb/source/Target/Platform.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Utility/Scalar.cpp
M lldb/source/Utility/Status.cpp
M lldb/source/Utility/StructuredData.cpp
M lldb/unittests/TestingSupport/Host/NativeProcessTestUtils.h
M lldb/unittests/Utility/StatusTest.cpp
Log Message:
-----------
[lldb] Make conversions from llvm::Error explicit with Status::FromEr… (#107163)
…ror() [NFC]
Commit: 9df592fb806b77d5fb0c7a9d5c9057d1626587e3
https://github.com/llvm/llvm-project/commit/9df592fb806b77d5fb0c7a9d5c9057d1626587e3
Author: David Green <david.green at arm.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/zext-shuffle.ll
Log Message:
-----------
[AArch64] Fold away zext of extract of uzp. (#107367)
Similar to #107201, this comes up from the lowering of zext of
deinterleaving shuffles. Patterns such as ext(extract_subvector(uzp(a,
b))) can be converted to a simple and to perform the extract/zext from a
uzp1. Uzp2 can be handled with an extra shift, and due to the existing
legalization we could have and / shift between which can be combined in.
Mostly this reduces instruction count or increases the amount of
parallelism in the sequence.
Commit: 362da640dd18e2ef960e0d2198fe8378104c4119
https://github.com/llvm/llvm-project/commit/362da640dd18e2ef960e0d2198fe8378104c4119
Author: vporpo <vporpodas at google.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/benchmarks/SandboxIRBench.cpp
Log Message:
-----------
[SandboxIR][Bench] Test RAUW (#107440)
Commit: f32e5bdcefcff80f4296f8f4abedc37dcda36d53
https://github.com/llvm/llvm-project/commit/f32e5bdcefcff80f4296f8f4abedc37dcda36d53
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M llvm/include/llvm/Analysis/MLModelRunner.h
M llvm/include/llvm/ProfileData/CtxInstrContextNode.h
M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
M llvm/lib/Analysis/MLInlineAdvisor.cpp
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
Log Message:
-----------
[NFC] Rename the `Nr` abbreviation to `Num` (#107151)
It's more clear. (This isn't exhaustive).
Commit: 9de972e3e1ecea506a3884bd2fc47570ce83e4df
https://github.com/llvm/llvm-project/commit/9de972e3e1ecea506a3884bd2fc47570ce83e4df
Author: Ming-Yi Lai <ming-yi.lai at mediatek.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.h
Log Message:
-----------
[clang] Fix FnInfoOpts::operator&= and FnInfoOpts::operator|= not updating assigned operands (#107050)
This affects CodeGenTypes::arrangeCall. No test because the only current in-tree use of that function isn't affected.
Commit: 5515b086f35c2c1402234b9b94338f10fc9d16f7
https://github.com/llvm/llvm-project/commit/5515b086f35c2c1402234b9b94338f10fc9d16f7
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Utility/Status.h
M lldb/source/Expression/FunctionCaller.cpp
M lldb/source/Expression/LLVMUserExpression.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Utility/Status.cpp
Log Message:
-----------
Factor Process::ExecutionResultAsCString() into a global function (NFC)
Commit: 53d5ffea6be7216589599b6415c021f8bd13cd37
https://github.com/llvm/llvm-project/commit/53d5ffea6be7216589599b6415c021f8bd13cd37
Author: Fabian Parzefall <parzefall at meta.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/test/CodeGenCXX/vtable-available-externally.cpp
Log Message:
-----------
[clang] Check inline defs when emitting speculative vtable (#100785)
Clang should only emit an available_externally vtable when there are no
unused virtual inline functions. Currently, if such such a function is
declared without inline inside the class, but is defined inline outside
the class, Clang might emit the vtable as available_externally. This
happens because Clang only considers the declarations of vtable entries,
but not the definitions. This patch addresses this by inspecting the
definitions in addition to the declarations.
Commit: b798f4bd50bbf0f5eb46804afad10629797c73aa
https://github.com/llvm/llvm-project/commit/b798f4bd50bbf0f5eb46804afad10629797c73aa
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M lldb/bindings/python/python-swigsafecast.swig
M lldb/include/lldb/API/SBError.h
M lldb/include/lldb/API/SBValueList.h
M lldb/include/lldb/Core/ValueObjectConstResult.h
M lldb/include/lldb/Utility/Status.h
M lldb/source/API/SBBreakpoint.cpp
M lldb/source/API/SBBreakpointLocation.cpp
M lldb/source/API/SBBreakpointName.cpp
M lldb/source/API/SBDebugger.cpp
M lldb/source/API/SBError.cpp
M lldb/source/API/SBFile.cpp
M lldb/source/API/SBFormat.cpp
M lldb/source/API/SBFrame.cpp
M lldb/source/API/SBPlatform.cpp
M lldb/source/API/SBProcess.cpp
M lldb/source/API/SBSaveCoreOptions.cpp
M lldb/source/API/SBStructuredData.cpp
M lldb/source/API/SBTarget.cpp
M lldb/source/API/SBThread.cpp
M lldb/source/API/SBValue.cpp
M lldb/source/API/SBValueList.cpp
M lldb/source/API/SBWatchpoint.cpp
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/ModuleList.cpp
M lldb/source/Core/ValueObject.cpp
M lldb/source/Core/ValueObjectCast.cpp
M lldb/source/Core/ValueObjectConstResult.cpp
M lldb/source/Core/ValueObjectDynamicValue.cpp
M lldb/source/Core/ValueObjectSyntheticFilter.cpp
M lldb/source/Expression/Materializer.cpp
M lldb/source/Expression/UserExpression.cpp
M lldb/source/Host/common/LockFileBase.cpp
M lldb/source/Host/common/NativeProcessProtocol.cpp
M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/Platform/Android/AdbClient.cpp
M lldb/source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.cpp
M lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.h
M lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.mm
M lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
M lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Target/ModuleCache.cpp
M lldb/source/Target/Platform.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Utility/Status.cpp
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
M lldb/unittests/Target/RemoteAwarePlatformTest.cpp
Log Message:
-----------
[lldb] Make deep copies of Status explicit (NFC) (#107170)
Commit: 7b760894f247f4fa1b27c01c767c8599c169f996
https://github.com/llvm/llvm-project/commit/7b760894f247f4fa1b27c01c767c8599c169f996
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
Log Message:
-----------
[lldb] Convert NativeProcessLinux to new Status API (NFC)
Commit: 54b10555c32e9677ce15c408296f92b35cd3d29c
https://github.com/llvm/llvm-project/commit/54b10555c32e9677ce15c408296f92b35cd3d29c
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M openmp/docs/SupportAndFAQ.rst
Log Message:
-----------
[OpenMP] LIBOMPTARGET_DEVICE_ARCHITECTURES requires semicolons (#107454)
If I use commas to delimit architectures in
`LIBOMPTARGET_DEVICE_ARCHITECTURES`, cmake for the runtimes complains:
```
Unknown GPU architecture 'sm_70,sm_80,sm_90'
```
Semicolons are required instead.
Commit: 3b426a8951caa543b65f20ff265353fd79f436e5
https://github.com/llvm/llvm-project/commit/3b426a8951caa543b65f20ff265353fd79f436e5
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
Log Message:
-----------
[lldb] Convert NativeProcessLinux to new Status API (NFC)
Commit: 3726f9c57537aff05bd6ecf309133ce05bebaf43
https://github.com/llvm/llvm-project/commit/3726f9c57537aff05bd6ecf309133ce05bebaf43
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll
M llvm/test/Transforms/Attributor/IPConstantProp/2009-09-24-byval-ptr.ll
M llvm/test/Transforms/Attributor/IPConstantProp/return-constants.ll
M llvm/test/Transforms/Attributor/assumes_info.ll
M llvm/test/Transforms/Attributor/cb_liveness_disabled.ll
M llvm/test/Transforms/Attributor/cb_liveness_enabled.ll
M llvm/test/Transforms/Attributor/phi_bug_pointer_info.ll
M llvm/test/Transforms/Attributor/value-simplify-local-remote.ll
M llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll
Log Message:
-----------
[Attributor][NFC] Pre-commits for #107439 (#107457)
Commit: 4ce8808dd96dd6f1380c4e27c04ff0a0a0fed12b
https://github.com/llvm/llvm-project/commit/4ce8808dd96dd6f1380c4e27c04ff0a0a0fed12b
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
Log Message:
-----------
[AMDGPU] Common up default value of -amdgpu-nsa-threshold. NFC.
The default value of 3 was specified in two places. Use the actual value
of the cl::init to avoid repeating it.
Commit: e6dece9f6947a50c36f714d3fc0d86c6ad9acc9b
https://github.com/llvm/llvm-project/commit/e6dece9f6947a50c36f714d3fc0d86c6ad9acc9b
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll
Log Message:
-----------
[Attributor][FIX] Mark "may" accesses through call sites as such (#107439)
Before, we kept the call site access kind (may/must) when we translated
the access. However, the pointer we access it through (by passing it to
the callee) might not be the underlying object. We have similar logic
when we add store and load accesses.
Commit: 08533a3ee8f3a09a59cf6ac3be59198b26b7f739
https://github.com/llvm/llvm-project/commit/08533a3ee8f3a09a59cf6ac3be59198b26b7f739
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M offload/DeviceRTL/CMakeLists.txt
M offload/DeviceRTL/include/Allocator.h
M offload/DeviceRTL/include/Configuration.h
A offload/DeviceRTL/include/DeviceTypes.h
A offload/DeviceRTL/include/DeviceUtils.h
M offload/DeviceRTL/include/Interface.h
M offload/DeviceRTL/include/LibC.h
M offload/DeviceRTL/include/Mapping.h
M offload/DeviceRTL/include/State.h
M offload/DeviceRTL/include/Synchronization.h
R offload/DeviceRTL/include/Types.h
R offload/DeviceRTL/include/Utils.h
M offload/DeviceRTL/src/Allocator.cpp
M offload/DeviceRTL/src/Configuration.cpp
M offload/DeviceRTL/src/Debug.cpp
A offload/DeviceRTL/src/DeviceUtils.cpp
M offload/DeviceRTL/src/Kernel.cpp
M offload/DeviceRTL/src/Mapping.cpp
M offload/DeviceRTL/src/Misc.cpp
M offload/DeviceRTL/src/Parallelism.cpp
M offload/DeviceRTL/src/Reduction.cpp
M offload/DeviceRTL/src/State.cpp
M offload/DeviceRTL/src/Synchronization.cpp
M offload/DeviceRTL/src/Tasking.cpp
R offload/DeviceRTL/src/Utils.cpp
M offload/DeviceRTL/src/Workshare.cpp
A offload/include/Shared/RefCnt.h
A offload/include/Shared/Types.h
M offload/include/Shared/Utils.h
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/GlobalHandler.cpp
M offload/plugins-nextgen/common/src/JIT.cpp
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/src/DeviceImage.cpp
M offload/src/omptarget.cpp
Log Message:
-----------
[Offload][NFC] Reorganize `utils::` and make Device/Host/Shared clearer (#100280)
We had three `utils::` namespaces, all with different "meaning" (host,
device, hsa_utils). We should, when we can, keep "include/Shared"
accessible from host and device, thus RefCountTy has been moved to a
separate header. `hsa_utils` was introduced to make `utils::` less
overloaded. And common functionality was de-duplicated, e.g.,
`utils::advance` and `utils::advanceVoidPtr` -> `utils:advancePtr`. Type
punning now checks for the size of the result to make sure it matches
the source type.
No functional change was intended.
Commit: 84bf0da34dd020090e05816fcbda305d1f422c27
https://github.com/llvm/llvm-project/commit/84bf0da34dd020090e05816fcbda305d1f422c27
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/Transforms/Attributor/IPConstantProp/PR26044.ll
M llvm/test/Transforms/Attributor/align.ll
M llvm/test/Transforms/Attributor/memory_locations.ll
M llvm/test/Transforms/Attributor/range.ll
M llvm/test/Transforms/Attributor/read_write_returned_arguments_scc.ll
M llvm/test/Transforms/Attributor/returned.ll
M llvm/test/Transforms/OpenMP/replace_globalization.ll
Log Message:
-----------
[Attributor][FIX] Ensure to always translate call site arguments (#107323)
When we propagate call site arguments we always need to translate them,
this is important as we ended up picking the function argument for a
recurisve call not the call site argument. `@recBad` and `@recGood` in
`returned.ll` show the problem as they used to transform them the same
way. The restructuring cleans the code up and helps derive more
"returned" arguments and better information in the presence of recursive
calls. The "dropped" attributes are simply dropped because we do not
query them anymore, not because we cannot derive them.
Commit: 52dca6ffae08fcd86cff32ab469870016a6aceb5
https://github.com/llvm/llvm-project/commit/52dca6ffae08fcd86cff32ab469870016a6aceb5
Author: vporpo <vporpodas at google.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
A llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
A llvm/test/Transforms/SandboxVectorizer/boilerplate.ll
Log Message:
-----------
[SandboxVec] Boilerplate (#107431)
This patch implements the new pass and registers it with the pass
manager. For context, this is a vectorizer that operates on Sandbox IR,
which is a transactional IR on top of LLVM IR.
Commit: 4634a480e0e5aa3116b397369fe3877a8dfe4dc0
https://github.com/llvm/llvm-project/commit/4634a480e0e5aa3116b397369fe3877a8dfe4dc0
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/common.cpp
M compiler-rt/lib/scudo/standalone/common.h
M compiler-rt/lib/scudo/standalone/linux.cpp
M compiler-rt/lib/scudo/standalone/platform.h
M compiler-rt/lib/scudo/standalone/release.h
Log Message:
-----------
[scudo] Add a method to use a hard-coded page size (#106646)
Currently, only Android supports using a hard-code page size. Make this
a bit more generic so any platform that wants to can use this.
In addition, add a getPageSizeLogCached() function since this value is
used in release.h and can avoid keeping this value around in objects.
Finally, change some of the release.h page size multiplies to shifts
using the new page size log value.
Commit: 247d3ea843cb20d8d75ec781cd603c8ececf8934
https://github.com/llvm/llvm-project/commit/247d3ea843cb20d8d75ec781cd603c8ececf8934
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
Log Message:
-----------
[SLP] Expand non-power-of-two bailout in TryToFindDuplicates
This fixes a crash noticed when doing a downstream merge. The
test case has been reduced, and is included in this commit.
The existing bailout for non-power-of-two vectors in TryToFindDuplicates
did not consider the case where the list being vectorized had no
root node. This allowed reshuffled scalars to slip through to code
which does not yet expect to handle it.
This was an existing bug (likely introduced by my ed03070e), but
made easier to hit by 63e8a1b1
Commit: 24684bb4a9791145a36a97477eb1fd525a122d8e
https://github.com/llvm/llvm-project/commit/24684bb4a9791145a36a97477eb1fd525a122d8e
Author: Evgenii Stepanov <eugeni.stepanov at gmail.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/fsanitize.c
M clang/test/Driver/fuchsia.c
Log Message:
-----------
[sanitizer] Delay sanitizer args parsing (#107280)
Delay sanitizer arg parsing until after -Xclang flags are forwarded to
the clang command line. This allows the check in hasTargetFeatureMTE to
pick up manually specified target feature, and enables the following:
-march=armv8-a -Xclang -target-feature -Xclang +mte
-fsanitize=memtag-stack
Commit: 3836d4acccbe87216133d08d75df509e95c291f0
https://github.com/llvm/llvm-project/commit/3836d4acccbe87216133d08d75df509e95c291f0
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M lldb/source/Host/windows/ConnectionGenericFileWindows.cpp
Log Message:
-----------
[lldb] Convert ConnectionGenericFileWindows.cpp to new Status API (NFC)
Commit: f00c946c2da0caf6da4a49e87ac905a8b1d2e8b6
https://github.com/llvm/llvm-project/commit/f00c946c2da0caf6da4a49e87ac905a8b1d2e8b6
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M lldb/source/Host/windows/MainLoopWindows.cpp
Log Message:
-----------
[lldb] Convert MainLoopWindows.cpp to new Status API (NFC)
Commit: 64498c54831bed9cf069e0923b9b73678c6451d8
https://github.com/llvm/llvm-project/commit/64498c54831bed9cf069e0923b9b73678c6451d8
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M lld/ELF/InputFiles.cpp
M lld/include/lld/Common/CommonLinkerContext.h
Log Message:
-----------
[LTO][ELF][lld] Use unique string saver in ELF bitcode symbol parsing (#106670)
lld ELF
[BitcodeFile](https://github.com/llvm/llvm-project/blob/a527248a3c2d638b0c92a06992f3f1c1f80842ad/lld/ELF/InputFiles.h#L328)
uses [string
saver](https://github.com/llvm/llvm-project/blob/a527248a3c2d638b0c92a06992f3f1c1f80842ad/lld/include/lld/Common/CommonLinkerContext.h#L57)
to keep copies of bitcode symbols. Symbol duplication is very common
when compiling application binaries.
This change proposes to introduce a UniqueStringSaver in lld context and
use it for bitcode symbol parsing. The implementation covers ELF only.
Similar opportunities should exist on other (COFF, MachO, wasm) formats.
For an internal production binary where lto indexing takes ~10GiB
originally, this changes optimizes away ~800MiB (~7.8%), measured by
https://github.com/google/pprof. Flame graph breaks down memory by usage
call stacks and agrees with this measurement.
Commit: 50be455ab88b17872cd620698156b4058dc92f58
https://github.com/llvm/llvm-project/commit/50be455ab88b17872cd620698156b4058dc92f58
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/test/TableGen/intrinsic-struct.td
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.h
Log Message:
-----------
[TableGen] Add check for number of intrinsic return values (#107326)
Fail if we see an intrinsic that returns more than the supported number
of return values.
Intrinsics can return only upto a certain nyumber of values, as defined
by the `IIT_RetNumbers` list in `Intrinsics.td`. Currently, if we define
an intrinsic that exceeds the limit, llvm-tblgen crashes. Instead, read
this limit and fail if it's exceeded with a proper error message.
Commit: 3380dae2f0d6b8035744da573c4508b98c80045c
https://github.com/llvm/llvm-project/commit/3380dae2f0d6b8035744da573c4508b98c80045c
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M lld/MachO/BPSectionOrderer.cpp
Log Message:
-----------
[lld][InstrProf] Refactor BPSectionOrderer.cpp (#107347)
Refactor some code in `BPSectionOrderer.cpp` in preparation for
https://github.com/llvm/llvm-project/pull/107348.
* Rename `constructNodesForCompression()` -> `getUnsForCompression()`
and return a `SmallVector` directly rather than populating a vector
alias
* Pass `duplicateSectionIdxs` as a pointer to make it possible to skip
finding (nearly) duplicate sections
* Combine `duplicate{Function,Data}SectionIdxs` into one variable
* Compute all `BPFunctionNode` vectors at the end (like
`nodesForStartup`)
There should be no functional change.
Commit: 7ea9f0d85fc3dc80b45e6ba7087c41c6f2481f07
https://github.com/llvm/llvm-project/commit/7ea9f0d85fc3dc80b45e6ba7087c41c6f2481f07
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
Log Message:
-----------
[SandboxVec][NFC] Remove unused header files
Commit: 73514f6831cfcea49f33fb9e31db0141b05532f2
https://github.com/llvm/llvm-project/commit/73514f6831cfcea49f33fb9e31db0141b05532f2
Author: wldfngrs <wldfngrs at gmail.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/sighandler_t.h
M libc/src/signal/linux/signal.cpp
M libc/src/signal/signal.h
M libc/test/src/signal/CMakeLists.txt
M libc/test/src/signal/signal_test.cpp
Log Message:
-----------
[libc] Add proxy header for __sighandler_t type (#107354)
Added proxy headers for __sighandler_t type, modified the corresponding
CMakeLists.txt files and test files
Commit: e44a67543c0b6a3a2307362f5bbcf54cd6de6a8e
https://github.com/llvm/llvm-project/commit/e44a67543c0b6a3a2307362f5bbcf54cd6de6a8e
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.err.ll
Log Message:
-----------
AMDGPU: Add a few unsupported checks for llvm.fptrunc.round intrinsic (#107330)
A check here can be removed when we implement support for the
corresponding types/mode.
Commit: 1e98aa4730b1b3b93205af74be26e04d5f876d10
https://github.com/llvm/llvm-project/commit/1e98aa4730b1b3b93205af74be26e04d5f876d10
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M lldb/source/Host/windows/ConnectionGenericFileWindows.cpp
Log Message:
-----------
[lldb] Convert ConnectionGenericFileWindows.cpp to new Status API (NFC)
Commit: bd840a40042c2c67f56079493d0bcdbfc70325ba
https://github.com/llvm/llvm-project/commit/bd840a40042c2c67f56079493d0bcdbfc70325ba
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SMInstructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.prefetch.data.ll
Log Message:
-----------
[AMDGPU] Add target intrinsic for s_prefetch_data (#107133)
Commit: c1c42518c1356e78a10bf252a4a5a643b2bb9efd
https://github.com/llvm/llvm-project/commit/c1c42518c1356e78a10bf252a4a5a643b2bb9efd
Author: vporpo <vporpodas at google.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
A llvm/test/Transforms/SandboxVectorizer/X86/no_implicit_float.ll
Log Message:
-----------
[SandboxVec] Early return checks (#107465)
This patch implements a couple of early return checks.
Commit: 169d453429ca9015046b42719ff5d13cda5d2c6f
https://github.com/llvm/llvm-project/commit/169d453429ca9015046b42719ff5d13cda5d2c6f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/include/llvm/ADT/SmallVector.h
M llvm/lib/Support/SmallVector.cpp
Log Message:
-----------
[ADT] Declare replaceAllocation in SmallVector.cpp (NFC) (#107469)
This patch changes replaceAllocation to a static function while moving
the declaration to SmallVector.cpp. Note that:
- replaceAllocation is used only within SmallVector.cpp.
- replaceAllocation doesn't access any class members.
Commit: 6d3725924fe6adf0d490697327938de9c3516cbe
https://github.com/llvm/llvm-project/commit/6d3725924fe6adf0d490697327938de9c3516cbe
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/misc/const-correctness.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/unconventional-assign-operator.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/avoid-nested-conditional-operator.rst
Log Message:
-----------
[clang-tidy][NFC] remove autosar link in documents (#107412)
As discussion in
https://discourse.llvm.org/t/clang-tidy-rfc-add-autosar-c-14-clang-tidy-module/59223/12.
We should not link clang-tidy check with AUTOSAR rules.
Commit: c8834527b729c8c89f453d215e667047fd948aa1
https://github.com/llvm/llvm-project/commit/c8834527b729c8c89f453d215e667047fd948aa1
Author: Tai Ly <tai.ly at arm.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/Utils/ConversionUtils.h
M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeTransposeConv.cpp
M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
Log Message:
-----------
[TOSA] Move CreateOpAndInfer into ConversionUtils.h (#106122)
This moves CreateOpAndInfer from TF legalize_util.h into
ConversionUtils.h
also removed duplicate createOpAndInfer function from
TosaDecomposeTransposeConv.cpp
Renamed to CreateOpAndInferShape so we can upstream this independently
of tensorflow (otherwise a redefinition error would break TF compile if
not upstreamed together with removal of CreateOpAndInfer in TF)
---------
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: 67fb8d15c993f5695cf944b16022a9ee49b9252d
https://github.com/llvm/llvm-project/commit/67fb8d15c993f5695cf944b16022a9ee49b9252d
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
Log Message:
-----------
[lldb] Convert ProcessDebugger.cpp to new Status API (NFC)
Commit: e0a93d3505bf6b4c87e819db7a871e0ce4d4100c
https://github.com/llvm/llvm-project/commit/e0a93d3505bf6b4c87e819db7a871e0ce4d4100c
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
Log Message:
-----------
[lldb] Convert ProcessWindows.cpp to new Status API (NFC)
Commit: 1be9a80768a03ea9bd2bfbb03762b2bc3c350007
https://github.com/llvm/llvm-project/commit/1be9a80768a03ea9bd2bfbb03762b2bc3c350007
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/test/Dialect/Affine/scalrep.mlir
Log Message:
-----------
[mlir][affine] Fix the crash due to the simultaneous replacement store (#90829)
`AffineScalarReplacement` should forward the memref store op to load op
only if the store op reaches the load. But it now checks the
reachability only if these ops are in the same block, which causes the
crash reported in https://github.com/llvm/llvm-project/issues/76309.
We need to check the reachability even if they are both in the same
block, which rescues the case where consecutive store operations are
written before the load op.
Commit: d1756165a9066f907b88d51dd8e3ffee15a8cc1e
https://github.com/llvm/llvm-project/commit/d1756165a9066f907b88d51dd8e3ffee15a8cc1e
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M lld/MachO/Arch/ARM64.cpp
M lld/MachO/Config.h
M lld/MachO/Driver.cpp
M lld/MachO/ICF.cpp
M lld/MachO/InputSection.cpp
M lld/MachO/InputSection.h
M lld/MachO/MapFile.cpp
M lld/MachO/Symbols.cpp
M lld/MachO/Symbols.h
M lld/MachO/SyntheticSections.cpp
M lld/MachO/Target.h
A lld/test/MachO/icf-safe-thunks.ll
Log Message:
-----------
[lld-macho][arm64] Enhance safe ICF with thunk-based deduplication (#106573)
Currently, our `safe` ICF mode only merges non-address-significant code,
leaving duplicate address-significant functions in the output. This
patch introduces `safe_thunks` ICF mode, which keeps a single master
copy of each function and replaces address-significant duplicates with
thunks that branch to the master copy.
Currently `--icf=safe_thunks` is only supported for `arm64`
architectures.
**Perf stats for a large binary:**
| ICF Option | Total Size | __text Size | __unwind_info | % total |
|-------------------|------------|-------------|---------------------|---------------------------|
| `--icf=none` | 91.738 MB | 55.220 MB | 1.424 MB | 0% |
| `--icf=safe` | 85.042 MB | 49.572 MB | 1.168 MB | 7.30% |
| `--icf=safe_thunks` | 84.650 MB | 49.219 MB | 1.143 MB | 7.72% |
| `--icf=all` | 82.060 MB | 48.726 MB | 1.111 MB | 10.55% |
So overall we can expect a `~0.45%` binary size reduction for a typical
large binary compared to the `--icf=safe` option.
**Runtime:**
Linking the above binary took ~10 seconds. Comparing the link
performance of --icf=safe_thunks vs --icf=safe, a ~2% slowdown was
observed.
Commit: b525ead65c224cd2e73298c7a735f8136a926c35
https://github.com/llvm/llvm-project/commit/b525ead65c224cd2e73298c7a735f8136a926c35
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[SandboxIR] Add bazel support (#107486)
Commit: d7dd2c468fecae871ba67e891a3519c758c94b63
https://github.com/llvm/llvm-project/commit/d7dd2c468fecae871ba67e891a3519c758c94b63
Author: ziqingluo-90 <ziqing_luo at apple.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions-inline-namespace.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-test-unreachable.cpp
Log Message:
-----------
Re-land "[-Wunsafe-buffer-usage] Warning Libc functions (#101583)"
Revert commit 23457964392d00fc872fa6021763859024fb38da, and re-land
with a new flag "-Wunsafe-buffer-usage-in-libc-call" for the new
warning.
(rdar://117182250)
Commit: a84baef74892dc294eb65bb2a1ea2339be13e8b2
https://github.com/llvm/llvm-project/commit/a84baef74892dc294eb65bb2a1ea2339be13e8b2
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
Log Message:
-----------
[gn build] Port 52dca6ffae08
Commit: 2949720c2e55d2695682d6412d5afe45b167cb1e
https://github.com/llvm/llvm-project/commit/2949720c2e55d2695682d6412d5afe45b167cb1e
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-to-vmv.mir
Log Message:
-----------
[RISCV] Move vmerge same mask peephole to RISCVVectorPeephole (#106108)
We currently fold a vmerge.vvm into its true operand if the true operand
is a masked pseudo with the same mask.
We can move this over to RISCVVectorPeephole by instead splitting it up
into a smaller peephole which converts it to a vmv.v.v first. The
existing foldVMV_V_V peephole will then take care of folding it if
needed.
This is very similar to the existing all-ones mask peephole and we could
potentially do it inside of it. I opted to put it in a separate peephole
to make it easier to reason about, given that the duplication is small,
but I could be persuaded either way.
Commit: 11084c5c49f8bb7825f81adc5b7140b3506fe253
https://github.com/llvm/llvm-project/commit/11084c5c49f8bb7825f81adc5b7140b3506fe253
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
Log Message:
-----------
[lldb] Convert DebuggerThread.cpp to new Status API (NFC)
Commit: 16df489fdae23e77eb5180e4d4dc99b07421bf77
https://github.com/llvm/llvm-project/commit/16df489fdae23e77eb5180e4d4dc99b07421bf77
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangSyntaxEmitter.cpp
M llvm/include/llvm/TableGen/DirectiveEmitter.h
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
M llvm/utils/TableGen/Common/SubtargetFeatureInfo.cpp
M llvm/utils/TableGen/Common/SubtargetFeatureInfo.h
M llvm/utils/TableGen/ExegesisEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
M llvm/utils/TableGen/TableGen.cpp
M mlir/include/mlir/TableGen/GenInfo.h
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/tools/mlir-tblgen/OmpOpGen.cpp
M mlir/tools/mlir-tblgen/OpDocGen.cpp
M mlir/tools/mlir-tblgen/OpInterfacesGen.cpp
M mlir/tools/mlir-tblgen/RewriterGen.cpp
M mlir/tools/tblgen-to-irdl/OpDefinitionsGen.cpp
Log Message:
-----------
[TableGen] Add const variants of accessors for backend (#106658)
Split RecordKeeper `getAllDerivedDefinitions` family of functions into
two variants:
(a) non-const ones that return vectors of `Record *` and
(b) const ones, that return vector/ArrayRef of `const Record *`.
This will help gradual migration of TableGen backends to use
`const RecordKeeper` and by implication change code to work
with const pointers and better const correctness.
Existing backends are not yet compatible with the const family of
functions, so change them to use a non-constant `RecordKeeper`
reference, till they are migrated.
Commit: 616a8ce6203d8c7569266bfaf163e74df1f440ad
https://github.com/llvm/llvm-project/commit/616a8ce6203d8c7569266bfaf163e74df1f440ad
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Correctly annotate braces in macro definition (#107352)
Also add a test case for #107096.
Fixes #106418.
Commit: c02fd17c1e20615c9e6174a3f8ad4ef0ec5ebbec
https://github.com/llvm/llvm-project/commit/c02fd17c1e20615c9e6174a3f8ad4ef0ec5ebbec
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
Log Message:
-----------
[mlir] [scf] fix crash when conversion from scf to control flow (#107221)
This patch fixed a crash when scf.parallel's region donesn't terminate
with reduce op. This can happend in dialect conversion.
Commit: 33ceb2dd7596a05277fd246865862df6b03cf976
https://github.com/llvm/llvm-project/commit/33ceb2dd7596a05277fd246865862df6b03cf976
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
Log Message:
-----------
[clang-tidy] Avoid repeated hash lookups (NFC) (#107490)
Commit: 144314eaa5ca7f44817cf0ac162dbd17a5d88391
https://github.com/llvm/llvm-project/commit/144314eaa5ca7f44817cf0ac162dbd17a5d88391
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLPVectorizer] Avoid repeated hash lookups (NFC) (#107491)
Commit: 5acd9d11373ca67f0d4baf17a78ebb56193a7df0
https://github.com/llvm/llvm-project/commit/5acd9d11373ca67f0d4baf17a78ebb56193a7df0
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
Log Message:
-----------
[clang][scan] Report module dependencies in topological order (#107474)
Commit: ede40da1f8c1e91601b985cd32ad785aa8806880
https://github.com/llvm/llvm-project/commit/ede40da1f8c1e91601b985cd32ad785aa8806880
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/invalid.mlir
Log Message:
-----------
[mlir][tensor] Add check for indices of `tensor.gather` (#106894)
This patch add a check for indices of `tensor.gather` and
`tensor.scatter`. For that the length of gather_dims/scatter_dims should
match the size of last dimension of the indices. Fix #94901.
Commit: 8e35c86977ce5529a9387657321ac9fefcdae5b5
https://github.com/llvm/llvm-project/commit/8e35c86977ce5529a9387657321ac9fefcdae5b5
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/HLSL/RWBuffer-AST.hlsl
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/ParserHLSL/hlsl_is_rov_attr.hlsl
M clang/test/ParserHLSL/hlsl_is_rov_attr_error.hlsl
M clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
M clang/test/ParserHLSL/hlsl_resource_class_attr_error.hlsl
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_resource.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_udt.hlsl
Log Message:
-----------
[HLSL] Apply resource attributes to the resource type rather than the handle member (#107160)
Converts existing resource attributes `[[hlsl::resource_class(..)]]` and
`[[is_rov]]` from declaration attributes to type attributes.
During type attribute processing all HLSL resource type attributes are
validated and collected by `SemaHLSL`
(`SemaHLSL::handleResourceTypeAttr`). At the end of the declaration they
are be combined into a single `HLSLAttributedResourceType` instance
(`SemaHLSL::ProcessResourceTypeAttributes`) that wraps the original type
and stores all of the necessary information about the resource.
`SemaHLSL` will also need to short-term-store the `TypeLoc` information
for the newly created type that will be grabbed by `TypeSpecLocFiller`
soon after it is created.
Updates all places that expected resource attributes on declarations
like resource binding diagnostic, builtin types in
HLSLExternalSemaSource, or codegen.
Also includes implementation of
`TreeTransform<Derived>::TransformHLSLAttributedResourceType` that
enables the use of attributed resource types inside templates.
Fixes #104861
Part 2/2
Commit: 77f1b481b884621c12cde5f2ce6f080f11dbbbcc
https://github.com/llvm/llvm-project/commit/77f1b481b884621c12cde5f2ce6f080f11dbbbcc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/CodeGenCommonISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/X86/is_fpclass.ll
Log Message:
-----------
DAG: Lower single infinity is.fpclass tests to fcmp (#100380)
InstCombine also should have taken care of this, but this
should be helpful when the fcmp based lowering strategy tries
to combine multiple tests.
Commit: 093b8bfe6b64c916647ae64af8066df22bb6ea65
https://github.com/llvm/llvm-project/commit/093b8bfe6b64c916647ae64af8066df22bb6ea65
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
A llvm/lib/Target/RISCV/RISCVCallingConv.cpp
A llvm/lib/Target/RISCV/RISCVCallingConv.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
Log Message:
-----------
[RISCV] Separate the calling convention handlers into their own file. NFC (#107484)
These are used by both SelectionDAG and GlobalISel and are separate from
RISCVTargetLowering.
Having a separate file is how other targets are structured. Though other
targets generate most of their calling convention code through tablegen.
I moved the `CC_RISV` functions from the `llvm::RISCV` namespace to
`llvm::`. That's what the tablegen code on other targets does and the
functions already have RISCV in their name. `RISCVCCAssignFn` is moved
from `RISCVTargetLowering` to the `llvm` namespace.
Commit: dcfa147c9d9569ea44cb0f0b6981f69a62b87f71
https://github.com/llvm/llvm-project/commit/dcfa147c9d9569ea44cb0f0b6981f69a62b87f71
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
Log Message:
-----------
[gn build] Port 093b8bfe6b64
Commit: 24267a7e14b35f41ab55e15ba12bb80c82881941
https://github.com/llvm/llvm-project/commit/24267a7e14b35f41ab55e15ba12bb80c82881941
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIModeRegister.cpp
M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.err.ll
M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
Log Message:
-----------
AMDGPU: Add f64 to f32 support for llvm.fptrunc.round (#107481)
Commit: ddf40e0132cdfb9443e8dce9ca18d4f5595fb73c
https://github.com/llvm/llvm-project/commit/ddf40e0132cdfb9443e8dce9ca18d4f5595fb73c
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/test/Shell/SymbolFile/DWARF/x86/type-definition-search.cpp
Log Message:
-----------
[lldb] Correctly reconstruct simplified names for type units (#107240)
We need to resolve the type signature to get a hold of the template
argument dies.
The associated test case passes even without this patch, but it only
does it by accident (because the subsequent code considers the types to
be in an anonymous namespace and this not subject to uniqueing). This
will change once my other patch starts resolving names correctly.
Commit: 9c72a308d839a27ffcbb0c67104baceb1871c50e
https://github.com/llvm/llvm-project/commit/9c72a308d839a27ffcbb0c67104baceb1871c50e
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang][ASTImporter] New fix for default template parameter values. (#101836)
Commit e4440b8 added a change that introduced new crash in an
incorrectly handled case. This is fixed here. Default argument
definition or inheritance is preserved in the "To" AST compared to
the "From". If the default argument is defined already in the "To"
AST it can be duplicated at the import.
Commit: 6fb39e496411a64af8fa5484385ef3ff42d2a5f4
https://github.com/llvm/llvm-project/commit/6fb39e496411a64af8fa5484385ef3ff42d2a5f4
Author: Patryk Wychowaniec <pwychowaniec at pm.me>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/test/MC/AVR/hex-immediates.s
M llvm/test/MC/AVR/inst-adc.s
M llvm/test/MC/AVR/inst-add.s
M llvm/test/MC/AVR/inst-adiw.s
M llvm/test/MC/AVR/inst-and.s
M llvm/test/MC/AVR/inst-andi.s
M llvm/test/MC/AVR/inst-asr.s
M llvm/test/MC/AVR/inst-bld.s
M llvm/test/MC/AVR/inst-brbc.s
M llvm/test/MC/AVR/inst-brbs.s
M llvm/test/MC/AVR/inst-brcc.s
M llvm/test/MC/AVR/inst-brcs.s
M llvm/test/MC/AVR/inst-break.s
M llvm/test/MC/AVR/inst-breq.s
M llvm/test/MC/AVR/inst-brge.s
M llvm/test/MC/AVR/inst-brhc.s
M llvm/test/MC/AVR/inst-brhs.s
M llvm/test/MC/AVR/inst-brid.s
M llvm/test/MC/AVR/inst-brie.s
M llvm/test/MC/AVR/inst-brlo.s
M llvm/test/MC/AVR/inst-brlt.s
M llvm/test/MC/AVR/inst-brmi.s
M llvm/test/MC/AVR/inst-brne.s
M llvm/test/MC/AVR/inst-brpl.s
M llvm/test/MC/AVR/inst-brsh.s
M llvm/test/MC/AVR/inst-brtc.s
M llvm/test/MC/AVR/inst-brts.s
M llvm/test/MC/AVR/inst-brvc.s
M llvm/test/MC/AVR/inst-brvs.s
M llvm/test/MC/AVR/inst-bst.s
M llvm/test/MC/AVR/inst-call.s
M llvm/test/MC/AVR/inst-cbi.s
M llvm/test/MC/AVR/inst-cbr.s
M llvm/test/MC/AVR/inst-clr.s
M llvm/test/MC/AVR/inst-com.s
M llvm/test/MC/AVR/inst-cp.s
M llvm/test/MC/AVR/inst-cpc.s
M llvm/test/MC/AVR/inst-cpi.s
M llvm/test/MC/AVR/inst-cpse.s
M llvm/test/MC/AVR/inst-dec.s
M llvm/test/MC/AVR/inst-des.s
M llvm/test/MC/AVR/inst-eicall.s
M llvm/test/MC/AVR/inst-eijmp.s
M llvm/test/MC/AVR/inst-elpm.s
M llvm/test/MC/AVR/inst-eor.s
M llvm/test/MC/AVR/inst-family-set-clr-flag.s
M llvm/test/MC/AVR/inst-fmul.s
M llvm/test/MC/AVR/inst-fmuls.s
M llvm/test/MC/AVR/inst-fmulsu.s
M llvm/test/MC/AVR/inst-icall.s
M llvm/test/MC/AVR/inst-ijmp.s
M llvm/test/MC/AVR/inst-in.s
M llvm/test/MC/AVR/inst-inc.s
M llvm/test/MC/AVR/inst-jmp.s
M llvm/test/MC/AVR/inst-lac.s
M llvm/test/MC/AVR/inst-las.s
M llvm/test/MC/AVR/inst-lat.s
M llvm/test/MC/AVR/inst-ld.s
M llvm/test/MC/AVR/inst-ldd.s
M llvm/test/MC/AVR/inst-ldi.s
M llvm/test/MC/AVR/inst-lds.s
M llvm/test/MC/AVR/inst-lpm.s
M llvm/test/MC/AVR/inst-lsl.s
M llvm/test/MC/AVR/inst-lsr.s
M llvm/test/MC/AVR/inst-mov.s
M llvm/test/MC/AVR/inst-movw.s
M llvm/test/MC/AVR/inst-mul.s
M llvm/test/MC/AVR/inst-muls.s
M llvm/test/MC/AVR/inst-mulsu.s
M llvm/test/MC/AVR/inst-neg.s
M llvm/test/MC/AVR/inst-nop.s
M llvm/test/MC/AVR/inst-or.s
M llvm/test/MC/AVR/inst-ori.s
M llvm/test/MC/AVR/inst-out.s
M llvm/test/MC/AVR/inst-pop.s
M llvm/test/MC/AVR/inst-push.s
M llvm/test/MC/AVR/inst-rcall.s
M llvm/test/MC/AVR/inst-ret.s
M llvm/test/MC/AVR/inst-reti.s
M llvm/test/MC/AVR/inst-rjmp.s
M llvm/test/MC/AVR/inst-rol.s
M llvm/test/MC/AVR/inst-ror.s
M llvm/test/MC/AVR/inst-sbc.s
M llvm/test/MC/AVR/inst-sbci.s
M llvm/test/MC/AVR/inst-sbi.s
M llvm/test/MC/AVR/inst-sbic.s
M llvm/test/MC/AVR/inst-sbis.s
M llvm/test/MC/AVR/inst-sbiw.s
M llvm/test/MC/AVR/inst-sbr.s
M llvm/test/MC/AVR/inst-sbrc.s
M llvm/test/MC/AVR/inst-sbrs.s
M llvm/test/MC/AVR/inst-ser.s
M llvm/test/MC/AVR/inst-sleep.s
M llvm/test/MC/AVR/inst-spm.s
M llvm/test/MC/AVR/inst-st.s
M llvm/test/MC/AVR/inst-std.s
M llvm/test/MC/AVR/inst-sts.s
M llvm/test/MC/AVR/inst-sub.s
M llvm/test/MC/AVR/inst-subi.s
M llvm/test/MC/AVR/inst-swap.s
M llvm/test/MC/AVR/inst-tst.s
M llvm/test/MC/AVR/inst-wdr.s
M llvm/test/MC/AVR/inst-xch.s
M llvm/test/MC/AVR/modifiers.s
M llvm/test/MC/AVR/registers.s
M llvm/test/MC/AVR/relocations-abs.s
M llvm/test/MC/AVR/relocations.s
M llvm/test/MC/AVR/separator.s
M llvm/test/MC/AVR/syntax-reg-int-literal.s
M llvm/test/MC/AVR/syntax-reg-pair.s
Log Message:
-----------
[AVR][NFC] Reformat MC tests (#107068)
Commit: 30a9cace807d4b5c98f2d0e2bd5bdea49061c8b8
https://github.com/llvm/llvm-project/commit/30a9cace807d4b5c98f2d0e2bd5bdea49061c8b8
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
Log Message:
-----------
[clang][ASTImporter] Fix -Wpessimizing-move in ASTImporter.cpp (NFC)
/llvm-project/clang/lib/AST/ASTImporter.cpp:371:20: error: moving a local object in a return statement prevents copy elision [-Werror,-Wpessimizing-move]
return std::move(Err);
^
/llvm-project/clang/lib/AST/ASTImporter.cpp:371:20: note: remove std::move call here
return std::move(Err);
^~~~~~~~~~ ~
/llvm-project/clang/lib/AST/ASTImporter.cpp:380:22: error: moving a local object in a return statement prevents copy elision [-Werror,-Wpessimizing-move]
return std::move(Err);
^
/llvm-project/clang/lib/AST/ASTImporter.cpp:380:22: note: remove std::move call here
return std::move(Err);
^~~~~~~~~~ ~
2 errors generated.
Commit: 62fec3d23d2325869e6eba0263b0b9f834c2067f
https://github.com/llvm/llvm-project/commit/62fec3d23d2325869e6eba0263b0b9f834c2067f
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
Log Message:
-----------
[NFCI] [ClangScanDeps] [P1689] Use PreprocessorOnly Action for P1689
It is fine enough to use PreprocessorOnly action for P1689 format. We
don't need to read any PCH or module files.
Commit: 4b2c950de5611a94defb00cbd66226eb02350938
https://github.com/llvm/llvm-project/commit/4b2c950de5611a94defb00cbd66226eb02350938
Author: wanglei <wanglei at loongson.cn>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
A llvm/test/CodeGen/LoongArch/ctpop-with-lsx.ll
Log Message:
-----------
[test][LoongArch] Pre-commit test for optimize CTPOP. NFC
Reviewed By: SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/106940
Commit: df93327c1ad9db7ab6c71a97bc093ce7133659d8
https://github.com/llvm/llvm-project/commit/df93327c1ad9db7ab6c71a97bc093ce7133659d8
Author: wanglei <wanglei at loongson.cn>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/ctpop-with-lsx.ll
Log Message:
-----------
[LoongArch] Legalize ISD::CTPOP for GRLenVT type with LSX
Reviewed By: SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/106941
Commit: 2ee7183e38b91525ebd803144a588a9548ca9a46
https://github.com/llvm/llvm-project/commit/2ee7183e38b91525ebd803144a588a9548ca9a46
Author: wanglei <wanglei at loongson.cn>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h
A llvm/test/Transforms/LoopIdiom/LoongArch/lit.local.cfg
A llvm/test/Transforms/LoopIdiom/LoongArch/popcnt.ll
Log Message:
-----------
[LoongArch] Add TTI support for cpop with LSX
Reviewed By: SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/106961
Commit: 5602bd5a42897e9323dc0275655186397778c67b
https://github.com/llvm/llvm-project/commit/5602bd5a42897e9323dc0275655186397778c67b
Author: Daniel Bertalan <dani at danielbertalan.dev>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/utils/gn/build/BUILD.gn
M llvm/utils/gn/build/mac_sdk.gni
M llvm/utils/gn/build/toolchain/target_flags.gni
Log Message:
-----------
[gn build] Bump macOS target to 12 and make it configurable (#107492)
Bumping the deployment target from macOS 10.10 to 12 enables chained
fixups and DWARF 4 debug information for the LLVM binaries and
libraries.
Like in Chromium, a GN arg (`mac_deployment_target`) is added to allow
overriding the default.
Commit: 861caf9b319ea44d48f1e077f07be3b5f102c6d5
https://github.com/llvm/llvm-project/commit/861caf9b319ea44d48f1e077f07be3b5f102c6d5
Author: hanbeom <kese111 at gmail.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Transforms/IPO/SCCP.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
Log Message:
-----------
[SCCP] Remove LoadInst if it loaded from Constant GlobalVariable (#107245)
This patch removes the `LoadInst` when it loaded from Constant
GlobalVariable. This allows `canRemoveInstruction` function to be
removed.
Commit: 310b0a1cf39aaf25a8fb5c88afc3a47a5776cec2
https://github.com/llvm/llvm-project/commit/310b0a1cf39aaf25a8fb5c88afc3a47a5776cec2
Author: Matt Bolitho <matt.bolitho.software at gmail.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/test/tools/llvm-ml/run.asm
M llvm/tools/llvm-ml/Opts.td
Log Message:
-----------
[llvm-ml] Adds /quiet flag to llvm-ml (#107308)
In PR #106794, it was noted that `llvm-ml` does not support the `/quiet`
flag. The original reason it was added by Microsoft to `ml`/`ml64` was
to remove extraneous CMake build output (see [CMake GitLab
issue](https://gitlab.kitware.com/cmake/cmake/-/issues/23537)) much like
in the linked PR .
If the goal is for `llvm-ml` to be a drop-in replacement for
`ml`/`ml64`, then I think it makes sense to support the `/quiet` flag,
much like how `/nologo` is supported.
Commit: 77b388cfc60706ee1600bf0d50ecfc0ed035db3f
https://github.com/llvm/llvm-project/commit/77b388cfc60706ee1600bf0d50ecfc0ed035db3f
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M lldb/docs/resources/test.rst
Log Message:
-----------
[lldb][Docs] Fix broken link to qemu testing page
Commit: c2e53b2d50e63d9802483334d6fd39ea7ef889ef
https://github.com/llvm/llvm-project/commit/c2e53b2d50e63d9802483334d6fd39ea7ef889ef
Author: Matthias Springer <me at m-sp.org>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M mlir/docs/DialectConversion.md
M mlir/include/mlir/Transforms/DialectConversion.h
Log Message:
-----------
[mlir][Transforms][NFC] Dialect conversion: Fix typo and improve docs (#107539)
Commit: 458c91d810a133850ebbf9313defd38fe5e61b50
https://github.com/llvm/llvm-project/commit/458c91d810a133850ebbf9313defd38fe5e61b50
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
R llvm/test/CodeGen/AArch64/partial-reduce-dot-product.ll
A llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
Log Message:
-----------
[AArch64][NEON] Lower fixed-width add partial reductions to dot product (#107078)
This PR adds lowering for fixed-width <4 x i32> and <2 x i32> partial
reductions to a dot product when Neon and the dot product feature are
available.
The work is by Max Beck-Jones (@DevM-uk).
Commit: 725fab987d7b2133293eb4b82e8a0e9c6ba76053
https://github.com/llvm/llvm-project/commit/725fab987d7b2133293eb4b82e8a0e9c6ba76053
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
Log Message:
-----------
[lldb][NFC] Separated GDBRemoteCommunication::GetDebugserverPath() (#107388)
This is the prerequisite for #104238.
Commit: 691e3c64d08c32955c8f5f740d4ce0db00ee2307
https://github.com/llvm/llvm-project/commit/691e3c64d08c32955c8f5f740d4ce0db00ee2307
Author: Daniel Bertalan <dani at danielbertalan.dev>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M lld/MachO/Symbols.h
Log Message:
-----------
[lld-macho] Fix `Defined` size increase with `-mms-bitfields` (#107545)
Under the Microsoft ABI, only those bit fields can be merged whose
underlying types have the same size.
d175616 (`[lld-macho][arm64] Enhance safe ICF with thunk-based
deduplication`) added an enum field (`identicalCodeFoldingKind`) next to
booleans in the `Defined` class, which increased the size under the MS
ABI. On MinGW targets, this triggered the `static_assert` which checks
the size of `Defined` (for MSVC targets, the check is disabled due to
another problem). Let's store it as a `uint8_t` to allow merging to take
place.
Fixes #107511
Commit: 66a03295de26c61a2178bb3a697d355592cb0eb5
https://github.com/llvm/llvm-project/commit/66a03295de26c61a2178bb3a697d355592cb0eb5
Author: Vitaly Goldshteyn <VitalyGoldstein at gmail.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M libc/src/string/memory_utils/op_x86.h
M libc/src/string/memory_utils/x86_64/inline_bcmp.h
Log Message:
-----------
[libc] Implement branchless head-tail comparison for bcmp (#107540)
Binary size changes:
| Bytes (cache lines) | before | after |
|---------------------|----------|---------|
| sse4 | 419 (7) | 288 (5) |
| avx | 430 (7) | 308 (5) |
| avx512f | 589 (10) | 390 (7) |
Benchmarks for different CPUs using
https://github.com/google/fleetbench.
- indus-cascadelake
```
name old speed new speed delta
BM_LIBC_Bcmp_Fleet_L1 1.96GB/s ± 1% 2.19GB/s ± 0% +11.49% (p=0.000 n=29+24)
BM_LIBC_Bcmp_Fleet_L2 1.90GB/s ± 1% 2.14GB/s ± 1% +12.68% (p=0.000 n=29+24)
BM_LIBC_Bcmp_Fleet_LLC 513MB/s ± 4% 531MB/s ± 4% +3.53% (p=0.000 n=24+24)
BM_LIBC_Bcmp_Fleet_Cold 452MB/s ± 3% 456MB/s ± 4% ~ (p=0.103 n=30+30)
BM_LIBC_Bcmp_0_L1 [Bcmp_0] 2.98GB/s ± 1% 3.15GB/s ± 1% +5.59% (p=0.000 n=29+30)
BM_LIBC_Bcmp_0_L2 [Bcmp_0] 2.86GB/s ± 1% 3.07GB/s ± 1% +7.21% (p=0.000 n=29+30)
BM_LIBC_Bcmp_0_LLC [Bcmp_0] 738MB/s ± 7% 751MB/s ± 3% +1.68% (p=0.000 n=24+25)
BM_LIBC_Bcmp_0_Cold [Bcmp_0] 643MB/s ± 3% 642MB/s ± 4% ~ (p=0.522 n=29+30)
BM_LIBC_Bcmp_1_L1 [Bcmp_1] 3.08GB/s ± 0% 3.25GB/s ± 0% +5.35% (p=0.000 n=28+30)
BM_LIBC_Bcmp_1_L2 [Bcmp_1] 2.97GB/s ± 1% 3.17GB/s ± 1% +6.65% (p=0.000 n=29+30)
BM_LIBC_Bcmp_1_LLC [Bcmp_1] 901MB/s ±59% 871MB/s ±36% ~ (p=0.676 n=29+27)
BM_LIBC_Bcmp_1_Cold [Bcmp_1] 686MB/s ± 4% 686MB/s ± 3% ~ (p=0.934 n=29+30)
BM_LIBC_Bcmp_2_L1 [Bcmp_2] 1.63GB/s ± 0% 1.80GB/s ± 1% +10.19% (p=0.000 n=29+30)
BM_LIBC_Bcmp_2_L2 [Bcmp_2] 1.57GB/s ± 1% 1.75GB/s ± 1% +11.46% (p=0.000 n=29+30)
BM_LIBC_Bcmp_2_LLC [Bcmp_2] 451MB/s ±61% 427MB/s ±28% ~ (p=0.469 n=29+25)
BM_LIBC_Bcmp_2_Cold [Bcmp_2] 353MB/s ± 4% 354MB/s ± 5% ~ (p=0.467 n=30+30)
BM_LIBC_Bcmp_3_L1 [Bcmp_3] 1.91GB/s ± 1% 2.10GB/s ± 1% +9.90% (p=0.000 n=29+29)
BM_LIBC_Bcmp_3_L2 [Bcmp_3] 1.84GB/s ± 1% 2.03GB/s ± 1% +10.63% (p=0.000 n=29+30)
BM_LIBC_Bcmp_3_LLC [Bcmp_3] 491MB/s ±24% 538MB/s ±24% +9.66% (p=0.000 n=24+27)
BM_LIBC_Bcmp_3_Cold [Bcmp_3] 417MB/s ± 4% 421MB/s ± 3% ~ (p=0.063 n=30+29)
BM_LIBC_Bcmp_4_L1 [Bcmp_4] 761MB/s ± 1% 867MB/s ± 1% +14.02% (p=0.000 n=28+30)
BM_LIBC_Bcmp_4_L2 [Bcmp_4] 748MB/s ± 1% 860MB/s ± 1% +15.04% (p=0.000 n=30+30)
BM_LIBC_Bcmp_4_LLC [Bcmp_4] 227MB/s ±29% 260MB/s ±64% +14.70% (p=0.000 n=26+27)
BM_LIBC_Bcmp_4_Cold [Bcmp_4] 187MB/s ± 3% 191MB/s ± 5% +2.26% (p=0.000 n=30+30)
BM_LIBC_Bcmp_5_L1 [Bcmp_5] 1.48GB/s ± 1% 1.71GB/s ± 1% +15.26% (p=0.000 n=29+30)
BM_LIBC_Bcmp_5_L2 [Bcmp_5] 1.42GB/s ± 1% 1.67GB/s ± 1% +17.68% (p=0.000 n=29+29)
BM_LIBC_Bcmp_5_LLC [Bcmp_5] 412MB/s ±34% 519MB/s ±80% +25.87% (p=0.000 n=27+30)
BM_LIBC_Bcmp_5_Cold [Bcmp_5] 336MB/s ± 4% 343MB/s ± 6% +2.05% (p=0.000 n=30+30)
BM_LIBC_Bcmp_6_L1 [Bcmp_6] 2.87GB/s ± 0% 3.24GB/s ± 1% +12.88% (p=0.000 n=26+30)
BM_LIBC_Bcmp_6_L2 [Bcmp_6] 2.78GB/s ± 1% 3.20GB/s ± 1% +15.15% (p=0.000 n=26+30)
BM_LIBC_Bcmp_6_LLC [Bcmp_6] 926MB/s ±43% 1227MB/s ±76% +32.53% (p=0.000 n=27+30)
BM_LIBC_Bcmp_6_Cold [Bcmp_6] 716MB/s ± 4% 737MB/s ± 6% +3.02% (p=0.000 n=28+29)
BM_LIBC_Bcmp_7_L1 [Bcmp_7] 1.54GB/s ± 1% 1.56GB/s ± 0% +1.40% (p=0.000 n=29+30)
BM_LIBC_Bcmp_7_L2 [Bcmp_7] 1.47GB/s ± 1% 1.52GB/s ± 1% +2.97% (p=0.000 n=27+30)
BM_LIBC_Bcmp_7_LLC [Bcmp_7] 351MB/s ±23% 436MB/s ±83% +24.04% (p=0.005 n=24+29)
BM_LIBC_Bcmp_7_Cold [Bcmp_7] 283MB/s ± 4% 282MB/s ± 4% ~ (p=0.644 n=30+30)
BM_LIBC_Bcmp_8_L1 [Bcmp_8] 824MB/s ± 1% 1048MB/s ± 1% +27.18% (p=0.000 n=29+30)
BM_LIBC_Bcmp_8_L2 [Bcmp_8] 808MB/s ± 1% 1027MB/s ± 1% +27.12% (p=0.000 n=29+29)
BM_LIBC_Bcmp_8_LLC [Bcmp_8] 317MB/s ±79% 332MB/s ±74% ~ (p=0.338 n=30+29)
BM_LIBC_Bcmp_8_Cold [Bcmp_8] 207MB/s ± 5% 212MB/s ± 5% +2.27% (p=0.000 n=30+30)
```
- indus-skylake
```
name old speed new speed delta
BM_LIBC_Bcmp_Fleet_L1 2.06GB/s ± 2% 2.25GB/s ± 3% +9.66% (p=0.000 n=27+24)
BM_LIBC_Bcmp_Fleet_L2 1.96GB/s ± 2% 2.17GB/s ± 2% +10.61% (p=0.000 n=30+24)
BM_LIBC_Bcmp_Fleet_LLC 1.18GB/s ± 6% 1.32GB/s ± 5% +12.27% (p=0.000 n=28+28)
BM_LIBC_Bcmp_Fleet_Cold 456MB/s ± 2% 466MB/s ± 2% +2.22% (p=0.000 n=28+28)
BM_LIBC_Bcmp_0_L1 [Bcmp_0] 3.08GB/s ± 2% 3.20GB/s ± 1% +3.72% (p=0.000 n=28+22)
BM_LIBC_Bcmp_0_L2 [Bcmp_0] 2.92GB/s ± 1% 3.05GB/s ± 2% +4.49% (p=0.000 n=23+23)
BM_LIBC_Bcmp_0_LLC [Bcmp_0] 1.83GB/s ± 8% 1.94GB/s ± 4% +6.24% (p=0.000 n=25+27)
BM_LIBC_Bcmp_0_Cold [Bcmp_0] 654MB/s ± 2% 659MB/s ± 2% +0.76% (p=0.012 n=30+29)
BM_LIBC_Bcmp_1_L1 [Bcmp_1] 3.19GB/s ± 2% 3.34GB/s ± 2% +4.41% (p=0.000 n=26+23)
BM_LIBC_Bcmp_1_L2 [Bcmp_1] 3.05GB/s ± 2% 3.21GB/s ± 2% +5.32% (p=0.000 n=28+25)
BM_LIBC_Bcmp_1_LLC [Bcmp_1] 1.95GB/s ± 4% 2.03GB/s ±10% +3.61% (p=0.000 n=27+30)
BM_LIBC_Bcmp_1_Cold [Bcmp_1] 700MB/s ± 2% 702MB/s ± 2% ~ (p=0.150 n=30+30)
BM_LIBC_Bcmp_2_L1 [Bcmp_2] 1.69GB/s ± 2% 1.85GB/s ± 1% +9.31% (p=0.000 n=30+26)
BM_LIBC_Bcmp_2_L2 [Bcmp_2] 1.60GB/s ± 2% 1.78GB/s ± 2% +10.90% (p=0.000 n=26+27)
BM_LIBC_Bcmp_2_LLC [Bcmp_2] 1.01GB/s ± 5% 1.12GB/s ± 5% +11.40% (p=0.000 n=27+28)
BM_LIBC_Bcmp_2_Cold [Bcmp_2] 355MB/s ± 3% 360MB/s ± 3% +1.46% (p=0.000 n=30+30)
BM_LIBC_Bcmp_3_L1 [Bcmp_3] 1.98GB/s ± 2% 2.15GB/s ± 2% +8.89% (p=0.000 n=29+27)
BM_LIBC_Bcmp_3_L2 [Bcmp_3] 1.87GB/s ± 3% 2.05GB/s ± 2% +10.06% (p=0.000 n=30+26)
BM_LIBC_Bcmp_3_LLC [Bcmp_3] 1.19GB/s ± 4% 1.31GB/s ± 6% +9.82% (p=0.000 n=27+29)
BM_LIBC_Bcmp_3_Cold [Bcmp_3] 424MB/s ± 3% 431MB/s ± 3% +1.58% (p=0.000 n=28+30)
BM_LIBC_Bcmp_4_L1 [Bcmp_4] 849MB/s ± 2% 949MB/s ± 2% +11.84% (p=0.000 n=27+28)
BM_LIBC_Bcmp_4_L2 [Bcmp_4] 815MB/s ± 3% 913MB/s ± 3% +12.06% (p=0.000 n=29+30)
BM_LIBC_Bcmp_4_LLC [Bcmp_4] 512MB/s ± 9% 571MB/s ± 7% +11.40% (p=0.000 n=30+30)
BM_LIBC_Bcmp_4_Cold [Bcmp_4] 187MB/s ± 3% 192MB/s ± 2% +2.56% (p=0.000 n=30+28)
BM_LIBC_Bcmp_5_L1 [Bcmp_5] 1.55GB/s ± 2% 1.77GB/s ± 3% +13.93% (p=0.000 n=30+28)
BM_LIBC_Bcmp_5_L2 [Bcmp_5] 1.47GB/s ± 2% 1.70GB/s ± 2% +15.96% (p=0.000 n=27+26)
BM_LIBC_Bcmp_5_LLC [Bcmp_5] 939MB/s ± 5% 1084MB/s ± 4% +15.36% (p=0.000 n=28+27)
BM_LIBC_Bcmp_5_Cold [Bcmp_5] 340MB/s ± 2% 347MB/s ± 3% +1.93% (p=0.000 n=30+30)
BM_LIBC_Bcmp_6_L1 [Bcmp_6] 3.06GB/s ± 3% 3.40GB/s ± 2% +11.13% (p=0.000 n=30+28)
BM_LIBC_Bcmp_6_L2 [Bcmp_6] 2.89GB/s ± 3% 3.24GB/s ± 2% +12.20% (p=0.000 n=29+26)
BM_LIBC_Bcmp_6_LLC [Bcmp_6] 1.93GB/s ± 4% 2.09GB/s ±11% +8.16% (p=0.000 n=26+30)
BM_LIBC_Bcmp_6_Cold [Bcmp_6] 746MB/s ± 2% 762MB/s ± 2% +2.11% (p=0.000 n=30+28)
BM_LIBC_Bcmp_7_L1 [Bcmp_7] 1.59GB/s ± 2% 1.62GB/s ± 2% +1.72% (p=0.000 n=25+27)
BM_LIBC_Bcmp_7_L2 [Bcmp_7] 1.49GB/s ± 2% 1.53GB/s ± 2% +2.62% (p=0.000 n=27+29)
BM_LIBC_Bcmp_7_LLC [Bcmp_7] 852MB/s ±10% 909MB/s ± 6% +6.71% (p=0.000 n=30+29)
BM_LIBC_Bcmp_7_Cold [Bcmp_7] 283MB/s ± 3% 283MB/s ± 2% ~ (p=0.617 n=30+27)
BM_LIBC_Bcmp_8_L1 [Bcmp_8] 891MB/s ± 2% 1083MB/s ± 2% +21.64% (p=0.000 n=27+24)
BM_LIBC_Bcmp_8_L2 [Bcmp_8] 855MB/s ± 2% 1045MB/s ± 1% +22.31% (p=0.000 n=25+23)
BM_LIBC_Bcmp_8_LLC [Bcmp_8] 568MB/s ± 7% 659MB/s ± 8% +16.04% (p=0.000 n=29+30)
BM_LIBC_Bcmp_8_Cold [Bcmp_8] 207MB/s ± 2% 212MB/s ± 2% +2.31% (p=0.000 n=30+27)
```
- arcadia-rome
```
name old speed new speed delta
BM_LIBC_Bcmp_Fleet_L1 2.16GB/s ± 2% 2.27GB/s ± 2% +5.13% (p=0.000 n=26+30)
BM_LIBC_Bcmp_Fleet_L2 2.15GB/s ± 2% 2.25GB/s ± 2% +4.64% (p=0.000 n=27+30)
BM_LIBC_Bcmp_Fleet_LLC 1.73GB/s ± 3% 1.81GB/s ± 3% +4.66% (p=0.000 n=25+28)
BM_LIBC_Bcmp_Fleet_Cold 494MB/s ± 1% 496MB/s ± 2% +0.45% (p=0.023 n=22+24)
BM_LIBC_Bcmp_0_L1 [Bcmp_0] 3.30GB/s ± 1% 3.24GB/s ± 2% -1.70% (p=0.000 n=27+30)
BM_LIBC_Bcmp_0_L2 [Bcmp_0] 3.23GB/s ± 2% 3.19GB/s ± 2% -1.28% (p=0.000 n=28+28)
BM_LIBC_Bcmp_0_LLC [Bcmp_0] 2.59GB/s ± 3% 2.58GB/s ± 2% -0.65% (p=0.010 n=26+26)
BM_LIBC_Bcmp_0_Cold [Bcmp_0] 720MB/s ± 1% 707MB/s ± 3% -1.75% (p=0.000 n=22+25)
BM_LIBC_Bcmp_1_L1 [Bcmp_1] 3.37GB/s ± 1% 3.36GB/s ± 2% ~ (p=0.102 n=28+29)
BM_LIBC_Bcmp_1_L2 [Bcmp_1] 3.32GB/s ± 2% 3.30GB/s ± 2% -0.51% (p=0.038 n=28+29)
BM_LIBC_Bcmp_1_LLC [Bcmp_1] 2.67GB/s ± 4% 2.70GB/s ± 4% +0.96% (p=0.009 n=28+27)
BM_LIBC_Bcmp_1_Cold [Bcmp_1] 755MB/s ± 1% 751MB/s ± 2% -0.57% (p=0.000 n=22+25)
BM_LIBC_Bcmp_2_L1 [Bcmp_2] 1.79GB/s ± 1% 1.86GB/s ± 2% +3.92% (p=0.000 n=27+29)
BM_LIBC_Bcmp_2_L2 [Bcmp_2] 1.77GB/s ± 2% 1.82GB/s ± 2% +2.99% (p=0.000 n=28+29)
BM_LIBC_Bcmp_2_LLC [Bcmp_2] 1.41GB/s ± 4% 1.47GB/s ± 3% +3.97% (p=0.000 n=28+28)
BM_LIBC_Bcmp_2_Cold [Bcmp_2] 386MB/s ± 1% 389MB/s ± 1% +0.60% (p=0.000 n=21+23)
BM_LIBC_Bcmp_3_L1 [Bcmp_3] 2.07GB/s ± 2% 2.17GB/s ± 2% +4.87% (p=0.000 n=29+30)
BM_LIBC_Bcmp_3_L2 [Bcmp_3] 2.07GB/s ± 2% 2.13GB/s ± 2% +3.02% (p=0.000 n=28+30)
BM_LIBC_Bcmp_3_LLC [Bcmp_3] 1.66GB/s ± 2% 1.73GB/s ± 2% +4.08% (p=0.000 n=29+26)
BM_LIBC_Bcmp_3_Cold [Bcmp_3] 466MB/s ± 2% 469MB/s ± 3% +0.66% (p=0.001 n=22+25)
BM_LIBC_Bcmp_4_L1 [Bcmp_4] 861MB/s ± 1% 964MB/s ± 2% +11.98% (p=0.000 n=29+29)
BM_LIBC_Bcmp_4_L2 [Bcmp_4] 853MB/s ± 2% 935MB/s ± 2% +9.54% (p=0.000 n=28+29)
BM_LIBC_Bcmp_4_LLC [Bcmp_4] 707MB/s ± 3% 743MB/s ± 4% +5.08% (p=0.000 n=29+29)
BM_LIBC_Bcmp_4_Cold [Bcmp_4] 199MB/s ± 3% 199MB/s ± 2% ~ (p=0.107 n=29+25)
BM_LIBC_Bcmp_5_L1 [Bcmp_5] 1.65GB/s ± 1% 1.75GB/s ± 2% +6.15% (p=0.000 n=29+29)
BM_LIBC_Bcmp_5_L2 [Bcmp_5] 1.64GB/s ± 3% 1.73GB/s ± 2% +5.37% (p=0.000 n=29+29)
BM_LIBC_Bcmp_5_LLC [Bcmp_5] 1.32GB/s ± 2% 1.40GB/s ± 2% +6.21% (p=0.000 n=28+27)
BM_LIBC_Bcmp_5_Cold [Bcmp_5] 370MB/s ± 3% 371MB/s ± 2% +0.16% (p=0.008 n=29+25)
BM_LIBC_Bcmp_6_L1 [Bcmp_6] 3.25GB/s ± 2% 3.47GB/s ± 2% +6.74% (p=0.000 n=28+29)
BM_LIBC_Bcmp_6_L2 [Bcmp_6] 3.26GB/s ± 1% 3.44GB/s ± 1% +5.43% (p=0.000 n=28+29)
BM_LIBC_Bcmp_6_LLC [Bcmp_6] 2.66GB/s ± 2% 2.79GB/s ± 3% +4.90% (p=0.000 n=27+29)
BM_LIBC_Bcmp_6_Cold [Bcmp_6] 812MB/s ± 3% 799MB/s ± 2% -1.57% (p=0.000 n=29+25)
BM_LIBC_Bcmp_7_L1 [Bcmp_7] 1.71GB/s ± 2% 1.66GB/s ± 2% -3.14% (p=0.000 n=29+29)
BM_LIBC_Bcmp_7_L2 [Bcmp_7] 1.63GB/s ± 2% 1.59GB/s ± 2% -2.50% (p=0.000 n=29+28)
BM_LIBC_Bcmp_7_LLC [Bcmp_7] 1.25GB/s ± 4% 1.25GB/s ± 2% ~ (p=0.530 n=28+26)
BM_LIBC_Bcmp_7_Cold [Bcmp_7] 311MB/s ± 3% 308MB/s ± 1% ~ (p=0.127 n=29+24)
BM_LIBC_Bcmp_8_L1 [Bcmp_8] 869MB/s ± 2% 1098MB/s ± 2% +26.28% (p=0.000 n=27+29)
BM_LIBC_Bcmp_8_L2 [Bcmp_8] 873MB/s ± 2% 1075MB/s ± 1% +23.06% (p=0.000 n=27+29)
BM_LIBC_Bcmp_8_LLC [Bcmp_8] 743MB/s ± 4% 859MB/s ± 4% +15.58% (p=0.000 n=27+27)
BM_LIBC_Bcmp_8_Cold [Bcmp_8] 221MB/s ± 4% 221MB/s ± 3% +0.14% (p=0.034 n=29+25)
```
- ixion-haswell
```
name old speed new speed delta
BM_LIBC_Bcmp_Fleet_L1 2.27GB/s ± 5% 2.41GB/s ± 6% +6.10% (p=0.000 n=29+28)
BM_LIBC_Bcmp_Fleet_L2 2.14GB/s ± 6% 2.33GB/s ± 5% +9.21% (p=0.000 n=29+30)
BM_LIBC_Bcmp_Fleet_LLC 1.30GB/s ± 9% 1.43GB/s ± 8% +9.85% (p=0.000 n=30+30)
BM_LIBC_Bcmp_Fleet_Cold 475MB/s ± 6% 475MB/s ± 5% ~ (p=0.839 n=30+29)
BM_LIBC_Bcmp_0_L1 [Bcmp_0] 3.38GB/s ± 7% 3.46GB/s ± 6% +2.35% (p=0.009 n=30+29)
BM_LIBC_Bcmp_0_L2 [Bcmp_0] 3.20GB/s ± 5% 3.32GB/s ± 6% +3.52% (p=0.000 n=28+30)
BM_LIBC_Bcmp_0_LLC [Bcmp_0] 1.88GB/s ± 9% 2.00GB/s ± 6% +6.63% (p=0.000 n=30+28)
BM_LIBC_Bcmp_0_Cold [Bcmp_0] 664MB/s ± 6% 655MB/s ± 6% -1.32% (p=0.025 n=30+30)
BM_LIBC_Bcmp_1_L1 [Bcmp_1] 3.50GB/s ± 8% 3.61GB/s ±10% +3.09% (p=0.001 n=29+30)
BM_LIBC_Bcmp_1_L2 [Bcmp_1] 3.32GB/s ± 7% 3.48GB/s ± 8% +4.89% (p=0.000 n=29+30)
BM_LIBC_Bcmp_1_LLC [Bcmp_1] 2.02GB/s ± 7% 2.14GB/s ± 9% +5.82% (p=0.000 n=28+29)
BM_LIBC_Bcmp_1_Cold [Bcmp_1] 716MB/s ± 6% 709MB/s ± 5% -0.97% (p=0.040 n=30+28)
BM_LIBC_Bcmp_2_L1 [Bcmp_2] 1.83GB/s ± 7% 1.97GB/s ± 8% +7.90% (p=0.000 n=30+30)
BM_LIBC_Bcmp_2_L2 [Bcmp_2] 1.74GB/s ± 6% 1.92GB/s ± 6% +10.29% (p=0.000 n=30+29)
BM_LIBC_Bcmp_2_LLC [Bcmp_2] 1.05GB/s ± 9% 1.15GB/s ± 9% +9.73% (p=0.000 n=30+30)
BM_LIBC_Bcmp_2_Cold [Bcmp_2] 379MB/s ± 6% 372MB/s ± 6% -1.74% (p=0.012 n=30+30)
BM_LIBC_Bcmp_3_L1 [Bcmp_3] 2.17GB/s ± 5% 2.29GB/s ± 6% +5.61% (p=0.000 n=29+30)
BM_LIBC_Bcmp_3_L2 [Bcmp_3] 2.02GB/s ± 6% 2.20GB/s ± 6% +8.75% (p=0.000 n=29+30)
BM_LIBC_Bcmp_3_LLC [Bcmp_3] 1.22GB/s ± 8% 1.34GB/s ± 9% +9.19% (p=0.000 n=30+30)
BM_LIBC_Bcmp_3_Cold [Bcmp_3] 447MB/s ± 3% 441MB/s ± 7% -1.40% (p=0.033 n=30+30)
BM_LIBC_Bcmp_4_L1 [Bcmp_4] 902MB/s ± 6% 995MB/s ±10% +10.37% (p=0.000 n=30+30)
BM_LIBC_Bcmp_4_L2 [Bcmp_4] 863MB/s ± 5% 945MB/s ±11% +9.50% (p=0.000 n=29+30)
BM_LIBC_Bcmp_4_LLC [Bcmp_4] 528MB/s ±11% 559MB/s ±12% +5.75% (p=0.000 n=30+30)
BM_LIBC_Bcmp_4_Cold [Bcmp_4] 183MB/s ± 4% 181MB/s ± 7% ~ (p=0.088 n=28+30)
BM_LIBC_Bcmp_5_L1 [Bcmp_5] 1.70GB/s ± 6% 1.87GB/s ± 8% +10.14% (p=0.000 n=29+29)
BM_LIBC_Bcmp_5_L2 [Bcmp_5] 1.60GB/s ± 5% 1.80GB/s ± 9% +12.61% (p=0.000 n=29+30)
BM_LIBC_Bcmp_5_LLC [Bcmp_5] 994MB/s ±13% 1094MB/s ± 8% +10.10% (p=0.000 n=29+30)
BM_LIBC_Bcmp_5_Cold [Bcmp_5] 362MB/s ± 6% 358MB/s ± 7% ~ (p=0.123 n=30+30)
BM_LIBC_Bcmp_6_L1 [Bcmp_6] 3.31GB/s ± 5% 3.67GB/s ± 6% +10.90% (p=0.000 n=28+30)
BM_LIBC_Bcmp_6_L2 [Bcmp_6] 3.11GB/s ± 5% 3.53GB/s ± 5% +13.59% (p=0.000 n=30+30)
BM_LIBC_Bcmp_6_LLC [Bcmp_6] 1.98GB/s ± 9% 2.18GB/s ± 8% +10.34% (p=0.000 n=30+30)
BM_LIBC_Bcmp_6_Cold [Bcmp_6] 754MB/s ± 5% 752MB/s ± 5% ~ (p=0.592 n=30+30)
BM_LIBC_Bcmp_7_L1 [Bcmp_7] 1.72GB/s ± 5% 1.72GB/s ± 6% ~ (p=0.549 n=29+29)
BM_LIBC_Bcmp_7_L2 [Bcmp_7] 1.61GB/s ± 7% 1.63GB/s ± 8% ~ (p=0.191 n=30+29)
BM_LIBC_Bcmp_7_LLC [Bcmp_7] 913MB/s ± 8% 905MB/s ± 9% ~ (p=0.423 n=30+30)
BM_LIBC_Bcmp_7_Cold [Bcmp_7] 304MB/s ± 6% 287MB/s ± 4% -5.57% (p=0.000 n=30+30)
BM_LIBC_Bcmp_8_L1 [Bcmp_8] 961MB/s ± 5% 1124MB/s ± 6% +16.94% (p=0.000 n=30+30)
BM_LIBC_Bcmp_8_L2 [Bcmp_8] 915MB/s ± 8% 1100MB/s ± 7% +20.16% (p=0.000 n=30+30)
BM_LIBC_Bcmp_8_LLC [Bcmp_8] 593MB/s ± 8% 669MB/s ± 8% +12.92% (p=0.000 n=30+30)
BM_LIBC_Bcmp_8_Cold [Bcmp_8] 220MB/s ± 4% 220MB/s ± 6% ~ (p=0.572 n=30+30)
```
Co-authored-by: goldvitaly at google.com <%username%@google.com>
Commit: 78e1e6ace6c99ac3c96216a40836a1ac98d4f000
https://github.com/llvm/llvm-project/commit/78e1e6ace6c99ac3c96216a40836a1ac98d4f000
Author: ErikHogeman <erik.hogeman at arm.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
A llvm/test/Transforms/LoopVectorize/vector-to-scalar-cast.ll
Log Message:
-----------
[LV] Check for vector-to-scalar casts in legalizer (#106244)
The code makes assumptions later on the operations and their inputs
being scalar in the loops that are processed, so we should make sure
this is the case in the legalizer.
Commit: 12c4d26c1d6f03e7628c31c8d12fdf426575bb2c
https://github.com/llvm/llvm-project/commit/12c4d26c1d6f03e7628c31c8d12fdf426575bb2c
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
Log Message:
-----------
[Flang][OpenMP] NFC: DataSharingProcessor cleanup (#107391)
This patch removes unused and undefined method declarations from
`DataSharingProcessor`, as well as the unused `hasLastPrivateOp` class
member. The `insPt` class member is replaced by a local `InsertionGuard`
in the only place it is set and used.
Commit: c5de6611ce10b8ecf573f601b5f12de60424897d
https://github.com/llvm/llvm-project/commit/c5de6611ce10b8ecf573f601b5f12de60424897d
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M flang/include/flang/Optimizer/OpenMP/Passes.td
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/OpenMP/FunctionFiltering.cpp
Log Message:
-----------
[Flang][OpenMP] NFC: Flang OpenMP passes cleanup (#107386)
For consistency, this patch renames the `FunctionFiltering` pass to
`FunctionFilteringPass`. Also, OpenMP pass-related `#define`s are
removed from flang/Optimizer/Transforms/Passes.h, since `#define`s don't
have an effect there after moving related passes to
flang/Optimizer/OpenMP/Passes.td.
Commit: e40c5b42fe8f489ea4bac4694ef58f09bd95263b
https://github.com/llvm/llvm-project/commit/e40c5b42fe8f489ea4bac4694ef58f09bd95263b
Author: Lily Brown <lbrown at modular.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M mlir/lib/Tools/lsp-server-support/Transport.cpp
Log Message:
-----------
[lsp] Fix format string in Reply (#107480)
PR #105745 requires that `formatv` calls have the correct number of
arguments. This call to `Logger::info` was incorrect.
Commit: d4e320e6f4dd78929cec44b342b6035a6bbd6323
https://github.com/llvm/llvm-project/commit/d4e320e6f4dd78929cec44b342b6035a6bbd6323
Author: Christian Sigg <csigg at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
Log Message:
-----------
[lldb][NFC] Fix -Wparentheses warning.
Fix `using the result of an assignment as a condition without parentheses` warning.
Commit: 50be4f17a0ff951f8a8e123e66c7024b067211c6
https://github.com/llvm/llvm-project/commit/50be4f17a0ff951f8a8e123e66c7024b067211c6
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-non-kernel-declaration.ll
Log Message:
-----------
[AMDGPU] Skip lowerNonKernelLDSAccesses if function is declaration. (#106975)
This PR skips lowering non-kernel LDS i.e lowerNonKernelLDSAccesses,
when function is a declaration or there are no lds globals to process.
Commit: a918fa117acfbb20d29039cb8bddab159a8173dc
https://github.com/llvm/llvm-project/commit/a918fa117acfbb20d29039cb8bddab159a8173dc
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
Log Message:
-----------
[clang] Emit -Wdangling diagnoses for cases where a gsl-pointer is construct from a gsl-owner object in a container. (#104556)
The warning is not emitted for the case `string_view c =
std::vector<std::string>({""}).at(0);` because we bail out during the
visit of the LHS at [this
point](https://github.com/llvm/llvm-project/blob/5d2c324fea2d7cf86ec50e4bb6b680acf89b2ed5/clang/lib/Sema/CheckExprLifetime.cpp#L341-L343)
in the code.
This bailout was introduced in [this
commit](https://github.com/llvm/llvm-project/commit/bcd0798c47ca865f95226859893016a17402441e)
to address a false positive with
`vector<vector::iterator>({""}).at(0);`. This PR refines that fix by
ensuring that, for initialization involving a gsl-pointer, we only
consider constructor calls that take the gsl-owner object.
Fixes #100384.
Commit: b11a70392c6ef3c481421f9f0a6651030333ebdc
https://github.com/llvm/llvm-project/commit/b11a70392c6ef3c481421f9f0a6651030333ebdc
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
Log Message:
-----------
[lldb] Fixed a typo in #107388
Commit: 8af0860529d75b61b66cb96ac05f503b0e2e845c
https://github.com/llvm/llvm-project/commit/8af0860529d75b61b66cb96ac05f503b0e2e845c
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M mlir/lib/IR/AffineExpr.cpp
M mlir/unittests/IR/AffineExprTest.cpp
Log Message:
-----------
AffineExpr: Fix result of d0 + (d0 // -c) * c. (#107530)
Currently, this is rewritten to d0 mod -c. However, we do not support
modulo with a negative RHS in our lowering passes, so this triggers
undefined behavior.
It would be better to not have these ad hoc simplifications at all, but
I guess that ship has sailed.
Commit: 704da919bafa5b088223f9d77424f24ae754539e
https://github.com/llvm/llvm-project/commit/704da919bafa5b088223f9d77424f24ae754539e
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/test/DebugInfo/Generic/debug-ranges-duplication.ll
Log Message:
-----------
[DebugInfo][AIX] XFAIL debug-ranges-duplication.ll (#107525)
The test fails with `Assertion failed: Section && "Cannot switch to a
null section!"` because of unsupported DWARF 5 section.
Commit: cdd2c0693b6dd75816f64960a479aacbe4e34549
https://github.com/llvm/llvm-project/commit/cdd2c0693b6dd75816f64960a479aacbe4e34549
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang-tools-extra/clang-tidy/misc/UnconventionalAssignOperatorCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/misc/unconventional-assign-operator-cxx23.cpp
Log Message:
-----------
[clang-tidy] fix misc-unconventional-assign-operator false positive for deducing this (#107409)
Fixes: #107119
When meeting c++23 deducing this, we should skip the first parameter
Commit: 222d3b031f6bf39873550a34152b9d05b9b6578a
https://github.com/llvm/llvm-project/commit/222d3b031f6bf39873550a34152b9d05b9b6578a
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
M llvm/test/Analysis/TypeBasedAliasAnalysis/aggregates.ll
Log Message:
-----------
[TBAA] Fix the case where a subobject gets accessed at a non-zero offset. (#101485)
Commit: c9bdc2564dabd1601ac0d714ba3f7057f55f6329
https://github.com/llvm/llvm-project/commit/c9bdc2564dabd1601ac0d714ba3f7057f55f6329
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
Log Message:
-----------
[X86][MC] Cont. update for AVX10.2-BF16 (#107529)
Not an expert in this code, but looks like it fixed the crash for us. Picking it up.
Commit: 775f7f1c99562d0315be26aed7828e713bd3fc22
https://github.com/llvm/llvm-project/commit/775f7f1c99562d0315be26aed7828e713bd3fc22
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
M flang/test/Lower/Intrinsics/spacing.f90
Log Message:
-----------
[flang] lower SPACING f16/bf16 to new runtime APIs (#107541)
Use APIs added in https://github.com/llvm/llvm-project/pull/106575
This is needed to fix HDF5 builds that are blocked by SPACING TODOs for
REAL(2) and currently needs manual hacks.
Commit: 5d2b3378758b42391e90b1adf936537a66b038b6
https://github.com/llvm/llvm-project/commit/5d2b3378758b42391e90b1adf936537a66b038b6
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/tools/lldb-server/lldb-gdbserver.cpp
M lldb/unittests/tools/lldb-server/tests/LLGSTest.cpp
M lldb/unittests/tools/lldb-server/tests/TestClient.cpp
M lldb/unittests/tools/lldb-server/tests/TestClient.h
Log Message:
-----------
[lldb][NFC] Used shared_fd_t (#107553)
Replaced `int connection_fd = -1` with `shared_fd_t connection_fd =
SharedSocket::kInvalidFD`.
This is prerequisite for #104238.
Commit: 1f70fcefa981e6e2b7e60678545766426fbefd96
https://github.com/llvm/llvm-project/commit/1f70fcefa981e6e2b7e60678545766426fbefd96
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/arm_fp16.td
A clang/include/clang/Basic/arm_immcheck_incl.td
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_neon_incl.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/include/clang/Sema/SemaARM.h
M clang/lib/Sema/SemaARM.cpp
M clang/test/CodeGen/aarch64-neon-luti.c
R clang/test/CodeGen/arm-neon-range-checks.c
R clang/test/Sema/aarch64-neon-bf16-ranges.c
R clang/test/Sema/aarch64-neon-fp16-ranges.c
A clang/test/Sema/aarch64-neon-immediate-ranges/bfloat16.c
A clang/test/Sema/aarch64-neon-immediate-ranges/conversions.c
A clang/test/Sema/aarch64-neon-immediate-ranges/copy-vector-lane.c
A clang/test/Sema/aarch64-neon-immediate-ranges/dotprod.c
A clang/test/Sema/aarch64-neon-immediate-ranges/extract-elt-from-vector.c
A clang/test/Sema/aarch64-neon-immediate-ranges/extract-vector-from-vectors.c
A clang/test/Sema/aarch64-neon-immediate-ranges/fp16-scalar.c
A clang/test/Sema/aarch64-neon-immediate-ranges/fp16-v84.c
A clang/test/Sema/aarch64-neon-immediate-ranges/fp16-vector.c
A clang/test/Sema/aarch64-neon-immediate-ranges/fused-multiply-accumulate.c
A clang/test/Sema/aarch64-neon-immediate-ranges/luti.c
A clang/test/Sema/aarch64-neon-immediate-ranges/matrix-multiplication.c
A clang/test/Sema/aarch64-neon-immediate-ranges/multiply-extended.c
A clang/test/Sema/aarch64-neon-immediate-ranges/saturating-multiply-accumulate.c
A clang/test/Sema/aarch64-neon-immediate-ranges/saturating-multiply-by-scalar-and-widen.c
A clang/test/Sema/aarch64-neon-immediate-ranges/set-lanes-to-value.c
A clang/test/Sema/aarch64-neon-immediate-ranges/set-vector-lane.c
A clang/test/Sema/aarch64-neon-immediate-ranges/sqrdmlah-ranges.c
A clang/test/Sema/aarch64-neon-immediate-ranges/vcmla.c
A clang/test/Sema/aarch64-neon-immediate-ranges/vector-load.c
A clang/test/Sema/aarch64-neon-immediate-ranges/vector-multiply-accumulate-by-scalar.c
A clang/test/Sema/aarch64-neon-immediate-ranges/vector-multiply-by-scalar-and-widen.c
A clang/test/Sema/aarch64-neon-immediate-ranges/vector-multiply-by-scalar.c
A clang/test/Sema/aarch64-neon-immediate-ranges/vector-multiply-subtract-by-scalar.c
A clang/test/Sema/aarch64-neon-immediate-ranges/vector-shift-left.c
A clang/test/Sema/aarch64-neon-immediate-ranges/vector-shift-right.c
A clang/test/Sema/aarch64-neon-immediate-ranges/vector-store.c
R clang/test/Sema/aarch64-neon-ranges.c
M clang/utils/TableGen/NeonEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
M llvm/docs/CommandGuide/tblgen.rst
A llvm/include/llvm/TableGen/AArch64ImmCheck.h
Log Message:
-----------
[Clang][AArch64] Add customisable immediate range checking to NEON (#100278)
This patch moves NEON immediate argument specification and checking to
the system currently shared by both SVE and SME.
In its current form, the TableGen definition of a NEON intrinsic cannot
control how its immediate arguments are range-checked, this information
must be inferred from the name of the intrinsic by NeonEmitter, which
also assumes that any NEON instruction will only ever receive a single
immediate argument. For SVE/SME instrinsics, this information is more
conveniently supplied in the TableGen definition.
As a result, for each immediate argument, NEON instructions must define
- The index of the immediate argument to be checked
- The type of immediate range check to be performed,
(e.g., ImmCheckShiftRight)
- The index of the argument whose type defines the context
of this immediate check (base type, vector size).
- **Difference from SVE/SME** If this definition generates a polymorphic
NEON builtin, the base type defined by this argument is overwritten by
that of the type code supplied to the overloaded builtin call. This
third argument is omitted in some cases due to this.
Here is an example for
[`vfma_laneq`](https://developer.arm.com/architectures/instruction-sets/intrinsics/#f:@navigationhierarchiessimdisa=[Neon]&q=vfma_laneq)
- The immediate is supplied in argument 3
- The immediate is used as an index into the lanes of argument 2
- So we must perform an immediate check on argument 3, based on the type
information of argument 2.
- `ImmCheck<3, ImmCheckLaneIndex, 2>`
During this work, we discovered that the existing immediate
range-checking system was largely untested, which made it difficult to
make reliable progress. Missing tests have been added to verify this
implementation against all intrinsics which take constrained immediate
arguments. All test immediate range checking tests for NEON intrinsics
are moved to a dedicated directory
`clang/test/Sema/aarch64-neon-immediate-ranges/`.
Commit: 6ec889e53f1ae048cc9aee79c91118fc8bbc6974
https://github.com/llvm/llvm-project/commit/6ec889e53f1ae048cc9aee79c91118fc8bbc6974
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/PowerPC/ppc64-P9-vabsd.ll
M llvm/test/CodeGen/X86/abds-neg.ll
M llvm/test/CodeGen/X86/abdu-neg.ll
Log Message:
-----------
[DAG] Add support for neg(abd(x,y)) patterns.
Currently limited to cases which have legal/custom ABDS/ABDU handling - I'll extend this for all targets in future (similar to how we support neg(abs(x))) once I've addressed some outstanding regressions on aarch64/riscv.
Helps avoid a lot of extra cmov instructions on x86 in particular, and allows us to more easily improve the codegen in future commits.
Commit: 67f9183c113a340c58bdb9d5d3bfb850b8db4e90
https://github.com/llvm/llvm-project/commit/67f9183c113a340c58bdb9d5d3bfb850b8db4e90
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/test/AST/ByteCode/constexpr-vectors.cpp
Log Message:
-----------
[clang][bytecode] Implement comparsion operators for vector type (#107258)
Implement ==, !=, <, <=, >, >= comparsion operators for vector type.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 5cf3677a7bcdf5a9e603c054bd40c1282db984a9
https://github.com/llvm/llvm-project/commit/5cf3677a7bcdf5a9e603c054bd40c1282db984a9
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/test/Driver/Ofast.c
Log Message:
-----------
[clang] Pass -c to clang in test/Driver/Ofast.c
Without this, `-###` prints the linker invocation as well, which
can lead to `-Wno-msvc-not-found` warnings on Windows bots that
don't have MSVC on path, causing the test to fail.
Since the test isn't trying to test linker-related things, just
pass `-c`. See discussion on #98736.
Commit: 9d12d9316fa91f9832d13f6a1f756c612360d000
https://github.com/llvm/llvm-project/commit/9d12d9316fa91f9832d13f6a1f756c612360d000
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
Log Message:
-----------
[gn] port 1f70fcefa981e6e2b
Commit: fb6c10da1f6cb4eb9556548d51dafe97d953ba58
https://github.com/llvm/llvm-project/commit/fb6c10da1f6cb4eb9556548d51dafe97d953ba58
Author: Nabeel Omer <nabeel.omer at sony.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/test/Driver/ps4-ps5-toolchain.c
M llvm/docs/Extensions.rst
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/MC/MCSectionELF.cpp
M llvm/lib/Object/ELF.cpp
A llvm/test/CodeGen/X86/jump-table-size-section.ll
Log Message:
-----------
[MC] Emit a jump table size section (#101962)
This patch will make LLVM emit a new section .llvm_jump_table_sizes
containing tuples of (jump table address, entry count) in object files.
This section is useful for tools that need to statically reconstruct the
control flow of executables.
At the moment this is only enabled by default for the PS5 target.
Commit: c782d54f0fb7a0ea56d4e1d5b49d176fed57cb6f
https://github.com/llvm/llvm-project/commit/c782d54f0fb7a0ea56d4e1d5b49d176fed57cb6f
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] port 1f70fcefa981e6e2b
Commit: c64dac2e6c39f0f7f1c676857e7d34c764b4d632
https://github.com/llvm/llvm-project/commit/c64dac2e6c39f0f7f1c676857e7d34c764b4d632
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/include/clang/Basic/TargetBuiltins.h
Log Message:
-----------
[clang] Fix noisy -Wcovered-switch-default warning after 1f70fcefa9 / #100278
Commit: a67b6e163528ea547ccbcd4850803f062df66d2e
https://github.com/llvm/llvm-project/commit/a67b6e163528ea547ccbcd4850803f062df66d2e
Author: Akash Banerjee <Akash.Banerjee at amd.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M offload/test/offloading/fortran/target-map-dynamic.f90
Log Message:
-----------
Fix typo in test.
Commit: 71a0eb33178c79eafef2cf55bb8c87ea89e6491e
https://github.com/llvm/llvm-project/commit/71a0eb33178c79eafef2cf55bb8c87ea89e6491e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/pull-conditional-binop-through-shift.ll
M llvm/test/CodeGen/X86/select.ll
Log Message:
-----------
[X86] LowerSelect - generalize "select icmp(x,0), lhs, rhs" folding patterns. (#107272)
We have many cases where the condition is a "(and x, 1)" pattern (e.g. from a bool argument or some other simplified bitlogic), and we have a large number of existing generic/x86 patterns that make use of this (and trying to convert to a SETCC node can cause infinite loops).
Use the LowerSELECTWithCmpZero helper, simulating the comparison with adjusted operands.
Commit: 52fac608bd3fb93caf08c137cea4591372aa8f31
https://github.com/llvm/llvm-project/commit/52fac608bd3fb93caf08c137cea4591372aa8f31
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/test/Transforms/InstCombine/ashr-lshr.ll
Log Message:
-----------
[InstCombine] Fold `[l|a]shr iN (X-1)&~X, N-1 -> [z|s]ext(X==0)` (#107259)
Alive2: https://alive2.llvm.org/ce/z/kwvTFn
Closes #107228.
`ashr iN (X-1)&~X, N-1` also exists. See
https://github.com/dtcxzyw/llvm-opt-benchmark/issues/1274.
Commit: b0ae93e847141becea7a2eeff35dc566110c1f58
https://github.com/llvm/llvm-project/commit/b0ae93e847141becea7a2eeff35dc566110c1f58
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
A llvm/test/Analysis/CostModel/AArch64/fp-conversions-odd-vector-types.ll
R llvm/test/Analysis/CostModel/AArch64/vec3-fp-conversions.ll
Log Message:
-----------
[AArch64] Add more type combinations to vector fp conversion cost tests.
Generealize test coverage for https://github.com/llvm/llvm-project/pull/107303
Also adjust the name to reflect the fact that it is not limited to
vectorrs with 3 elements now.
Commit: bf57ecf06e688a716fc9ce47386228503fa02e47
https://github.com/llvm/llvm-project/commit/bf57ecf06e688a716fc9ce47386228503fa02e47
Author: Igor Kirillov <igor.kirillov at arm.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/zext-to-tbl.ll
Log Message:
-----------
[AArch64] Prevent generating tbl instruction instead of smull (#106375)
Generating tbl instruction for zext in an expression like: mul(zext(i8),
sext) is not optimal.
Instead, allowing later optimisations to generate smull(zext, sext)
would do some of the type extensions implicitly and be faster.
Commit: e4bb68b8717a20c5828b479f83c8648c2596e598
https://github.com/llvm/llvm-project/commit/e4bb68b8717a20c5828b479f83c8648c2596e598
Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/test/Analysis/ctor-array.cpp
M clang/test/Analysis/nullptr.cpp
Log Message:
-----------
[analyzer] Model constructor initializer for an array member (#107537)
Bind the array member to the compound region associated with the
initializer list, e.g.:
class C {
int arr[2];
C() : arr{1, 2} {}
};
C c;
This change enables correct values in `c.arr[0]` and `c.arr[1]`
CPP-5647
Commit: 6ab5829ab7f03417ccb13e75d68b241871701be1
https://github.com/llvm/llvm-project/commit/6ab5829ab7f03417ccb13e75d68b241871701be1
Author: Johannes de Fine Licht <johannes at musicmedia.dk>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
Log Message:
-----------
[MLIR][LLVM][NFC] Remove dead interface and add namespace qualifiers (#107573)
The `GetResultPtrElementType` interface is dead now that MLIR has fully
moved to opaque pointers, and can be removed.
Add namespace qualifiers to all argument types and return types of
interface methods for when they're used outside of LLVM dialect.
Commit: a9daad8280c081ee15c16cf8515630816695fb0e
https://github.com/llvm/llvm-project/commit/a9daad8280c081ee15c16cf8515630816695fb0e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/gfx10-twoaddr-fma.mir
Log Message:
-----------
AMDGPU: Update live intervals in convertToThreeAddress (#104610)
Fixes #98741
Commit: 383057e5a0b53a79926dbdbae4cfcd39bfb44645
https://github.com/llvm/llvm-project/commit/383057e5a0b53a79926dbdbae4cfcd39bfb44645
Author: Spencer Abson <Spencer.Abson at arm.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/include/clang/Basic/TargetBuiltins.h
M clang/lib/Sema/SemaARM.cpp
Log Message:
-----------
[Clang][AArch64] Fix -Wcovered-switch-default warning (SemaARM)
Commit: 100d9b89947bb1d42af20010bb594fa4c02542fc
https://github.com/llvm/llvm-project/commit/100d9b89947bb1d42af20010bb594fa4c02542fc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/test/CodeGen/NVPTX/atomics-sm70.ll
M llvm/test/CodeGen/NVPTX/atomics-sm90.ll
M llvm/test/CodeGen/PowerPC/all-atomics.ll
M llvm/test/CodeGen/X86/atomic6432.ll
M llvm/test/CodeGen/X86/pr5145.ll
Log Message:
-----------
Reapply "AtomicExpand: Allow incrementally legalizing atomicrmw" (#107307)
This reverts commit 63da545ccdd41d9eb2392a8d0e848a65eb24f5fa.
Use reverse iteration in the instruction loop to avoid sanitizer
errors. This also has the side effect of avoiding the AArch64
codegen quality regressions.
Closes #107309
Commit: 9528bcd5327c0120c82c84031b52b167037aa650
https://github.com/llvm/llvm-project/commit/9528bcd5327c0120c82c84031b52b167037aa650
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
Log Message:
-----------
[IRSim] Avoid repeated hash lookups (NFC) (#107510)
Commit: bd1559533d88f0d32b7ca17aa316b07b7924be2d
https://github.com/llvm/llvm-project/commit/bd1559533d88f0d32b7ca17aa316b07b7924be2d
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
Log Message:
-----------
[IndVars] Avoid repeated hash lookups (NFC) (#107513)
Commit: 2461bc1c7ad5a78f39f75c6e99acf502b83401d2
https://github.com/llvm/llvm-project/commit/2461bc1c7ad5a78f39f75c6e99acf502b83401d2
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/GenericConvergenceVerifierImpl.h
Log Message:
-----------
[Convergence] Avoid repeated hash lookups (NFC) (#107515)
Commit: b8d6885ff67efbc3142a2b49506ed0cc2b95e054
https://github.com/llvm/llvm-project/commit/b8d6885ff67efbc3142a2b49506ed0cc2b95e054
Author: Daniil Fukalov <dfukalov at gmail.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang-tools-extra/clangd/Feature.cpp
M clang-tools-extra/clangd/unittests/ClangdTests.cpp
M clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
M clang-tools-extra/clangd/unittests/SerializationTests.cpp
M clang/include/clang/Interpreter/Value.h
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/tools/driver/driver.cpp
M clang/unittests/Driver/GCCVersionTest.cpp
Log Message:
-----------
[NFC] Add explicit #include llvm-config.h where its macros are used, clang part. (#107301)
(this is clang related part)
Without these explicit includes, removing other headers, who implicitly
include llvm-config.h, may have non-trivial side effects. For example,
`clagd` may report even `llvm-config.h` as "no used" in case it defines
a macro, that is explicitly used with #ifdef. It is actually amplified
with different build configs which use different set of macros.
Commit: 56b29074fe924243640547a9fec35bef0942b210
https://github.com/llvm/llvm-project/commit/56b29074fe924243640547a9fec35bef0942b210
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/TransformDialect.h
Log Message:
-----------
[mlir] Avoid repeated hash lookups (NFC) (#107518)
Commit: a37f7ae6268b25ff1673c94a7294ab242b9a11d8
https://github.com/llvm/llvm-project/commit/a37f7ae6268b25ff1673c94a7294ab242b9a11d8
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang-tools-extra/clang-tidy/add_new_check.py
Log Message:
-----------
[clang-tidy] Add type annotations to add_new_check.py, fix minor bug (#106801)
```
> python3 -m mypy --strict clang-tools-extra/clang-tidy/add_new_check.py
Success: no issues found in 1 source file
```
Also fix a bug when `--standard` is not provided on the command line:
the
generated test case has a `None` causing issues:
```
> python3 clang-tools-extra/clang-tidy/add_new_check.py performance XXX
Updating clang-tools-extra/clang-tidy/performance/CMakeLists.txt...
Creating clang-tools-extra/clang-tidy/performance/XxxCheck.h...
Creating clang-tools-extra/clang-tidy/performance/XxxCheck.cpp...
Updating clang-tools-extra/clang-tidy/performance/PerformanceTidyModule.cpp...
Updating clang-tools-extra/docs/ReleaseNotes.rst...
Creating clang-tools-extra/test/clang-tidy/checkers/performance/XXX.cpp...
Creating clang-tools-extra/docs/clang-tidy/checks/performance/XXX.rst...
Updating clang-tools-extra/docs/clang-tidy/checks/list.rst...
Done. Now it's your turn!
> head -n 1 clang-tools-extra/test/clang-tidy/checkers/performance/XXX.cpp
// RUN: %check_clang_tidy None%s performance-XXX %t
```
Commit: 01eb071de014759101940096a31d65babc8af04e
https://github.com/llvm/llvm-project/commit/01eb071de014759101940096a31d65babc8af04e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M mlir/lib/IR/AttrTypeSubElements.cpp
Log Message:
-----------
[mlir] Avoid repeated hash lookups (NFC) (#107519)
Commit: 109cd11dc4aea6b3596f8b2cb5a719f35b190cfa
https://github.com/llvm/llvm-project/commit/109cd11dc4aea6b3596f8b2cb5a719f35b190cfa
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch-init.ll
A llvm/test/CodeGen/AMDGPU/aa-as-infer.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-sgprs-fixed-abi.ll
Log Message:
-----------
[Attributor] Skip AS specialization for volatile memory instructions (#107250)
Commit: 4af249fe6e81abd137c95bc25f5060ae305134ca
https://github.com/llvm/llvm-project/commit/4af249fe6e81abd137c95bc25f5060ae305134ca
Author: anjenner <161845516+anjenner at users.noreply.github.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/bindings/ocaml/llvm/llvm.ml
M llvm/bindings/ocaml/llvm/llvm.mli
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Transforms/Utils/LowerAtomic.cpp
M llvm/test/Assembler/atomic.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
A llvm/test/CodeGen/AArch64/atomicrmw-cond-sub-clamp.ll
A llvm/test/CodeGen/ARM/atomicrmw-cond-sub-clamp.ll
A llvm/test/CodeGen/Hexagon/atomicrmw-cond-sub-clamp.ll
A llvm/test/CodeGen/LoongArch/atomicrmw-cond-sub-clamp.ll
A llvm/test/CodeGen/PowerPC/atomicrmw-cond-sub-clamp.ll
A llvm/test/CodeGen/RISCV/atomicrmw-cond-sub-clamp.ll
A llvm/test/CodeGen/VE/Scalar/atomicrmw-cond-sub-clamp.ll
A llvm/test/CodeGen/WebAssembly/atomicrmw-cond-sub-clamp.ll
A llvm/test/CodeGen/X86/atomicrmw-cond-sub-clamp.ll
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
M llvm/test/TableGen/GlobalISelEmitter.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
M mlir/test/Target/LLVMIR/Import/instructions.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
Add usub_cond and usub_sat operations to atomicrmw (#105568)
These both perform conditional subtraction, returning the minuend and
zero respectively, if the difference is negative.
Commit: 61ba60c15416db03872e94217fcc215371caad5d
https://github.com/llvm/llvm-project/commit/61ba60c15416db03872e94217fcc215371caad5d
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
Log Message:
-----------
[orc] Avoid pathological propogation order (#107488)
In certain pathological object files we were getting extremely slow
linking because we were repeatedly propogating dependencies to the same
blocks instead of accumulating as many changes as possible. Change the
order of iteration so that we go through every node in the worklist
before returning to any previous node, reducing the number of expensive
dependency iterations.
In practice, this took one case from 60 seconds to 2 seconds. Note: the
performance is still non-deterministic, because the block order itself
is non-deterministic.
rdar://133734391
Commit: 2cb4d1b1bd7bde2724b79976e859684bd3f5c771
https://github.com/llvm/llvm-project/commit/2cb4d1b1bd7bde2724b79976e859684bd3f5c771
Author: Sergey Kachkov <109674256+skachkov-sc at users.noreply.github.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/test/Transforms/LoopStrengthReduce/2011-10-03-CritEdgeMerge.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-invalid-ptr-extend.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/2011-11-29-postincphi.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/expander-crashes.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/missing-phi-operand-update.ll
M llvm/test/Transforms/LoopStrengthReduce/preserve-lcssa.ll
Log Message:
-----------
[LSR] Do not create duplicated PHI nodes while preserving LCSSA form (#107380)
Motivating example: https://godbolt.org/z/eb97zrxhx
Here we have 2 induction variables in the loop: one is corresponding to
i variable (add rdx, 4), the other - to res (add rax, 2). The second
induction variable can be removed by rewriteLoopExitValues() method
(final value of res at loop exit is unroll_iter * -2); however, this
doesn't happen because we have duplicated LCSSA phi nodes at loop exit:
```
; Preheader:
for.body.preheader.new: ; preds = %for.body.preheader
%unroll_iter = and i64 %N, -4
br label %for.body
; Loop:
for.body: ; preds = %for.body, %for.body.preheader.new
%lsr.iv = phi i64 [ %lsr.iv.next, %for.body ], [ 0, %for.body.preheader.new ]
%i.07 = phi i64 [ 0, %for.body.preheader.new ], [ %inc.3, %for.body ]
%inc.3 = add nuw i64 %i.07, 4
%lsr.iv.next = add nsw i64 %lsr.iv, -2
%niter.ncmp.3.not = icmp eq i64 %unroll_iter, %inc.3
br i1 %niter.ncmp.3.not, label %for.end.loopexit.unr-lcssa.loopexit, label %for.body, !llvm.loop !7
; Exit blocks
for.end.loopexit.unr-lcssa.loopexit: ; preds = %for.body
%inc.3.lcssa = phi i64 [ %inc.3, %for.body ]
%lsr.iv.next.lcssa11 = phi i64 [ %lsr.iv.next, %for.body ]
%lsr.iv.next.lcssa = phi i64 [ %lsr.iv.next, %for.body ]
br label %for.end.loopexit.unr-lcssa
```
rewriteLoopExitValues requires %lsr.iv.next value to have only 2 uses:
one in LCSSA phi node, the other - in induction phi node. Here we have 3
uses of this value because of duplicated lcssa nodes, so the transform
doesn't apply and leads to an extra add operation inside the loop. The
proposed solution is to accumulate inserted instructions that will
require LCSSA form update into SetVector and then call
formLCSSAForInstructions for this SetVector once, so the same
instructions don't process twice.
Commit: 00e40c9b5b1a8208c4f2b785138d79ad0e9107af
https://github.com/llvm/llvm-project/commit/00e40c9b5b1a8208c4f2b785138d79ad0e9107af
Author: Kolya Panchenko <87679760+nikolaypanchenko at users.noreply.github.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
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/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
A llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-bin-unary-ops-args.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll
Log Message:
-----------
[LV] Support binary and unary operations with EVL-vectorization (#93854)
The patch adds `VPWidenEVLRecipe` which represents `VPWidenRecipe` + EVL
argument. The new recipe replaces `VPWidenRecipe` in
`tryAddExplicitVectorLength` for each binary and unary operations.
Follow up patches will extend support for remaining cases, like `FCmp`
and `ICmp`
Commit: 3edd21ba6e35e981f3a91b71358eb41cdbab12da
https://github.com/llvm/llvm-project/commit/3edd21ba6e35e981f3a91b71358eb41cdbab12da
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/clangd/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependencies for b8d6885ff67efbc3142a2b49506ed0cc2b95e054
Commit: 80cf21dad150ae8fb82e4a17f3bc594d1486b210
https://github.com/llvm/llvm-project/commit/80cf21dad150ae8fb82e4a17f3bc594d1486b210
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCArchitectures.cmake
M libc/cmake/modules/LLVMLibCCheckCpuFeatures.cmake
M libc/cmake/modules/LLVMLibCCheckMPFR.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/test/UnitTest/CMakeLists.txt
M libc/test/integration/startup/CMakeLists.txt
M libc/utils/MPFRWrapper/CMakeLists.txt
Log Message:
-----------
[libc] Fix unit test compile flags propagation. (#106128)
With this change, I was able to build and test for aarch64 & riscv64 on
x86-64 host as follow:
Pre-requisite:
- cross build toolchain for aarch64
```
$ sudo apt install binutils-aarch64-linux-gnu gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
```
- cross build toolchain for riscv64
```
$ sudo apt install binutils-riscv64-linux-gnu gcc-riscv64-linux-gnu g++-riscv64-linux-gnu
```
- qemu user:
```
$ sudo apt install qemu qemu-user qemu-user-static
```
CMake invocation:
```
$ cmake ../runtimes -GNinja -DLLVM_ENABLE_RUNTIMES=libc -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DLIBC_TARGET_TRIPLE=<aarch64-linux-gnu/riscv64-linux-gnu> -DCMAKE_BUILD_TYPE=Release -DLIBC_TEST_COMPILE_OPTIONS_DEFAULT="-static"
$ ninja libc
$ ninja check-libc
```
Commit: deba13409245aabf3fda8b82a873336ea5238d3a
https://github.com/llvm/llvm-project/commit/deba13409245aabf3fda8b82a873336ea5238d3a
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/include/llvm/Object/Minidump.h
M llvm/lib/Object/Minidump.cpp
M llvm/lib/ObjectYAML/MinidumpYAML.cpp
M llvm/unittests/Object/MinidumpTest.cpp
M llvm/unittests/ObjectYAML/MinidumpYAMLTest.cpp
Log Message:
-----------
[Minidump] Support multiple exceptions in a minidump (#107319)
A fork of #97470, splitting off the LLVM changes from the LLDB specific
changes. This patch enables a minidump file to have multiple exceptions,
exposed via an iterator of Expected streams.
Commit: d4d4e77918118f1444dc5ca230d4fdf82bb05b74
https://github.com/llvm/llvm-project/commit/d4d4e77918118f1444dc5ca230d4fdf82bb05b74
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M lldb/include/lldb/API/SBMemoryRegionInfo.h
M lldb/include/lldb/API/SBSaveCoreOptions.h
M lldb/include/lldb/Symbol/SaveCoreOptions.h
A lldb/include/lldb/Target/CoreFileMemoryRanges.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Utility/RangeMap.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/include/lldb/lldb-forward.h
M lldb/include/lldb/lldb-private-interfaces.h
M lldb/source/API/SBSaveCoreOptions.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
M lldb/source/Symbol/SaveCoreOptions.cpp
M lldb/source/Target/CMakeLists.txt
A lldb/source/Target/CoreFileMemoryRanges.cpp
M lldb/source/Target/Process.cpp
M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
M lldb/unittests/Process/Utility/CMakeLists.txt
A lldb/unittests/Process/Utility/CoreFileMemoryRangesTest.cpp
Log Message:
-----------
[LLDB] Reappply SBSaveCore AddMemoryList (#107159)
Reapplies #106293, testing identified issue in the merging code. I used
this opportunity to strip CoreFileMemoryRanges to it's own file and then
add unit tests on it's behavior.
Commit: eb0f12188a3afa10ba353a32328577dc0d898524
https://github.com/llvm/llvm-project/commit/eb0f12188a3afa10ba353a32328577dc0d898524
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M libcxx/include/__math/copysign.h
M libcxx/include/__math/remainder.h
M libcxx/include/__tuple/find_index.h
M libcxx/include/__tuple/make_tuple_types.h
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/include/__tuple/tuple_element.h
M libcxx/include/__tuple/tuple_indices.h
M libcxx/include/__tuple/tuple_like_ext.h
M libcxx/include/__tuple/tuple_like_no_subrange.h
M libcxx/include/__tuple/tuple_size.h
M libcxx/include/future
M libcxx/include/variant
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
Log Message:
-----------
[libc++][modules] Tweak a few includes (#107467)
Add a few missing includes, remove two unnecessary ones and use
__cstddef/size_t.h instead of <cstddef> in a few places. This is a
collection of miscellaneous findings that collectively unblock other
modularization patches.
Commit: f8350f13020a27e7aa74fd4ab7919503c24771ca
https://github.com/llvm/llvm-project/commit/f8350f13020a27e7aa74fd4ab7919503c24771ca
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__cstddef/byte.h
A libcxx/include/__fwd/byte.h
M libcxx/include/__type_traits/is_trivially_lexicographically_comparable.h
M libcxx/include/module.modulemap
M libcxx/utils/generate_iwyu_mapping.py
Log Message:
-----------
[libc++][modules] Introduce a forward-declaration for std::byte (#107402)
We need a forward-declaration so that we can know about std::byte from
some type traits without having to include std::byte's definition, which
(circularly) depends back on type traits.
Commit: ce192b87b2a09ee27e4077763db0486921a485c0
https://github.com/llvm/llvm-project/commit/ce192b87b2a09ee27e4077763db0486921a485c0
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[Vectorize] Fix a warning
This patch fixes:
llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp:1278:12: error:
unused variable 'Op0' [-Werror,-Wunused-variable]
Commit: 37086ea21cd966465694cc6998a6e937846ec28d
https://github.com/llvm/llvm-project/commit/37086ea21cd966465694cc6998a6e937846ec28d
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
A libcxx/test/std/iterators/iterator.primitives/iterator.traits/empty.compile.pass.cpp
R libcxx/test/std/iterators/iterator.primitives/iterator.traits/empty.verify.cpp
Log Message:
-----------
[libc++] Decouple iterator_traits test from precise Clang diagnostics (#107478)
This makes the test more robust and prevents it from breaking when the
diagnostic changes subtly (e.g. under modules).
Commit: cfc095118c149d6d95a828139ed54fb34e99a3f3
https://github.com/llvm/llvm-project/commit/cfc095118c149d6d95a828139ed54fb34e99a3f3
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-cuda.h
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
Log Message:
-----------
[flang][cuda] Do not check assignment semantic in cuf kernel (#107512)
Commit: ce91e2153f1a8f725a1e4853bb21e7dbfcdae9d7
https://github.com/llvm/llvm-project/commit/ce91e2153f1a8f725a1e4853bb21e7dbfcdae9d7
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M lld/MachO/BPSectionOrderer.cpp
M lld/MachO/BPSectionOrderer.h
M lld/MachO/Config.h
M lld/MachO/Driver.cpp
M lld/MachO/Options.td
M lld/MachO/SectionPriorities.cpp
M lld/test/MachO/bp-section-orderer-errs.s
M lld/test/MachO/bp-section-orderer-stress.s
Log Message:
-----------
[lld][InstrProf] Sort startup functions for compression (#107348)
Commit: 62180dfd8d86af92219662d0cdb01672d801f86f
https://github.com/llvm/llvm-project/commit/62180dfd8d86af92219662d0cdb01672d801f86f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
M llvm/lib/Target/RISCV/RISCVCallingConv.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Reduce the interface to RISCVCCAssignFn. NFC (#107503)
DataLayout, ABI, and TargetLowering can all be obtained via the
MachineFunction reference in the State object. This is how the targets
that use TableGen for CC handlers get these objects.
This might be a little slower, but it simplies all the callers in
SelectionDAG and GlobalISel.
Commit: e1fdaaafc51bf7323813139b2809ffea43e65ee4
https://github.com/llvm/llvm-project/commit/e1fdaaafc51bf7323813139b2809ffea43e65ee4
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
Log Message:
-----------
[AMDGPU] Work around a warning
This patch works around:
llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp:1101:13:
error: enumeration values 'USubCond' and 'USubSat' not handled in
switch [-Werror,-Wswitch]
I've notified the author in #105568.
Commit: 1accedc1eba1f00cd522012a1c5bb84e3686663b
https://github.com/llvm/llvm-project/commit/1accedc1eba1f00cd522012a1c5bb84e3686663b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/test/CodeGen/X86/setcc-lowering.ll
Log Message:
-----------
[X86] setcc-lowering.ll - add nounwind to remove cfi noise. NFC.
Commit: c1f78d349704c4a6be6abb436687f3ce449d3778
https://github.com/llvm/llvm-project/commit/c1f78d349704c4a6be6abb436687f3ce449d3778
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerSELECTWithCmpZero - add missing description of fold and cleanup zero/allones extension code. NFC.
Commit: ce2e38653fab52cc53c7a267727b996c14c7af82
https://github.com/llvm/llvm-project/commit/ce2e38653fab52cc53c7a267727b996c14c7af82
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/CodeGen/AMDGPU/aa-as-infer.ll
Log Message:
-----------
[Attributor] Add support for atomic operations in `AAAddressSpace` (#106927)
Commit: c08f80e348ed84e4372d4a8687dfcaaa2df813aa
https://github.com/llvm/llvm-project/commit/c08f80e348ed84e4372d4a8687dfcaaa2df813aa
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/test/CodeGen/X86/select.ll
Log Message:
-----------
[X86] select.ll - add ADD/SUB identity select test cases
LowerSELECTWithCmpZero already handles "SELECT (X != 0), Y, (OR/XOR Y, Z) -> (OR/XOR Y, (AND (0 - X), Z))" - we can also handle ADD/SUB in a similar way, although SUB is more restricted as its not commutative.
Commit: fd13cc03bdc9696bcab98ddb9b177ed89650ca30
https://github.com/llvm/llvm-project/commit/fd13cc03bdc9696bcab98ddb9b177ed89650ca30
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
Log Message:
-----------
[RISCV] Use Subtarget variable instaed of TLI.getSubtarget(). NFC
Commit: a291fe5ed44fa37493d038c78ff4d73135fd85a9
https://github.com/llvm/llvm-project/commit/a291fe5ed44fa37493d038c78ff4d73135fd85a9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/test/CodeGenOpenCL/atomics-cas-remarks-gfx90a.cl
M clang/test/CodeGenOpenCL/atomics-unsafe-hw-remarks-gfx90a.cl
Log Message:
-----------
clang/AMDGPU: Update test message order
Order of atomic expansion remarks is backwards since
100d9b89947bb1d42af20010bb594fa4c02542fc
Commit: 0ffa377c6b2583ecb326af8b9084951a106d3881
https://github.com/llvm/llvm-project/commit/0ffa377c6b2583ecb326af8b9084951a106d3881
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
Log Message:
-----------
[ThinLTO] Shrink GlobalValueSummary by 8 bytes (#107342)
During the ThinLTO indexing step for one of our large applications, we
create 7.5 million instances of GlobalValueSummary.
Changing:
std::vector<ValueInfo> RefEdgeList;
to:
SmallVector<ValueInfo, 0> RefEdgeList;
in GlobalValueSummary reduces the size of each instance by 8 bytes.
The rest of the patch makes the same change to other places so that
the types stay compatible across function boundaries.
Commit: 2e9b3316ee8b4339e2f023173db780ea09c44a88
https://github.com/llvm/llvm-project/commit/2e9b3316ee8b4339e2f023173db780ea09c44a88
Author: Chris Apple <cja-private at pm.me>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M compiler-rt/lib/rtsan/CMakeLists.txt
M compiler-rt/lib/rtsan/rtsan.cpp
M compiler-rt/lib/rtsan/rtsan_context.cpp
A compiler-rt/lib/rtsan/rtsan_flags.cpp
A compiler-rt/lib/rtsan/rtsan_flags.h
A compiler-rt/lib/rtsan/rtsan_flags.inc
M compiler-rt/lib/rtsan/rtsan_stack.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_context.cpp
A compiler-rt/test/rtsan/unrecognized_flags.cpp
M llvm/test/Unit/lit.cfg.py
M llvm/utils/lit/lit/TestingConfig.py
M llvm/utils/lit/lit/llvm/config.py
Log Message:
-----------
[compiler-rt][rtsan] Introduce RTSAN_OPTIONS and flags (#107174)
This matches much of the boilerplate found in the other sanitizers.
Commit: df138625df5881c7e593db13fa13cf39d68856cf
https://github.com/llvm/llvm-project/commit/df138625df5881c7e593db13fa13cf39d68856cf
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
Log Message:
-----------
AMDGPU: Remove unnecessary pointer bitcast
Commit: a6577791d4ed8ca7f548598fb179c473d275178b
https://github.com/llvm/llvm-project/commit/a6577791d4ed8ca7f548598fb179c473d275178b
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
LV: fix style after cursory reading (NFC) (#105830)
Commit: fb1494137e551448d8742d5e6367bf62e923598d
https://github.com/llvm/llvm-project/commit/fb1494137e551448d8742d5e6367bf62e923598d
Author: Chris Apple <cja-private at pm.me>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/include/clang/Basic/Features.def
A clang/test/Lexer/has_feature_realtime_sanitizer.cpp
Log Message:
-----------
[clang][rtsan] Add realtime_sanitizer to Features.def (#106650)
Allows us to introduce the scoped disabler in #106736
Commit: 59f8796aaabc1ce400a8698431d3c6bfab4ad1a4
https://github.com/llvm/llvm-project/commit/59f8796aaabc1ce400a8698431d3c6bfab4ad1a4
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/CMakeLists.txt
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/include/llvm/ADT/Any.h
M llvm/include/llvm/Analysis/LazyCallGraph.h
M llvm/include/llvm/Analysis/LoopInfo.h
M llvm/include/llvm/Analysis/LoopNestAnalysis.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/Support/Compiler.h
M llvm/tools/llvm-shlib/CMakeLists.txt
M llvm/utils/TableGen/Basic/CMakeLists.txt
M llvm/utils/TableGen/Common/CMakeLists.txt
Log Message:
-----------
Initial changes for llvm shared library build using explicit visibility annotations
These are my initial build and code changes to supporting building llvm
as shared library/DLL on windows(without force exporting all symbols)
and making symbol visibility hidden by default on Linux which adding
explicit symbol visibility macros to the whole llvm codebase.
Updated cmake code to allow building llvm-shlib on windows by appending
/WHOLEARCHIVE:lib to the linker options.
Remove the hardcoded CMake error from using LLVM_BUILD_LLVM_DYLIB on
windows.
Updated CMake to define new macros to control conditional export macros
in llvm/Support/Compiler.h
Use /Zc:dllexportInlines- when compiling with clang-cl on windows with a
opt out CMake option to disable using it.
Replace some use of LLVM_EXTERNAL_VISIBILITY with new export macros.
Some of the cmake and code changes are based on @tstellar's earlier PR
https://github.com/llvm/llvm-project/pull/67502.
I have Windows building using clang-cl, while for MSVC its at-least able
to build libllvm, but some tests can't build because llvm iterator
template metaprogramming that doesn't work well with dllexport. Linux
should build without issue. My full branch is here
https://github.com/fsfod/llvm-project/tree/llvm-export-api-20.0 and
including all the auto generated export macros from clang tooling based
system.
Commit: c014db47ca298ad7a0f52a57c3bfc2a9914371b2
https://github.com/llvm/llvm-project/commit/c014db47ca298ad7a0f52a57c3bfc2a9914371b2
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
[ADT] Remove the const variant of LookupBucketFor in DenseMap (#107608)
DenseMap has const and non-const variants of LookupBucketFor to find a
bucket for insertion purposes. Now that queries (e.g. find, contains,
and erase) have been migrated to use doFind instead of
LookupBucketFor, nobody uses the const variant of LookupBucketFor.
This patch removes the const variant.
As far as the logistics go, the non-const variant calls the const
variant with a couple of const_cast, so this patch repurposes the
const variant as the non-const one while removing the original
non-const variant.
Commit: fd2da9e5818ec6e53100f92c9eb6ed4f1b0b99eb
https://github.com/llvm/llvm-project/commit/fd2da9e5818ec6e53100f92c9eb6ed4f1b0b99eb
Author: vporpo <vporpodas at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement PoisonValue (#107324)
This patch implements sandboxir::PoisonValue mirroring
llvm::PoisonValue.
Commit: 4c1a6a29cce08cd6229a0c5a8b18a8319588d858
https://github.com/llvm/llvm-project/commit/4c1a6a29cce08cd6229a0c5a8b18a8319588d858
Author: Tarun Prabhu <tarun at lanl.gov>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
A flang/test/Driver/q-unused-arguments.f90
Log Message:
-----------
[flang][Driver] Support -Qunused-arguments (#107462)
This partially addresses:
https://github.com/llvm/llvm-project/issues/89888
Commit: 0745219d4a8fc26fe149d851be285f78568afa70
https://github.com/llvm/llvm-project/commit/0745219d4a8fc26fe149d851be285f78568afa70
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-param-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SMInstructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.prefetch.data.ll
Log Message:
-----------
[AMDGPU] Add target intrinsic for s_buffer_prefetch_data (#107293)
Commit: 5d146c689e28e2878ba5a1aab9560e3c4fa2c2e1
https://github.com/llvm/llvm-project/commit/5d146c689e28e2878ba5a1aab9560e3c4fa2c2e1
Author: Chris Apple <cja-private at pm.me>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M compiler-rt/include/CMakeLists.txt
A compiler-rt/include/sanitizer/rtsan_interface.h
M compiler-rt/lib/rtsan/rtsan.h
A compiler-rt/test/rtsan/disabler.cpp
Log Message:
-----------
[compiler-rt][rtsan] Introduce rtsan_interface.h and ScopedDisabler (#106736)
Commit: 7f77db4ffca9b275b40e8720208a03dd6cbc390e
https://github.com/llvm/llvm-project/commit/7f77db4ffca9b275b40e8720208a03dd6cbc390e
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/include/BUILD.gn
Log Message:
-----------
[gn] port 5d146c689e28
Commit: d60ca0c913f7521ee05da08a8a0c9dda1c439c88
https://github.com/llvm/llvm-project/commit/d60ca0c913f7521ee05da08a8a0c9dda1c439c88
Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M compiler-rt/lib/builtins/divsc3.c
M compiler-rt/lib/builtins/fp_lib.h
M compiler-rt/test/builtins/Unit/divsc3_test.c
Log Message:
-----------
[compiler-rt][builtins]Adjust complex division for aarch64 (#106664)
Adjust __divsc3 to ensure consistent behavior across x86_64 and AArch64 when the divisor should be treated as infinity if one of its components is a NaN (including signaling NaNs).
Test plan: ninja check-all
Commit: 1a6df6756d3530e4de70bb8afa2acc1ddfb22867
https://github.com/llvm/llvm-project/commit/1a6df6756d3530e4de70bb8afa2acc1ddfb22867
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn
Log Message:
-----------
[gn build] Port d4d4e7791811
Commit: f6196e7f9edcca9f178fbe5baa67da2bd94190f8
https://github.com/llvm/llvm-project/commit/f6196e7f9edcca9f178fbe5baa67da2bd94190f8
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port f8350f13020a
Commit: de88d7db7b77141297fbb5638ee1e18d1fba53b8
https://github.com/llvm/llvm-project/commit/de88d7db7b77141297fbb5638ee1e18d1fba53b8
Author: ziqingluo-90 <ziqing_luo at apple.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Fix a bug in "warning libc functions (#101583)"
The commit d7dd2c468fecae871ba67e891a3519c758c94b63 crashes for such
an example:
```
void printf() { printf(); }
```
Because it assumes `printf` must have arguments. This commit fixes
this issue.
(rdar://117182250)
Commit: 941841b19d4f8832012f0c6ccd57954917369a3b
https://github.com/llvm/llvm-project/commit/941841b19d4f8832012f0c6ccd57954917369a3b
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/unittests/IR/VectorTypesTest.cpp
Log Message:
-----------
[Vectorize] Update comment of getSubdividedVectorType (#107632)
The original comment here is wrong, as demonstrated by the included
test.
Update the comment to reflect what getSubdividedVectorType actually
does.
Commit: 876b0e60feb6ee4eabb1c8b52881117ce93b3c4c
https://github.com/llvm/llvm-project/commit/876b0e60feb6ee4eabb1c8b52881117ce93b3c4c
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M libc/hdr/types/CMakeLists.txt
M libc/src/signal/linux/CMakeLists.txt
Log Message:
-----------
[libc] Fix signal's dependency on the proxy header sighandler_t. (#107605)
Commit: 787cd8f0fee8659335b0ed501d6896275d936f3d
https://github.com/llvm/llvm-project/commit/787cd8f0fee8659335b0ed501d6896275d936f3d
Author: gulfemsavrun <gulfem at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
A compiler-rt/test/profile/Linux/instrprof-debug-info-correlate-debuginfod.c
A compiler-rt/test/profile/instrprof-binary-correlate-debuginfod.c
M compiler-rt/test/profile/lit.cfg.py
M llvm/docs/CommandGuide/llvm-profdata.rst
M llvm/include/llvm/ProfileData/InstrProfCorrelator.h
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/lib/ProfileData/InstrProfCorrelator.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/tools/llvm-profdata/CMakeLists.txt
M llvm/tools/llvm-profdata/llvm-profdata.cpp
Log Message:
-----------
[InstrProf] Add debuginfod correlation support (#106606)
This patch adds debuginfod support into llvm-profdata to
find the assosicated executable by a build id in a raw
profile to correlate a profile with a provided correlation
kind (debug-info or binary).
Commit: 6cb2d40387f613c72ec8f66e47a5eb0f7e4b0f1f
https://github.com/llvm/llvm-project/commit/6cb2d40387f613c72ec8f66e47a5eb0f7e4b0f1f
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Analysis/CtxProfAnalysis.cpp
A llvm/test/Analysis/CtxProfAnalysis/load-unapplicable.ll
Log Message:
-----------
[ctx_prof] Handle case when no root is in this Module. (#107463)
If none of the functions in this `Module` are roots in the contextual profile, we can't use it and should just return the `{}` case.
Commit: 775c50709c2d18acc085c089392847c5968457b9
https://github.com/llvm/llvm-project/commit/775c50709c2d18acc085c089392847c5968457b9
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/include/llvm/ProfileData/ProfileCommon.h
A llvm/include/llvm/Transforms/Instrumentation/PGOCtxProfFlattening.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
A llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
A llvm/test/Analysis/CtxProfAnalysis/flatten-always-removes-instrumentation.ll
A llvm/test/Analysis/CtxProfAnalysis/flatten-and-annotate.ll
Log Message:
-----------
[ctx_prof] Flattened profile lowering pass (#107329)
Pass to flatten and lower the contextual profile to profile (i.e. `MD_prof`) metadata. This is expected to be used after all IPO transformations have happened.
Prior to lowering, the instrumentation is maintained during IPO and the contextual profile is kept in sync (see PRs #105469, #106154). Flattening (#104539) sums up all the counters belonging to all a function's context nodes.
We first propagate counter values (from the flattened profile) using the same propagation algorithm as `PGOUseFunc::populateCounters`, then map the edge values to `branch_weights`. Functions. in the module that don't have an entry in the flattened profile are deemed cold, and any `MD_prof` metadata they may have is reset. The profile summary is also reset at this point.
Issue [#89287](https://github.com/llvm/llvm-project/issues/89287)
Commit: fc7a8936208847b66df9b5f93ba2222b93b9f8b6
https://github.com/llvm/llvm-project/commit/fc7a8936208847b66df9b5f93ba2222b93b9f8b6
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M libc/utils/MPFRWrapper/CMakeLists.txt
Log Message:
-----------
[libc] Remove -ffreestanding when building MPFR wrapper. (#107637)
MPFR/GMP headers do not work with -ffreestanding flags.
Commit: 7815abec165114da29e191022c2816f857b1984f
https://github.com/llvm/llvm-project/commit/7815abec165114da29e191022c2816f857b1984f
Author: Bill Wendling <morbo at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseDecl.cpp
Log Message:
-----------
[Parser][NFC] Move the core parsing of an attribute into a separate method (#107300)
Refactor attribute parsing so that the main code parsing an attribute
can be called by a separate code path that doesn't start with the
'__attribute' keyword.
Commit: 70fcdb3d52272eba96d4b268d334826690524f50
https://github.com/llvm/llvm-project/commit/70fcdb3d52272eba96d4b268d334826690524f50
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/unittests/Support/VirtualFileSystemTest.cpp
Log Message:
-----------
[llvm][support] Implement tracing virtual file system (#88326)
LLVM-based tools often use the `llvm::vfs::FileSystem` instrastructure
to access the file system. This patch adds new kind of a VFS that
performs lightweight tracing of file system operations on an underlying
VFS. This is supposed to aid in investigating file system traffic
without resorting to instrumentation on the operating system level.
There will be follow-up patches that integrate this into Clang and its
dependency scanner.
Commit: eacda48a00378e2aed777633f42e2161c870250a
https://github.com/llvm/llvm-project/commit/eacda48a00378e2aed777633f42e2161c870250a
Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
R compiler-rt/test/builtins/Unit/compiler_rt_fmaxf_test.c
Log Message:
-----------
[compiler-rt][builtins] Delete test __compiler_rt_fmaxf
Delete test for the removed helper function __compiler_rt_fmaxf.
This is a follow-up to d60ca0c913.
Commit: 92cd66d905aa63fe4d77bb632812dff87e0e1c08
https://github.com/llvm/llvm-project/commit/92cd66d905aa63fe4d77bb632812dff87e0e1c08
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp
Log Message:
-----------
[clang][deps][test] Update reference to tracing VFS
This fixes build failure introduced by 70fcdb3d52272eba96d4b268d334826690524f50.
Commit: 70ff6501e6aa3e416833d6e18c9fc7d0544460d5
https://github.com/llvm/llvm-project/commit/70ff6501e6aa3e416833d6e18c9fc7d0544460d5
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/sve-fptoi.ll
Log Message:
-----------
[AArch64] Auto-generate check-lines in cost model test.
Auto-generate check lines for easier updating.
Commit: f6df5cd24d5e80eb6f92a83f52c10aed3c406a2e
https://github.com/llvm/llvm-project/commit/f6df5cd24d5e80eb6f92a83f52c10aed3c406a2e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
Log Message:
-----------
[CtxProf] Fix warnings
This patch fixes:
llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp:214:14:
error: unused variable 'Index' [-Werror,-Wunused-variable]
llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp:284:6:
error: unused function 'areAllBBsReachable'
[-Werror,-Wunused-function]
Commit: 086ee762cb95f7a629ba43110cf1945020cdce9b
https://github.com/llvm/llvm-project/commit/086ee762cb95f7a629ba43110cf1945020cdce9b
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp
Log Message:
-----------
[sanitizer] Remove "null" for 256 allocations in test
Very rarely this case can return all non-null
for all allocations, making this test flaky.
Commit: dc62bc8909d8136f8cd9d9ae3efc064e5aa712d7
https://github.com/llvm/llvm-project/commit/dc62bc8909d8136f8cd9d9ae3efc064e5aa712d7
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
Log Message:
-----------
[nfc][ctx_prof] Remove spurious `#include` in PGOCtxProfFlattening.cpp
Re. PR ##107329, 2 includes weren't necessary - the CodeGen one, in
particular, seemed accidentally (IDE) introduced.
Commit: 9700ca0a3067ced47de956b2c79781320cf7e708
https://github.com/llvm/llvm-project/commit/9700ca0a3067ced47de956b2c79781320cf7e708
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] add missing dependencies
Commit: 49660e5565a3b4f1ec29d6c95b6d6576d398eaf1
https://github.com/llvm/llvm-project/commit/49660e5565a3b4f1ec29d6c95b6d6576d398eaf1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
M llvm/test/CodeGen/RISCV/double-arith.ll
M llvm/test/CodeGen/RISCV/double-bitmanip-dagcombines.ll
M llvm/test/CodeGen/RISCV/double-imm.ll
M llvm/test/CodeGen/RISCV/double-intrinsics.ll
M llvm/test/CodeGen/RISCV/fastcc-without-f-reg.ll
M llvm/test/CodeGen/RISCV/float-arith.ll
M llvm/test/CodeGen/RISCV/float-bitmanip-dagcombines.ll
M llvm/test/CodeGen/RISCV/float-intrinsics.ll
M llvm/test/CodeGen/RISCV/float-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/half-round-conv-sat.ll
Log Message:
-----------
[RISCV] Pass f32/f64 directly without a bitcast for Zfinx/Zdinx. (#107464)
With Zfinx/Zdinx, f32/f64 are legal types for a GPR, we don't need a
bitcast.
This avoids turning fneg/fabs into bitwise operations purely because of
these bitcasts. If the bitwise operations are faster for some reason on
a Zfinx CPU, then that seems like it should be done for all fneg/fabs,
not just ones near function arguments/returns.
I don't have much interest in Zfinx, this just makes the code more
similar to what I proposed for Zhinx in #107446.
Commit: d5d3f989689978850b23e6a3ab4520fb6e4f8b52
https://github.com/llvm/llvm-project/commit/d5d3f989689978850b23e6a3ab4520fb6e4f8b52
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
Log Message:
-----------
[LTO] Modernize AliasSummary and ModuleSummaryIndex (NFC) (#107633)
Commit: 62ae01201fc7185aca61d040c4f2df5303bae0ad
https://github.com/llvm/llvm-project/commit/62ae01201fc7185aca61d040c4f2df5303bae0ad
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/leaks.cpp
Log Message:
-----------
[asan] Try to deflake the test
`10000000` unlikely uncovers new cases in the code,
but probably causing OOM before leak detection.
Commit: d1b9adb05c329211a5f29935744b367c34c391d4
https://github.com/llvm/llvm-project/commit/d1b9adb05c329211a5f29935744b367c34c391d4
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/include/llvm/Support/Compiler.h
M llvm/include/llvm/Transforms/Scalar/GVN.h
Log Message:
-----------
Fix compiler errors in GVN.h for clang versions older than 15 (#107636)
Fix compiler errors in GVN.h from clang versions older than 15 that
don't support gnu style attribute on namespaces. @tstellar, @compnerd.
Commit: 3a13c5a2862fdc957d751a7679581d5da151efc2
https://github.com/llvm/llvm-project/commit/3a13c5a2862fdc957d751a7679581d5da151efc2
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M compiler-rt/test/tsan/signal_block.cpp
M compiler-rt/test/tsan/signal_reset.cpp
M compiler-rt/test/tsan/signal_thread2.cpp
Log Message:
-----------
[tsan] Disable tests flaky on PPC with COMPILER_RT_DEBUG
Workaround for https://github.com/google/sanitizers/issues/1792
Commit: d4ddf06b0c7f38612f334db71ef1d7a58a3cc8e0
https://github.com/llvm/llvm-project/commit/d4ddf06b0c7f38612f334db71ef1d7a58a3cc8e0
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/docs/tools/clang-formatted-files.txt
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
R llvm/include/llvm/LTO/SummaryBasedOptimizations.h
R llvm/include/llvm/Transforms/IPO/SyntheticCountsPropagation.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/ModuleSummaryIndex.cpp
M llvm/lib/LTO/CMakeLists.txt
M llvm/lib/LTO/LTO.cpp
R llvm/lib/LTO/SummaryBasedOptimizations.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/IPO/CMakeLists.txt
R llvm/lib/Transforms/IPO/SyntheticCountsPropagation.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
R llvm/test/Bitcode/thinlto-synthetic-count-flag.ll
R llvm/test/ThinLTO/X86/function_entry_count.ll
R llvm/test/Transforms/SyntheticCountsPropagation/initial.ll
R llvm/test/Transforms/SyntheticCountsPropagation/prop.ll
R llvm/test/Transforms/SyntheticCountsPropagation/scc.ll
M llvm/utils/gn/secondary/llvm/lib/LTO/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Transforms/IPO/BUILD.gn
Log Message:
-----------
[NFCI]Remove EntryCount from FunctionSummary and clean up surrounding synthetic count passes. (#107471)
The primary motivation is to remove `EntryCount` from `FunctionSummary`.
This frees 8 bytes out of `sizeof(FunctionSummary)` (136 bytes as of
https://github.com/llvm/llvm-project/commit/64498c54831bed9cf069e0923b9b73678c6451d8).
While I'm at it, this PR clean up {SummaryBasedOptimizations,
SyntheticCountsPropagation} since they were not used and there are no
plans to further invest on them.
With this patch, bitcode writer writes a placeholder 0 at the byte
offset of `EntryCount` and bitcode reader can parse the function entry
count at the correct byte offset. Added a TODO to stop writing
`EntryCount` and bump bitcode version
Commit: 9e1e36d52cfb6861c063395c45c513f68c6f4499
https://github.com/llvm/llvm-project/commit/9e1e36d52cfb6861c063395c45c513f68c6f4499
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/fastcc-half.ll
Log Message:
-----------
[RISCV] Add Zfhmin fastcc test. NFC
Commit: 748ae69b5d0ed9205e9da5121bd780d283aab164
https://github.com/llvm/llvm-project/commit/748ae69b5d0ed9205e9da5121bd780d283aab164
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
A llvm/test/CodeGen/RISCV/fastcc-bf16.ll
Log Message:
-----------
[RISCV] Add fastcc support for bf16 with Zfbfmin.
Commit: a7f152f59b1d64c6e1698fc68ffff40c4911e11a
https://github.com/llvm/llvm-project/commit/a7f152f59b1d64c6e1698fc68ffff40c4911e11a
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
Log Message:
-----------
[Bitcode] Fix -Wunused-but-set-variable in BitcodeReader.cpp (NFC)
/llvm-project/llvm/lib/Bitcode/Reader/BitcodeReader.cpp:7795:16:
error: variable 'EntryCount' set but not used [-Werror,-Wunused-but-set-variable]
uint64_t EntryCount = 0;
^
1 error generated.
Commit: adf44d5c3ea03569f019740e1140c3205810b3fa
https://github.com/llvm/llvm-project/commit/adf44d5c3ea03569f019740e1140c3205810b3fa
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M lldb/test/API/commands/expression/import-std-module/deque-dbg-info-content/Makefile
M lldb/test/API/commands/expression/import-std-module/list-dbg-info-content/Makefile
M lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/Makefile
Log Message:
-----------
[lldb] Fix some tests that fail with system libstdc++ (#106885)
This is a revert of b1fcc1840c312472cb9ccb8c4e5e02ca13b31113.
These tests weren't working on Ubuntu 22.04 or Fedora 37-40. I'm not
sure exactly why, but it seems like they may be incompatible with
libstdc++. Also, despite the fact that the tests were using the system
libstdc++, the tests were only run when libcxx was enabled.
I tested this with a RelWithDebInfo build and the tests passed.
Fixes #106475
Commit: d5ef3f8c94c2857929ce28a31ec41ddb515ea5a4
https://github.com/llvm/llvm-project/commit/d5ef3f8c94c2857929ce28a31ec41ddb515ea5a4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
M llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
Log Message:
-----------
[RISCV] Support fastcc passing scalable vectors indirectly with no free GPRs. (#107623)
We can still pass indirectly by putting the pointer on the stack. This
is what we do in the normal calling convention.
Commit: 78315a383847860bebb5ef2860627d721cb9147a
https://github.com/llvm/llvm-project/commit/78315a383847860bebb5ef2860627d721cb9147a
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/llvm-profdata/BUILD.gn
Log Message:
-----------
[gn] port 787cd8f0fee8 (llvm-profdata debuginfod dep)
Commit: 166baf3bebbb61123bd9b2e599d41a47bac9c986
https://github.com/llvm/llvm-project/commit/166baf3bebbb61123bd9b2e599d41a47bac9c986
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
Log Message:
-----------
[gn build] Port 775c50709c2d
Commit: f93114d7004ebf6443dd2b6e557b57209fd58852
https://github.com/llvm/llvm-project/commit/f93114d7004ebf6443dd2b6e557b57209fd58852
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
Log Message:
-----------
[RISCV] Use int64_t for offsets returned from CCState::AllocateStack. NFC
AllocateStack returns int64_t and CCValAssign::getMem expects an
int64_t. The interfaces used unsigned prior to
da42b2846c82063bd1bce78d6a046f78f218eb72.
Offsets for RISC-V should be positive and less than 32-bits so this
shouldn't be a functional change.
Commit: 644c9020ff6fac98cbffcbf33c7e273f14670658
https://github.com/llvm/llvm-project/commit/644c9020ff6fac98cbffcbf33c7e273f14670658
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/test/Analysis/CtxProfAnalysis/full-cycle.ll
M llvm/test/Analysis/CtxProfAnalysis/load.ll
Log Message:
-----------
[ctx_prof] Fix nondeterminism in CtxProfAnalysisPrinterPass
Using a `std::map` instead of a `DenseMap` for the FuncInfo
member.
Addresses the ctx_prof part of Issue #106855
Commit: 2bf551e6005d138237e13cd2aa9a6b04119aea0d
https://github.com/llvm/llvm-project/commit/2bf551e6005d138237e13cd2aa9a6b04119aea0d
Author: dyung <douglas.yung at sony.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/test/Transforms/LoopStrengthReduce/2011-10-03-CritEdgeMerge.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-invalid-ptr-extend.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/2011-11-29-postincphi.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/expander-crashes.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/missing-phi-operand-update.ll
M llvm/test/Transforms/LoopStrengthReduce/preserve-lcssa.ll
Log Message:
-----------
Revert "[LSR] Do not create duplicated PHI nodes while preserving LCSSA form" (#107666)
Reverts llvm/llvm-project#107380
Change is causing the test preserve-lcssa.ll to fail on at least 2 build
bots:
- https://lab.llvm.org/buildbot/#/builders/190/builds/5231
- https://lab.llvm.org/buildbot/#/builders/161/builds/1855
Commit: 9a84afefa1ab98c5315ad2e7a78e8cdc6372e153
https://github.com/llvm/llvm-project/commit/9a84afefa1ab98c5315ad2e7a78e8cdc6372e153
Author: Argyrios Kyrtzidis <kyrtzidis at apple.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/include/clang/Tooling/Inclusions/StandardLibrary.h
M llvm/include/llvm/Analysis/SyntheticCountsUtils.h
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
Log Message:
-----------
Fix build errors with a `LLVM_ENABLE_MODULES=ON` build (#107654)
The errors fixed were:
* llvm-project/llvm/include/llvm/Analysis/SyntheticCountsUtils.h:33:22:
error: missing '#include <__fwd/vector.h>'; default argument of 'vector'
must be defined before it is used
*
llvm-project/clang/include/clang/Tooling/Inclusions/StandardLibrary.h:41:15:
error: missing '#include <vector>'; 'vector' must be declared before it
is used
*
llvm-project/llvm/include/llvm/Transforms/InstCombine/InstCombiner.h:83:3:
error: missing '#include "llvm/ADT/PostOrderIterator.h"';
'ReversePostOrderTraversal' must be declared before it is used
Commit: e6e857cdf9826032dcb12e660d9d84b9f1865ae3
https://github.com/llvm/llvm-project/commit/e6e857cdf9826032dcb12e660d9d84b9f1865ae3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/test/CodeGen/ARM/GlobalISel/arm-unsupported.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vec-args-bf16-err.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vec-args-f16-err.ll
Log Message:
-----------
[GISel] Use Function::getFunctionType() instead of getType() in some remarks. (#107651)
getType() on a Function is always 'ptr'. We should use getFunctionType()
so we get the function signature.
Commit: d7fb5b9df0a8170d082e6f8f254e723283f76bac
https://github.com/llvm/llvm-project/commit/d7fb5b9df0a8170d082e6f8f254e723283f76bac
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
Log Message:
-----------
[ctx_prof] PGOCtxProfFlattener must always return `PreservedAnalyses::none()`
This is because it always removes instrumentation. This fixes failures
detectable with extensive checks, e.g. https://lab.llvm.org/buildbot/#/builders/187/builds/987
(Related to PR #107329)
Commit: 090b07f2e1a26d33a1c1f0c4d92b498d5738ff7a
https://github.com/llvm/llvm-project/commit/090b07f2e1a26d33a1c1f0c4d92b498d5738ff7a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Simplify some code in unpackFromMemLoc. NFC
Use VA.getLocInfo() == CCValAssign::Indirect instead of checking
for scalable vector VT.
Commit: 1d2da210a2f04af53b10fc9d91dcd1e0eed61140
https://github.com/llvm/llvm-project/commit/1d2da210a2f04af53b10fc9d91dcd1e0eed61140
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/test/Analysis/CtxProfAnalysis/load-unapplicable.ll
Log Message:
-----------
[nfc][ctx_prof] Test comments and more clarity in values.
Commit: 60eb9b214cdcf482069ac4d5da9490b3bbd81b6a
https://github.com/llvm/llvm-project/commit/60eb9b214cdcf482069ac4d5da9490b3bbd81b6a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode] Fix reinterpret casts of two non-primitive types (#107564)
We don't want to allow e.g. cast from a record to an array or the other
way arround.
Commit: eef8116be169de2a7a55b2a9b003efd2c7ee0be0
https://github.com/llvm/llvm-project/commit/eef8116be169de2a7a55b2a9b003efd2c7ee0be0
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/InterpStack.cpp
M clang/lib/AST/ByteCode/InterpStack.h
Log Message:
-----------
[clang][bytecode] Only visit local variables if they have constant init (#107576)
See the comment I added for why this is weird. We might want to have a
different mechanism for this in the future.
Fixes https://github.com/llvm/llvm-project/issues/101801
Commit: fe6c025037f0b2b52725b5e912dbda9eb3371ad3
https://github.com/llvm/llvm-project/commit/fe6c025037f0b2b52725b5e912dbda9eb3371ad3
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
M llvm/test/Analysis/CtxProfAnalysis/full-cycle.ll
M llvm/test/Analysis/CtxProfAnalysis/load.ll
Log Message:
-----------
[nfc][ctx_prof] Fix the second source of nondeterminism in `CtxProfAnalysisPrinterPass`
Verified on a build with `LLVM_REVERSE_ITERATION=ON`
Issue #106855
Commit: 3242e7784190b6e544ec4018706fa5923a20a98e
https://github.com/llvm/llvm-project/commit/3242e7784190b6e544ec4018706fa5923a20a98e
Author: Austin <71816933+Zhenhang1213 at users.noreply.github.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/big-endian-neon-fp16-bitconv.ll
M llvm/test/CodeGen/ARM/big-endian-vmov.ll
M llvm/test/CodeGen/ARM/vmov.ll
M llvm/test/CodeGen/Thumb2/mve-be.ll
M llvm/test/CodeGen/Thumb2/mve-masked-ldst.ll
M llvm/test/CodeGen/Thumb2/mve-pred-bitcast.ll
M llvm/test/CodeGen/Thumb2/mve-pred-loadstore.ll
M llvm/test/CodeGen/Thumb2/mve-pred-spill.ll
M llvm/test/CodeGen/Thumb2/mve-vmovimm.ll
Log Message:
-----------
[ARM][Codegen] Fix vector data miscompilation in arm32be (#105519)
Fix #102418, resolved the issue of generating incorrect vrev during
vectorization in big-endian scenarios
Commit: 83fea8b809b284594e6dd133150bb6d365775e5b
https://github.com/llvm/llvm-project/commit/83fea8b809b284594e6dd133150bb6d365775e5b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpFrame.h
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/State.h
M clang/lib/AST/ExprConstant.cpp
M clang/test/AST/ByteCode/codegen.cpp
Log Message:
-----------
[clang][bytecode] Allow continuing when discarded MemberExpr Base fails (#107231)
We don't need the value in this case, since we're discarding it anyway.
Allow continuing the interpretation but note the side effect.
Commit: 610b85395d233b5cbc5a1f112ac3039b888c0a88
https://github.com/llvm/llvm-project/commit/610b85395d233b5cbc5a1f112ac3039b888c0a88
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
M clang/lib/AST/ByteCode/DynamicAllocator.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Implement __builtin_operator{new,delete} (#107672)
Commit: 7d4afba831bcf9b3e50ee7b6a3fbc9c0a7c61597
https://github.com/llvm/llvm-project/commit/7d4afba831bcf9b3e50ee7b6a3fbc9c0a7c61597
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/Function.h
Log Message:
-----------
[clang][bytecode][NFC] Fix Function::getName() for non-decl functions
Commit: 78cf9b830c78daa5aed51b5ca77bb7db9974d1ec
https://github.com/llvm/llvm-project/commit/78cf9b830c78daa5aed51b5ca77bb7db9974d1ec
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Opcodes.td
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Implement using operator new/operator delete (#107679)
Reuse the __builtin_operator_{new,delete} implementations.
Commit: 6df12912964caf118c0c8019d7ec681e6ad8bf5c
https://github.com/llvm/llvm-project/commit/6df12912964caf118c0c8019d7ec681e6ad8bf5c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/pull-conditional-binop-through-shift.ll
M llvm/test/CodeGen/X86/select.ll
Log Message:
-----------
[X86] LowerSELECTWithCmpZero - extend branchless OR/XOR select codegen to handle ADD/SUB as well (#107612)
Extend the "SELECT ((AND X, 1) != 0), Y, (OR/XOR Y, Z) -> (OR/XOR Y, (AND (NEG(AND X, 1)), Z))" to also handle ADD/SUB.
As SUB is not commutative, we have to be more careful and only accept LHS matches.
Commit: 0ceffd362bf01769fa310103b11af9cdc12e2f5b
https://github.com/llvm/llvm-project/commit/0ceffd362bf01769fa310103b11af9cdc12e2f5b
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/include/llvm/TableGen/Error.h
M llvm/lib/TableGen/Error.cpp
A llvm/test/TableGen/intrinsic-prefix-error.td
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/IntrinsicEmitter.cpp
Log Message:
-----------
[TableGen] Add PrintError family overload that take a print function (#107333)
Add PrintError and family overload that accepts a print function. This
avoids constructing potentially long strings for passing into these
print functions.
Commit: d6d60707ec2b60843c5bfc2c3bc44e4478add17a
https://github.com/llvm/llvm-project/commit/d6d60707ec2b60843c5bfc2c3bc44e4478add17a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Pointer.h
A clang/test/AST/ByteCode/initializer_list.cpp
Log Message:
-----------
[clang][bytecode] Fix two-pointer-style std::initializer_lists (#107682)
The first pointer needs to point to the first element of the underlying
array. This requires some changes to how we handle array expansion
Commit: 056a1676cbe43ce22b65a500a2dc9916fd575563
https://github.com/llvm/llvm-project/commit/056a1676cbe43ce22b65a500a2dc9916fd575563
Author: wldfngrs <wldfngrs at gmail.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/stack_t.h
M libc/src/signal/linux/CMakeLists.txt
M libc/src/signal/linux/sigaltstack.cpp
M libc/src/signal/sigaltstack.h
Log Message:
-----------
[libc] Add proxy header for the stack_t type (#107559)
added proxy header for the stack_t type and modified the corresponding
CMakeLists.txt files
Commit: 3ba0755d3e50c62d27ac9c37a0250f525dcad28d
https://github.com/llvm/llvm-project/commit/3ba0755d3e50c62d27ac9c37a0250f525dcad28d
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M clang/include/clang/Basic/OpenMPKinds.h
M clang/lib/Sema/SemaOpenMP.cpp
Log Message:
-----------
[clang][OpenMP] Simplify handling of implicit DSA/mapping information (#106786)
Create `VariableImplicitInfo` to hold the data. Most of it is used all
at once, so aggregating it seems like a good idea.
Commit: 307713aafc011844acdcb18ca6acbf3f2de29f5f
https://github.com/llvm/llvm-project/commit/307713aafc011844acdcb18ca6acbf3f2de29f5f
Author: David Green <david.green at arm.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/zext-shuffle.ll
Log Message:
-----------
[AArch64] Do not generate uitofp(ld4) where and/shift can be used. (#107538)
After #107201 and #107367 the codegen for zext(ld4) can use and / shift
to extract the lanes out of the original vectors elements. This avoids
the need for the expensive ld4 operations, so can lead to performance
improvements over using the interleaving loads and ushll.
This patch stops the generation of ld4 for uitofp(ld4) that would become
uitofp(zext(ld4)). It doesn't handle zext yet to make sure that widening
instructions like mull and addl are not adversely affected.
Commit: 11eae671b707618ad09915ecac3f910e3874b1af
https://github.com/llvm/llvm-project/commit/11eae671b707618ad09915ecac3f910e3874b1af
Author: David Green <david.green at arm.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/test/CodeGen/ARM/big-endian-vmov.ll
M llvm/test/CodeGen/Thumb2/mve-intrinsics/bitwise-imm.ll
M llvm/test/CodeGen/Thumb2/mve-vmovimm.ll
Log Message:
-----------
[ARM] Add and extend big-endian testing for vorrimm and vbicimm. NFC
Commit: 4b676e17d9f0e7e5cc3c8f9158a69174675a60f2
https://github.com/llvm/llvm-project/commit/4b676e17d9f0e7e5cc3c8f9158a69174675a60f2
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#107669)
Commit: 23a26e7120df474f37f7369e8e06fd90f21a58b5
https://github.com/llvm/llvm-project/commit/23a26e7120df474f37f7369e8e06fd90f21a58b5
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
Log Message:
-----------
[DFAJumpThreading] Avoid repeated hash lookups (NFC) (#107670)
Commit: 1b8e26ff26be7c769d68bc44920026f56ed588b6
https://github.com/llvm/llvm-project/commit/1b8e26ff26be7c769d68bc44920026f56ed588b6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
Log Message:
-----------
[RISCV] Use RISCVSubtarget to get XLen in CC_RISCV. NFC
Commit: a1e06f767440010f605b82d97950433f687e4b45
https://github.com/llvm/llvm-project/commit/a1e06f767440010f605b82d97950433f687e4b45
Author: Amr Hesham <amr96 at programmer.net>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorAttributes.td
Log Message:
-----------
[mlir][vector] Fix the enum type in vector::CombiningKind (#107681)
Change the enum type fo vector::CombiningKind from I32BitEnumAttrCaseBit
to I32EnumAttrCase
Fixes #107448
Commit: 51d3829d8fc5beba269629903365af75174de7f6
https://github.com/llvm/llvm-project/commit/51d3829d8fc5beba269629903365af75174de7f6
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/ModuleSummaryIndex.cpp
Log Message:
-----------
[ThinLTO] Shrink FunctionSummary by 8 bytes (#107706)
During the ThinLTO indexing step for one of our large applications, we
create 4 million instances of FunctionSummary.
Changing:
std::vector<EdgeTy> CallGraphEdgeList;
to:
SmallVector<EdgeTy, 0> CallGraphEdgeList;
in FunctionSummary reduces the size of each instance by 8 bytes. The
rest of the patch makes the same change to other places so that the
types stay compatible across function boundaries.
Commit: 6f6100f19ca1fc130a9c2bd2586d136805eafa89
https://github.com/llvm/llvm-project/commit/6f6100f19ca1fc130a9c2bd2586d136805eafa89
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
Log Message:
-----------
[Bitcode] Avoid repeated hash lookups (NFC) (#107708)
Commit: 9c86a7e9ec716fb54a0b74e13af12cb655723e53
https://github.com/llvm/llvm-project/commit/9c86a7e9ec716fb54a0b74e13af12cb655723e53
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M clang/lib/AST/OpenMPClause.cpp
Log Message:
-----------
[AST] Avoid repeated hash lookups (NFC) (#107709)
While I am at it, I'm renaming Cache to UniqueDecls and removing
TotalNum in favor of UniqueDecls.size().
Commit: a0c43be0e912bca178cec3f00b9f9f7388e9dbef
https://github.com/llvm/llvm-project/commit/a0c43be0e912bca178cec3f00b9f9f7388e9dbef
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/utils/TableGen/DXILEmitter.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#107710)
Commit: fa6580470547411667b866362941db0b02e25578
https://github.com/llvm/llvm-project/commit/fa6580470547411667b866362941db0b02e25578
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M clang-tools-extra/clangd/DumpAST.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTImporter.h
M clang/include/clang/AST/DependenceFlags.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/TemplateName.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/SemaTemplate/cwg2398.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[clang] Implement CWG2398 provisional TTP matching to class templates (#94981)
This extends default argument deduction to cover class templates as
well, applying only to partial ordering, adding to the provisional
wording introduced in https://github.com/llvm/llvm-project/pull/89807.
This solves some ambuguity introduced in P0522 regarding how template
template parameters are partially ordered, and should reduce the
negative impact of enabling `-frelaxed-template-template-args` by
default.
Given the following example:
```C++
template <class T1, class T2 = float> struct A;
template <class T3> struct B;
template <template <class T4> class TT1, class T5> struct B<TT1<T5>>; // #1
template <class T6, class T7> struct B<A<T6, T7>>; // #2
template struct B<A<int>>;
```
Prior to P0522, `#2` was picked. Afterwards, this became ambiguous. This
patch restores the pre-P0522 behavior, `#2` is picked again.
Commit: 0e775b8c6f14fb72892d0c838a66bf24a2dc8959
https://github.com/llvm/llvm-project/commit/0e775b8c6f14fb72892d0c838a66bf24a2dc8959
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
Log Message:
-----------
[RISCV] Move fixed vector LocVT change in CC_RISCV. NFC
We don't need to change the LocVT unless we succesfully allocated
a register.
Commit: 3d0f44f5ae9437005e90aa167d4180ff0d4fbe02
https://github.com/llvm/llvm-project/commit/3d0f44f5ae9437005e90aa167d4180ff0d4fbe02
Author: Chris Apple <cja-private at pm.me>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M compiler-rt/test/rtsan/basic.cpp
Log Message:
-----------
[rtsan] Add basic test for c compilation (#107717)
I was reminded of
https://github.com/realtime-sanitizer/radsan/issues/25, where we were
including C++ code that was never linked in C.
Adding this test to ensure that we don't break this functionality in the
future
Commit: dbb03f8f606e587e981fc5f9393283828e30907a
https://github.com/llvm/llvm-project/commit/dbb03f8f606e587e981fc5f9393283828e30907a
Author: Brian Cain <bcain at quicinc.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_redefine_builtins.h
Log Message:
-----------
[compiler-rt] Replace assignment w/.set directive (#107667)
These assignment statements are rejected by `llvm-mc --triple=hexagon`,
likely because the syntax so strongly resembles hexagon asm mnemonics.
The statements were being normalized by llvm-mc into `.set` directives
for most architectures, so I assume that this change is a portable one.
Commit: 6b67f79f5f851bfcd5a5861910aedc9e31f377b9
https://github.com/llvm/llvm-project/commit/6b67f79f5f851bfcd5a5861910aedc9e31f377b9
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M compiler-rt/test/lsan/TestCases/use_registers.cpp
Log Message:
-----------
[lsan] Deflake test on aarch64
Looks like registers are clobbered by sched_yield.
Commit: c1e3b990a9c194cd6c379130c3db028bfea8cf9d
https://github.com/llvm/llvm-project/commit/c1e3b990a9c194cd6c379130c3db028bfea8cf9d
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/InstCombineTables.td
M llvm/test/TableGen/searchabletables-intrinsic.td
M llvm/utils/TableGen/Common/CodeGenTarget.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.h
M llvm/utils/TableGen/Common/GlobalISel/PatternParser.cpp
M llvm/utils/TableGen/SearchableTableEmitter.cpp
Log Message:
-----------
[TableGen] Eliminate static CodeGenIntrinsicMap in PatternParser (#107339)
Instead, move it to CodeGenTarget class, and use it in both
PatternParser and SearchableTableEmitter.
Commit: b60c6cbc0b444b2d40742ec60c962c0be700f6b7
https://github.com/llvm/llvm-project/commit/b60c6cbc0b444b2d40742ec60c962c0be700f6b7
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M mlir/include/mlir/TableGen/CodeGenHelpers.h
M mlir/include/mlir/TableGen/GenInfo.h
M mlir/lib/TableGen/CodeGenHelpers.cpp
M mlir/lib/Tools/PDLL/Parser/Parser.cpp
M mlir/lib/Tools/mlir-tblgen/MlirTblgenMain.cpp
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/tools/mlir-tblgen/BytecodeDialectGen.cpp
M mlir/tools/mlir-tblgen/DirectiveCommonGen.cpp
M mlir/tools/mlir-tblgen/EnumPythonBindingGen.cpp
M mlir/tools/mlir-tblgen/EnumsGen.cpp
M mlir/tools/mlir-tblgen/OmpOpGen.cpp
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/tools/mlir-tblgen/OpDocGen.cpp
M mlir/tools/mlir-tblgen/OpGenHelpers.cpp
M mlir/tools/mlir-tblgen/OpGenHelpers.h
M mlir/tools/mlir-tblgen/OpInterfacesGen.cpp
M mlir/tools/mlir-tblgen/RewriterGen.cpp
M mlir/tools/tblgen-to-irdl/OpDefinitionsGen.cpp
Log Message:
-----------
[MLIR][TableGen] Migrate MLIR backends to use const RecordKeeper (#107505)
- Migrate MLIR backends to use a const RecordKeeper reference.
Commit: 98563b19c2d13bac7fb5ee2717ccae6279699e4c
https://github.com/llvm/llvm-project/commit/98563b19c2d13bac7fb5ee2717ccae6279699e4c
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M libc/utils/HdrGen/Command.h
M libc/utils/HdrGen/Generator.cpp
M libc/utils/HdrGen/Generator.h
M libc/utils/HdrGen/IncludeFileCommand.cpp
M libc/utils/HdrGen/IncludeFileCommand.h
M libc/utils/HdrGen/PrototypeTestGen/PrototypeTestGen.cpp
M libc/utils/HdrGen/PublicAPICommand.cpp
M libc/utils/HdrGen/PublicAPICommand.h
M libc/utils/LibcTableGenUtil/APIIndexer.cpp
M libc/utils/LibcTableGenUtil/APIIndexer.h
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
Log Message:
-----------
[libc][TableGen] Migrate libc-hdrgen backend to use const RecordKeeper (#107542)
Migrate libc-hdrgen backend to use const RecordKeeper
Commit: bcd586b5abfc7c22a1c0eca3a7abf18e7a09518d
https://github.com/llvm/llvm-project/commit/bcd586b5abfc7c22a1c0eca3a7abf18e7a09518d
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in annotating CastRParen (#107675)
Fixes #107568.
Commit: b93457073762bb347b6c7f39c23636dec036a815
https://github.com/llvm/llvm-project/commit/b93457073762bb347b6c7f39c23636dec036a815
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
Log Message:
-----------
[lldb] Update ScriptInterpreterLua for Status changes (NFC)
The Status constructor that takes an error has been removed in favor of
Status::FromError.
Commit: bb343468ffa8c2190fcdd0f704d370c75d3b5edd
https://github.com/llvm/llvm-project/commit/bb343468ffa8c2190fcdd0f704d370c75d3b5edd
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M lldb/include/lldb/API/SBMemoryRegionInfo.h
M lldb/include/lldb/API/SBSaveCoreOptions.h
M lldb/include/lldb/Symbol/SaveCoreOptions.h
R lldb/include/lldb/Target/CoreFileMemoryRanges.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Utility/RangeMap.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/include/lldb/lldb-forward.h
M lldb/include/lldb/lldb-private-interfaces.h
M lldb/source/API/SBSaveCoreOptions.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
M lldb/source/Symbol/SaveCoreOptions.cpp
M lldb/source/Target/CMakeLists.txt
R lldb/source/Target/CoreFileMemoryRanges.cpp
M lldb/source/Target/Process.cpp
M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
M lldb/unittests/Process/Utility/CMakeLists.txt
R lldb/unittests/Process/Utility/CoreFileMemoryRangesTest.cpp
Log Message:
-----------
Revert "[LLDB] Reappply SBSaveCore AddMemoryList" (#107731)
Reverts llvm/llvm-project#107159 as this is still causing
`TestSkinnyCorefile.py` to time out.
https://ci.swift.org/view/all/job/llvm.org/view/LLDB/job/as-lldb-cmake/11099/
https://ci.swift.org/view/all/job/llvm.org/view/LLDB/job/lldb-cmake/5544/
Commit: 718fbcb27194aefa8db45aed4b93bd0727196b3a
https://github.com/llvm/llvm-project/commit/718fbcb27194aefa8db45aed4b93bd0727196b3a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn
Log Message:
-----------
[gn build] Port bb343468ffa8
Commit: 482e7dc67b7de22a47aff63eda1dd719cda86267
https://github.com/llvm/llvm-project/commit/482e7dc67b7de22a47aff63eda1dd719cda86267
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
Log Message:
-----------
[ThinLTO] Use DenseMap for OidGuidMap (#107725)
We use OidGuidMap only to map an old GUID to a new one. We don't use
std::set's strengths like iterators staying valid or the ability to
traverse in a sorted order.
As a data point, during the ThinLTO indexing step of a large
application of ours, we create 440,000 mappings. Our memory profiler
reports reduction of 127MB in the peak memory usage (out of 4.991GB),
which is bigger than expected savings most likely due to some noise.
The savings should be about 8MB at the max load factor of DenseMap.
Commit: caebb4562ce634a22f7b13480b19cffc2a6a6730
https://github.com/llvm/llvm-project/commit/caebb4562ce634a22f7b13480b19cffc2a6a6730
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
Log Message:
-----------
[Transforms] Avoid repeated hash looksup (NFC) (#107727)
Commit: 49e38606cdad9eb2414a41d2b81903f0b516984d
https://github.com/llvm/llvm-project/commit/49e38606cdad9eb2414a41d2b81903f0b516984d
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/DiagnosticInfo.h
M llvm/lib/IR/DiagnosticInfo.cpp
M llvm/lib/Transforms/Instrumentation/Instrumentation.cpp
Log Message:
-----------
[Sanitizer] Create DiagnosticInfoInstrumentation for IR Instrumentation reporting. (#106356)
This PR adds DK_Instrumentation enum to DiagnosticKind and
DiagnosticInfoInstrumentation is extended from DiagnosticsInfo for IR
instrumentation reporting.
Commit: cf11eb62e1d0fa41f68b4ca3150eac854ac2e991
https://github.com/llvm/llvm-project/commit/cf11eb62e1d0fa41f68b4ca3150eac854ac2e991
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/constexpr-vectors.cpp
Log Message:
-----------
[clang][bytecode] Implement logical operators for vector type (#107678)
Implement `&&`, `||` logical operators for vector type.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: f5aad24820fb717be709e424a7344cbc6472c0e5
https://github.com/llvm/llvm-project/commit/f5aad24820fb717be709e424a7344cbc6472c0e5
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/lib/Transforms/IPO/IROutliner.cpp
Log Message:
-----------
[IROutliner] Avoid repeated hash lookups (NFC) (#107726)
Commit: 81ec7bd4183439ba824045b92f00fdebb10ff224
https://github.com/llvm/llvm-project/commit/81ec7bd4183439ba824045b92f00fdebb10ff224
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
Log Message:
-----------
[Frontend] Avoid repeated hash lookups (NFC) (#107728)
Commit: bc59b638ae35594b55a439a5986519a3f9cc903d
https://github.com/llvm/llvm-project/commit/bc59b638ae35594b55a439a5986519a3f9cc903d
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
Log Message:
-----------
[Vectorize] Avoid repeated hash lookups (NFC) (#107729)
Commit: 1d44ecb9daffbc3b1ed78b7c95662a6fea3f90b9
https://github.com/llvm/llvm-project/commit/1d44ecb9daffbc3b1ed78b7c95662a6fea3f90b9
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
Log Message:
-----------
[AMDGPU] Remove unnecessary untieRegOperand (#107695)
As far as I can tell, V_SET_INACTIVE has never had tied operands.
Commit: 13546c284fc31fa5543b07941e864b9b0aaa8638
https://github.com/llvm/llvm-project/commit/13546c284fc31fa5543b07941e864b9b0aaa8638
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.h
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#107736)
Commit: 1ab649c18a0368af2a2a046ff7ac245282f9a895
https://github.com/llvm/llvm-project/commit/1ab649c18a0368af2a2a046ff7ac245282f9a895
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerSELECTWithCmpZero - move !canUseCMOV check inside fold and update comment describing fold for clarity. NFC.
Minor refactor step before extending fold to support more patterns.
Commit: 3d00e1e208413738fc978d0a4b4ff853c0413618
https://github.com/llvm/llvm-project/commit/3d00e1e208413738fc978d0a4b4ff853c0413618
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512-calling-conv.ll
M llvm/test/CodeGen/X86/avx512-extract-subvector-load-store.ll
M llvm/test/CodeGen/X86/avx512-insert-extract.ll
M llvm/test/CodeGen/X86/pr43507.ll
M llvm/test/CodeGen/X86/setcc-lowering.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-fmin-nnan.ll
Log Message:
-----------
[X86] LowerSELECTWithCmpZero - fold "SELECT (AND(X,1) == 0), 0, -1 -> NEG(AND(X,1))"
Commit: 71560771d73d71e3ac9b73c81496efecc2e3a08d
https://github.com/llvm/llvm-project/commit/71560771d73d71e3ac9b73c81496efecc2e3a08d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M libcxx/include/complex
Log Message:
-----------
[libc++][NFC] Use std::isinf in non-constexpr functions (#107690)
Commit: 78fa41524b6f6e2696ff21ec50e760311ac939a3
https://github.com/llvm/llvm-project/commit/78fa41524b6f6e2696ff21ec50e760311ac939a3
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Update deps (#107339) for AMDGPU/InstCombineTableGen
FIXME: Move this to the relevant block.
Commit: 058964d3dacdc1321dcf2fdf82bebd3a37fcbc9c
https://github.com/llvm/llvm-project/commit/058964d3dacdc1321dcf2fdf82bebd3a37fcbc9c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/cmov-promotion.ll
Log Message:
-----------
[X86] LowerSELECTWithCmpZero - move "select (X != 0), -1, Y --> 0 - X; or (sbb), Y" fold
Move fold into LowerSELECTWithCmpZero so it can be used with (AND X,1) ==/!= 0 select cases
Commit: ffeef7599af94694191458a0e2a131e122181a13
https://github.com/llvm/llvm-project/commit/ffeef7599af94694191458a0e2a131e122181a13
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/cmov-promotion.ll
M llvm/test/CodeGen/X86/select.ll
M llvm/test/CodeGen/X86/select_const.ll
Log Message:
-----------
[X86] LowerSELECTWithCmpZero - without CMOV, fold "SELECT (AND(X,1) == 0), C1, C2 -> XOR(C1,AND(NEG(AND(X,1)),XOR(C1,C2))"
Use xor-bitselect pattern to avoid branching when selecting between 2 constants
Commit: 97e6f92d3181f1bb22e848b23eac801ab5d63575
https://github.com/llvm/llvm-project/commit/97e6f92d3181f1bb22e848b23eac801ab5d63575
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
Fix GCC Wparentheses warning. NFC.
Commit: 0f1bc5dbf3c51a1ee33d6037a6a169f0b0fbe217
https://github.com/llvm/llvm-project/commit/0f1bc5dbf3c51a1ee33d6037a6a169f0b0fbe217
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M clang/lib/Sema/Sema.cpp
Log Message:
-----------
Fix GCC Wimplicit-fallthrough warnings. NFC.
Commit: 4ea6552f4bf049ece2bb9fa2620a67123afb725c
https://github.com/llvm/llvm-project/commit/4ea6552f4bf049ece2bb9fa2620a67123afb725c
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
M llvm/utils/TableGen/VTEmitter.cpp
Log Message:
-----------
[NFC][TableGen] Migrate LLVM RISCVTarget/VT Emitters to const RecordKeeper (#107697)
Migrate LLVM RISCVTarget/VT Emitters to const RecordKeeper.
Commit: dec0781c8b06b1a5b8ad8646d299f643745a36d0
https://github.com/llvm/llvm-project/commit/dec0781c8b06b1a5b8ad8646d299f643745a36d0
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M lld/COFF/Writer.cpp
M lld/test/COFF/arm64ec-import.test
Log Message:
-----------
[LLD][COFF] Always locate the IAT at the beginning of the .rdata section and align its size to 4KB on ARM64EC. (#107588)
This mimics the behavior of MSVC's link.exe. My guess is that the reason
for this approach is to facilitate tracking runtime IAT modifications.
An auxiliary IAT allows bypassing the call checker for imported function
calls. It's the OS's responsibility to ensure that, if runtime patching
occurs, the auxiliary IAT is reverted to enable call checking. Modifying
the IAT is a form of runtime patching, and ensuring that it doesn’t
share pages with other data likely helps with tracking accuracy.
Although alignment alone should ensure that the IAT occupies its own
pages, placing it at the beginning of the .rdata section might be an
optimization. This way, padding is only needed after the IAT, not
before. The auxiliary IAT seems to follow a similar idea but is
positioned at the end of the .rdata section.
Commit: 45c8766973bb3bb73dd8d996231e114dcf45df9f
https://github.com/llvm/llvm-project/commit/45c8766973bb3bb73dd8d996231e114dcf45df9f
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/ast-dump-default-init-json.cpp
M clang/test/AST/ast-dump-default-init.cpp
M clang/test/Analysis/lifetime-extended-regions.cpp
M clang/test/CXX/drs/cwg16xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/special/class.temporary/p6.cpp
M clang/test/SemaCXX/constexpr-default-arg.cpp
M clang/test/SemaCXX/cxx11-default-member-initializers.cpp
M clang/test/SemaCXX/eval-crashes.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
Reapply "[Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer" (#97308)
The PR reapply https://github.com/llvm/llvm-project/pull/92527.
Implemented CWG1815 and fixed the bugs mentioned in the comments of
https://github.com/llvm/llvm-project/pull/92527 and
https://github.com/llvm/llvm-project/pull/87933.
The reason why the original PR was reverted was that errors might occur
during the rebuild.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: e29e7e726614d59cd5adae1f81266de947ee2f3b
https://github.com/llvm/llvm-project/commit/e29e7e726614d59cd5adae1f81266de947ee2f3b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
Log Message:
-----------
[FrontEnd] Use SetVector (NFC) (#107743)
We could also use range-based for loops at several places, but I'm
leaving that to a subsequent patch.
Commit: 4cab4f43d199b2de579892913a5e36f2c4f4cb80
https://github.com/llvm/llvm-project/commit/4cab4f43d199b2de579892913a5e36f2c4f4cb80
Author: Felix Schneider <fx.schn at gmail.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M mlir/docs/Dialects/Linalg/OpDSL.md
Log Message:
-----------
[mlir][linalg] Update name of linalg ods-gen target in docs (NFC) (#107742)
Commit: 08085eddfdca51f2bcc23945579109d01b730310
https://github.com/llvm/llvm-project/commit/08085eddfdca51f2bcc23945579109d01b730310
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#107759)
Commit: 0078d4b5a467d2dd30b066740979d73483d56328
https://github.com/llvm/llvm-project/commit/0078d4b5a467d2dd30b066740979d73483d56328
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M mlir/lib/Pass/Pass.cpp
Log Message:
-----------
[Pass] Avoid repeated hash lookups (NFC) (#107761)
Commit: 668cbd84099c82f9c34e220a019db2f5f50f4320
https://github.com/llvm/llvm-project/commit/668cbd84099c82f9c34e220a019db2f5f50f4320
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
Log Message:
-----------
[Frontend] Use range-based for loops (NFC) (#107757)
Commit: bdb6f1b9d6d6262f1a0f96f410c2702a438a7498
https://github.com/llvm/llvm-project/commit/bdb6f1b9d6d6262f1a0f96f410c2702a438a7498
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M clang/lib/APINotes/APINotesWriter.cpp
Log Message:
-----------
[APINotes] Avoid repeated hash lookups (NFC) (#107758)
Commit: f5b7c10923566ee4c49eb918cfa6941e2a6f6456
https://github.com/llvm/llvm-project/commit/f5b7c10923566ee4c49eb918cfa6941e2a6f6456
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp
M llvm/lib/Target/Hexagon/HexagonTfrCleanup.cpp
Log Message:
-----------
[Hexagon] Avoid repeated hash lookups (NFC) (#107760)
Commit: 6f67c386845be85cfcbf5c90949edcdaf40a0ef7
https://github.com/llvm/llvm-project/commit/6f67c386845be85cfcbf5c90949edcdaf40a0ef7
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Fix a variable scope problem with continue/break jumps (#107738)
Cleaning up _all_ the scopes is a little too much. Only clean up until
the point here we started the scope relevant for the break/continue
statement.
Commit: ce3c58e10481dd1d0393d342b4102c633cfd0def
https://github.com/llvm/llvm-project/commit/ce3c58e10481dd1d0393d342b4102c633cfd0def
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[NFC][TableGen] Replace DefInit::get() with Record::getDefInit() (#107762)
Eliminate DefInit::get() as its a duplicate of Record::getDefInit().
Use early return in `VarDefInit::instantiate`.
Commit: 8ae5521d64ee211ed15e654c270a7b00fd8d55ce
https://github.com/llvm/llvm-project/commit/8ae5521d64ee211ed15e654c270a7b00fd8d55ce
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/include/llvm/TableGen/DirectiveEmitter.h
M llvm/utils/TableGen/CTagsEmitter.cpp
M llvm/utils/TableGen/DFAEmitter.cpp
M llvm/utils/TableGen/DirectiveEmitter.cpp
Log Message:
-----------
[TableGen] Migrate CTags/DFA/Directive Emitters to const RecordKeeper (#107693)
Migrate CTags/DFA/Directive Emitters to const RecordKeeper.
Commit: 80c47ad3aec9d7f22e1b1bdc88960a91b66f89f1
https://github.com/llvm/llvm-project/commit/80c47ad3aec9d7f22e1b1bdc88960a91b66f89f1
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/benchmarks/SandboxIRBench.cpp
Log Message:
-----------
[SandboxIR][Bench] Fix missing include
In 362da640dd18 "[SandboxIR][Bench] Test RAUW (#107440)" we started
using std::stringstream, but didn't include `<sstream>` for the
definition. This is resulting in a build failure on windows.
Commit: 9ade4e2646bd52b49e50c1648301da65de90ffa9
https://github.com/llvm/llvm-project/commit/9ade4e2646bd52b49e50c1648301da65de90ffa9
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M lld/ELF/InputFiles.cpp
M lld/ELF/LTO.cpp
M llvm/include/llvm/LTO/Config.h
M llvm/include/llvm/LTO/LTO.h
M llvm/lib/LTO/LTO.cpp
Log Message:
-----------
[NFCI][LTO][lld] Optimize away symbol copies within LTO global resolution in ELF (#106193)
`StringMap<T>` creates a [copy of the
string](https://github.com/llvm/llvm-project/blob/d4c519e7b2ac21350ec08b23eda44bf4a2d3c974/llvm/include/llvm/ADT/StringMapEntry.h#L55-L58)
for entry insertions and intentionally keep copies [since the
implementation optimizes string memory
usage](https://github.com/llvm/llvm-project/blob/d4c519e7b2ac21350ec08b23eda44bf4a2d3c974/llvm/include/llvm/ADT/StringMap.h#L124).
On the other hand, linker keeps copies of symbol names [1] in
`lld::elf::parseFiles` [2] before invoking `compileBitcodeFiles` [3].
This change proposes to optimize away string copies inside
[LTO::GlobalResolutions](https://github.com/llvm/llvm-project/blob/24e791b4164986a1ca7776e3ae0292ef20d20c47/llvm/include/llvm/LTO/LTO.h#L409),
which will make LTO indexing more memory efficient for ELF. There are
similar opportunities for other (COFF, wasm, MachO) formats.
The optimization takes place for lld (ELF) only. For the rest of use
cases (gold plugin, `llvm-lto2`, etc), LTO owns a string saver to keep
copies and use global resolution key for de-duplication.
Together with @kazutakahirata's work to make `ComputeCrossModuleImport`
more memory efficient, we see a ~20% peak memory usage reduction in a
binary where peak memory usage needs to go down. Thanks to the
optimization in
https://github.com/llvm/llvm-project/commit/329ba523ccbbe68a12434926c92fd9a86494d958,
the max (as opposed to the sum) of `ComputeCrossModuleImport` or
`GlobalResolution` shows up in peak memory usage.
* Regarding correctness, the set of
[resolved](https://github.com/llvm/llvm-project/blob/80c47ad3aec9d7f22e1b1bdc88960a91b66f89f1/llvm/lib/LTO/LTO.cpp#L739)
[per-module
symbols](https://github.com/llvm/llvm-project/blob/80c47ad3aec9d7f22e1b1bdc88960a91b66f89f1/llvm/include/llvm/LTO/LTO.h#L188-L191)
is a subset of
[llvm::lto::InputFile::Symbols](https://github.com/llvm/llvm-project/blob/80c47ad3aec9d7f22e1b1bdc88960a91b66f89f1/llvm/include/llvm/LTO/LTO.h#L120).
And bitcode symbol parsing saves symbol name when iterating
`obj->symbols` in `BitcodeFile::parse` already. This change updates
`BitcodeFile::parseLazy` to keep copies of per-module undefined symbols.
* Presumably the undefined symbols in a LTO unit (copied in this patch
in linker unique saver) is a small set compared with the set of symbols
in global-resolution (copied before this patch), making this a
worthwhile trade-off. Benchmarking this change alone shows measurable
memory savings across various benchmarks.
[1] ELF
https://github.com/llvm/llvm-project/blob/1cea5c2138bef3d8fec75508df6dbb858e6e3560/lld/ELF/InputFiles.cpp#L1748
[2]
https://github.com/llvm/llvm-project/blob/ef7b18a53c0d186dcda1e322be6035407fdedb55/lld/ELF/Driver.cpp#L2863
[3]
https://github.com/llvm/llvm-project/blob/ef7b18a53c0d186dcda1e322be6035407fdedb55/lld/ELF/Driver.cpp#L2995
Commit: 1c4b04ce1f022ec12b0111ad75d8f2f0eec3b054
https://github.com/llvm/llvm-project/commit/1c4b04ce1f022ec12b0111ad75d8f2f0eec3b054
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/LLVMIR/constant-folding.mlir
Log Message:
-----------
[mlir] Fix crash in `InsertOpConstantFolder` when vector.insert operand is from a llvm.mlir.constant op (#88314)
In cases where llvm.mlir.constant has an attribute with a different type than the returned type,
the folder use to create an incorrect DenseElementsAttr and crash.
Resolves #74236
Commit: 1cc4c87198ec0c6febca3f6ed03357e9e091cfd4
https://github.com/llvm/llvm-project/commit/1cc4c87198ec0c6febca3f6ed03357e9e091cfd4
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M lld/ELF/InputFiles.cpp
M lld/ELF/LTO.cpp
M llvm/include/llvm/LTO/Config.h
M llvm/include/llvm/LTO/LTO.h
M llvm/lib/LTO/LTO.cpp
Log Message:
-----------
Revert "[NFCI][LTO][lld] Optimize away symbol copies within LTO global resolution in ELF" (#107788)
Reverts llvm/llvm-project#106193 while investigating bot failures
https://lab.llvm.org/buildbot/#/builders/169/builds/2989/steps/9/logs/stdio
Commit: 3d7af093f3d7b5c025e727277b9cc2b899c2d84e
https://github.com/llvm/llvm-project/commit/3d7af093f3d7b5c025e727277b9cc2b899c2d84e
Author: wldfngrs <wldfngrs at gmail.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/jmp_buf.h
M libc/hdr/types/stack_t.h
M libc/src/setjmp/aarch64/CMakeLists.txt
M libc/src/setjmp/aarch64/longjmp.cpp
M libc/src/setjmp/aarch64/setjmp.cpp
M libc/src/setjmp/arm/CMakeLists.txt
M libc/src/setjmp/arm/longjmp.cpp
M libc/src/setjmp/arm/setjmp.cpp
M libc/src/setjmp/longjmp.h
M libc/src/setjmp/riscv/CMakeLists.txt
M libc/src/setjmp/riscv/longjmp.cpp
M libc/src/setjmp/riscv/setjmp.cpp
M libc/src/setjmp/setjmp_impl.h
M libc/src/setjmp/x86_64/CMakeLists.txt
M libc/src/setjmp/x86_64/longjmp.cpp
M libc/src/setjmp/x86_64/setjmp.cpp
M libc/test/src/setjmp/CMakeLists.txt
Log Message:
-----------
[libc] Add proxy header for the jmp_buf type (#107712)
Added proxy header for the jmp_buf type and changed all use instances
from __jmp_buf * to the typedef alias jmp_buf , fixed the link to LLVM
in stack_t.h description
Commit: 9d8950a8d98708e73f6352f9664deac2ed8f910c
https://github.com/llvm/llvm-project/commit/9d8950a8d98708e73f6352f9664deac2ed8f910c
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
Log Message:
-----------
[mlir] 'dyn_cast' is deprecated: Use mlir::dyn_cast<U>() instead (NFC)
/llvm-project/mlir/lib/Dialect/Vector/IR/VectorOps.cpp:2923:29: error: 'dyn_cast' is deprecated: Use mlir::dyn_cast<U>() instead [-Werror,-Wdeprecated-declarations]
2923 | if (auto intAttr = attr.dyn_cast<IntegerAttr>()) {
| ^
/llvm-project/mlir/include/mlir/IR/Attributes.h:184:14: note: 'dyn_cast' has been explicitly marked deprecated here
184 | U Attribute::dyn_cast() const {
| ^
Commit: fef84c56dcd93fc63aa61a1313f0f5465e104291
https://github.com/llvm/llvm-project/commit/fef84c56dcd93fc63aa61a1313f0f5465e104291
Author: Jim Lin <jim at andestech.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
A llvm/lib/Target/RISCV/RISCVConstantPoolValue.cpp
A llvm/lib/Target/RISCV/RISCVConstantPoolValue.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
M llvm/test/CodeGen/RISCV/calls.ll
M llvm/test/CodeGen/RISCV/codemodel-lowering.ll
M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
M llvm/test/CodeGen/RISCV/inline-asm-mem-constraint.ll
Log Message:
-----------
[RISCV] Support the large code model. (#70308)
Implement large code model for GlobalAddressSDNode and ExternalSymbolSDNode.
See discussion on
https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/388.
---------
Co-authored-by: Kuan-Lin Chen <rufus at andestech.com>
Commit: 0f5033053a3d4dcf27cd488a360e64c48a36c27a
https://github.com/llvm/llvm-project/commit/0f5033053a3d4dcf27cd488a360e64c48a36c27a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
Log Message:
-----------
[gn build] Port fef84c56dcd9
Commit: 74ac96ae1a81c7ecc0e27ff6f45309cff1f2df97
https://github.com/llvm/llvm-project/commit/74ac96ae1a81c7ecc0e27ff6f45309cff1f2df97
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
A clang/test/Modules/pr107673.cppm
Log Message:
-----------
[C++20] [Modules] Treat constexpr/consteval member function as implicitly inline
Close https://github.com/llvm/llvm-project/issues/107673
Commit: 869435325454f7fd901a5c0f2436745cb72bc897
https://github.com/llvm/llvm-project/commit/869435325454f7fd901a5c0f2436745cb72bc897
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/include/llvm/Support/Compiler.h
Log Message:
-----------
[LLVM]Fix symbol visibility macros not being define for AIX (#107705)
This is to try and fix buildbot failure on
[clang-ppc64-aix](https://lab.llvm.org/buildbot/#/builders/64/builds/881)
from my changes in #96630. I don't really know much about AIX so it
would be good to have someone more knowledgeable to say if visibility
macros on extern templates is needed on AIX similar to ELF. @compnerd
@tstellar
Commit: c30c0659d6c0c9fd3bc6861cd1eb99a3fcaa1026
https://github.com/llvm/llvm-project/commit/c30c0659d6c0c9fd3bc6861cd1eb99a3fcaa1026
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/half-zfa.ll
Log Message:
-----------
[RISCV] Fix crashes with Zfhmin+Zfa.
We were incorrectly making ISD::FMAXIMUM, ISD::FMINIMUM, and
ISD::FNEARBYINT legal with Zfhmin+Zfa when we really need Zfh+Zfa.
Commit: f2b71491d11355c0df0c92ef7cce7d610c894660
https://github.com/llvm/llvm-project/commit/f2b71491d11355c0df0c92ef7cce7d610c894660
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/CodeGen/StackMaps.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCRegisterInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
[MC] Make MCRegisterInfo::getLLVMRegNum return std::optional<MCRegister>. NFC (#107776)
Commit: b5ee4639dee0fd74c1215547e35bd9a10cfc5925
https://github.com/llvm/llvm-project/commit/b5ee4639dee0fd74c1215547e35bd9a10cfc5925
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/include/clang/Driver/Types.def
A flang/test/Driver/save-temps-use-module.f90
Log Message:
-----------
[flang][driver] Add pre-processing type for Fortran pre-processed files (#104664)
When using `--save-temps`, flang-new emits (among other things) an
`<input>.i` file. These `.i` files are pre-processed Fortran files
containing information about the modules referenced by the input source
(these files are emitted by: `Parsing::EmitPreprocessedSource`).
This diff allows `.i` files emitted by flang-new to be treated as valid
files in the pre-processing phase. This, in turn, allows flang-new to
add pre-processing options (e.g. `-I`) when launching compilation jobs
for these files.
This solves a bug when using `--save-temps` with source files that
include modules from non-standard directories, for example:
```
flang-new -c --save-temps -I/tmp/module_dir -fno-integrated-as \
/tmp/ModuleUser.f90
```
The problem was that `.i` files were treated as "binary" files and
therefore the return value for `types::getPreprocessedType(InputType)`
in `Flang::ConstructJob(...)` was `types::TY_INVALID`.
Commit: 65dc53baca60b7dd59de36c21f5f5176ea4f2be1
https://github.com/llvm/llvm-project/commit/65dc53baca60b7dd59de36c21f5f5176ea4f2be1
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/rvv/remat.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
Log Message:
-----------
[RISCV] Rematerialize vmv.v.i (#107550)
This continues the line of work started in #97520, and gives a 2.5%
reduction in the number of spills on SPEC CPU 2017.
Program regalloc.NumSpills
lhs rhs diff
605.mcf_s 141.00 141.00 0.0%
505.mcf_r 141.00 141.00 0.0%
519.lbm_r 73.00 73.00 0.0%
619.lbm_s 68.00 68.00 0.0%
631.deepsjeng_s 354.00 353.00 -0.3%
531.deepsjeng_r 354.00 353.00 -0.3%
625.x264_s 1896.00 1886.00 -0.5%
525.x264_r 1896.00 1886.00 -0.5%
508.namd_r 6665.00 6598.00 -1.0%
644.nab_s 761.00 753.00 -1.1%
544.nab_r 761.00 753.00 -1.1%
638.imagick_s 4287.00 4181.00 -2.5%
538.imagick_r 4287.00 4181.00 -2.5%
602.gcc_s 12771.00 12450.00 -2.5%
502.gcc_r 12771.00 12450.00 -2.5%
510.parest_r 43876.00 42740.00 -2.6%
500.perlbench_r 4297.00 4179.00 -2.7%
600.perlbench_s 4297.00 4179.00 -2.7%
526.blender_r 13503.00 13103.00 -3.0%
511.povray_r 2006.00 1937.00 -3.4%
620.omnetpp_s 984.00 946.00 -3.9%
520.omnetpp_r 984.00 946.00 -3.9%
657.xz_s 302.00 289.00 -4.3%
557.xz_r 302.00 289.00 -4.3%
541.leela_r 378.00 356.00 -5.8%
641.leela_s 378.00 356.00 -5.8%
623.xalancbmk_s 1646.00 1548.00 -6.0%
523.xalancbmk_r 1646.00 1548.00 -6.0%
Geomean difference -2.5%
I initially held off submitting this patch because it surprisingly
introduced a lot of spills in the test diffs, but after #107290 the
vmv.v.is that caused them are now gone.
The gist is that marking vmv.v.i as spillable decreased its spill
weight, which actually resulted in more m8 registers getting evicted and
spilled during register allocation.
The SPEC results show this isn't an issue in practice though, and I plan
on posting a separate patch to explain this in more detail.
Commit: 738abb9ffda73d517c412d1e24268419506880f9
https://github.com/llvm/llvm-project/commit/738abb9ffda73d517c412d1e24268419506880f9
Author: GkvJwa <gkvjwa at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
Log Message:
-----------
[SandboxIR][Bench] Fix build (#107699)
Add header files(sstream), so that msvc can be compiled normally on windows
Commit: ac9355446291a02239ce9b45d0c2225a4db0515a
https://github.com/llvm/llvm-project/commit/ac9355446291a02239ce9b45d0c2225a4db0515a
Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/docs/HowToUpdateDebugInfo.rst
Log Message:
-----------
Refine the examples in the debug info document (#86272)
This PR modifies the examples of section "When to merge instruction
locations" in
[HowToUpdateDebugInfo](https://llvm.org/docs/HowToUpdateDebugInfo.html)
according to [the
discussion](https://discourse.llvm.org/t/debuginfo-merging-instruction-locations-of-hoisted-instructions/77357),
revise one misleading counterexample and refining the description of
hoisting identical instructions.
Commit: e17a39bc314f97231e440c9e68d9f46a9c07af6d
https://github.com/llvm/llvm-project/commit/e17a39bc314f97231e440c9e68d9f46a9c07af6d
Author: Yuxuan Chen <ych at fb.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/AST/Expr.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGCUDARuntime.cpp
M clang/lib/CodeGen/CGCUDARuntime.h
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/Sema/SemaCoroutine.cpp
A clang/test/CodeGenCoroutines/Inputs/utility.h
A clang/test/CodeGenCoroutines/coro-await-elidable.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/Attributes.td
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
Log Message:
-----------
[Clang] C++20 Coroutines: Introduce Frontend Attribute [[clang::coro_await_elidable]] (#99282)
This patch is the frontend implementation of the coroutine elide
improvement project detailed in this discourse post:
https://discourse.llvm.org/t/language-extension-for-better-more-deterministic-halo-for-c-coroutines/80044
This patch proposes a C++ struct/class attribute
`[[clang::coro_await_elidable]]`. This notion of await elidable task
gives developers and library authors a certainty that coroutine heap
elision happens in a predictable way.
Originally, after we lower a coroutine to LLVM IR, CoroElide is
responsible for analysis of whether an elision can happen. Take this as
an example:
```
Task foo();
Task bar() {
co_await foo();
}
```
For CoroElide to happen, the ramp function of `foo` must be inlined into
`bar`. This inlining happens after `foo` has been split but `bar` is
usually still a presplit coroutine. If `foo` is indeed a coroutine, the
inlined `coro.id` intrinsics of `foo` is visible within `bar`. CoroElide
then runs an analysis to figure out whether the SSA value of
`coro.begin()` of `foo` gets destroyed before `bar` terminates.
`Task` types are rarely simple enough for the destroy logic of the task
to reference the SSA value from `coro.begin()` directly. Hence, the pass
is very ineffective for even the most trivial C++ Task types. Improving
CoroElide by implementing more powerful analyses is possible, however it
doesn't give us the predictability when we expect elision to happen.
The approach we want to take with this language extension generally
originates from the philosophy that library implementations of `Task`
types has the control over the structured concurrency guarantees we
demand for elision to happen. That is, the lifetime for the callee's
frame is shorter to that of the caller.
The ``[[clang::coro_await_elidable]]`` is a class attribute which can be
applied to a coroutine return type.
When a coroutine function that returns such a type calls another
coroutine function, the compiler performs heap allocation elision when
the following conditions are all met:
- callee coroutine function returns a type that is annotated with
``[[clang::coro_await_elidable]]``.
- In caller coroutine, the return value of the callee is a prvalue that
is immediately `co_await`ed.
>From the C++ perspective, it makes sense because we can ensure the
lifetime of elided callee cannot exceed that of the caller if we can
guarantee that the caller coroutine is never destroyed earlier than the
callee coroutine. This is not generally true for any C++ programs.
However, the library that implements `Task` types and executors may
provide this guarantee to the compiler, providing the user with
certainty that HALO will work on their programs.
After this patch, when compiling coroutines that return a type with such
attribute, the frontend checks that the type of the operand of
`co_await` expressions (not `operator co_await`). If it's also
attributed with `[[clang::coro_await_elidable]]`, the FE emits metadata
on the call or invoke instruction as a hint for a later middle end pass
to elide the elision.
The original patch version is
https://github.com/llvm/llvm-project/pull/94693 and as suggested, the
patch is split into frontend and middle end solutions into stacked PRs.
The middle end CoroSplit patch can be found at
https://github.com/llvm/llvm-project/pull/99283
The middle end transformation that performs the elide can be found at
https://github.com/llvm/llvm-project/pull/99285
Commit: 234cc81625030e934651d6ae0ace66e37138ba4a
https://github.com/llvm/llvm-project/commit/234cc81625030e934651d6ae0ace66e37138ba4a
Author: Yuxuan Chen <ych at fb.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/docs/Coroutines.rst
M llvm/lib/Transforms/Coroutines/CoroInternal.h
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
M llvm/test/Transforms/Coroutines/coro-split-00.ll
Log Message:
-----------
[LLVM][Coroutines] Create `.noalloc` variant of switch ABI coroutine ramp functions during CoroSplit (#99283)
This patch is episode two of the coroutine HALO improvement project
published on discourse:
https://discourse.llvm.org/t/language-extension-for-better-more-deterministic-halo-for-c-coroutines/80044
Previously CoroElide depends on inlining, and its analysis does not work
very well with code generated by the C++ frontend due the existence of
many customization points. There has been issue reported to upstream how
ineffective the original CoroElide was in real world applications.
For C++ users, this set of patches aim to fix this problem by providing
library authors and users deterministic HALO behaviour for some
well-behaved coroutine `Task` types. The stack begins with a library
side attribute on the `Task` class that guarantees no unstructured
concurrency when coroutines are awaited directly with `co_await`ed as a
prvalue. This attribute on Task types gives us lifetime guarantees and
makes C++ FE capable to telling the ME which coroutine calls are
elidable. We convey such information from FE through the attribute
`coro_elide_safe`.
This patch modifies CoroSplit to create a variant of the coroutine ramp
function that 1) does not use heap allocated frame, instead take an
additional parameter as the pointer to the frame. Such parameter is
attributed with `dereferenceble` and `align` to convey size and align
requirements for the frame. 2) always stores cleanup instead of destroy
address for `coro.destroy()` actions.
In a later patch, we will have a new pass that runs right after
CoroSplit to find usages of the callee coroutine attributed
`coro_elide_safe` in presplit coroutine callers, allocates the frame on
its "stack", transform those usages to call the `noalloc` ramp function
variant.
(note I put quotes on the word "stack" here, because for presplit
coroutine, any alloca will be spilled into the frame when it's being
split)
The C++ Frontend attribute implementation that works with this change
can be found at https://github.com/llvm/llvm-project/pull/99282
The pass that makes use of the new `noalloc` split can be found at
https://github.com/llvm/llvm-project/pull/99285
Commit: a416267a5f3fffb3d1e9d8d53245aef8169c5ddb
https://github.com/llvm/llvm-project/commit/a416267a5f3fffb3d1e9d8d53245aef8169c5ddb
Author: Yuxuan Chen <ych at fb.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
A llvm/include/llvm/Transforms/Coroutines/CoroAnnotationElide.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Coroutines/CMakeLists.txt
A llvm/lib/Transforms/Coroutines/CoroAnnotationElide.cpp
M llvm/test/Other/new-pm-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
A llvm/test/Transforms/Coroutines/coro-transform-must-elide.ll
Log Message:
-----------
[LLVM][Coroutines] Transform "coro_elide_safe" calls to switch ABI coroutines to the `noalloc` variant (#99285)
This patch is episode three of the middle end implementation for the
coroutine HALO improvement project published on discourse:
https://discourse.llvm.org/t/language-extension-for-better-more-deterministic-halo-for-c-coroutines/80044
After we attribute the calls to some coroutines as "coro_elide_safe" in
the C++ FE and creating a `noalloc` ramp function, we use a new middle
end pass to move the call to coroutines to the noalloc variant.
This pass should be run after CoroSplit. For each node we process in
CoroSplit, we look for its callers and replace the attributed ones in
presplit coroutines to the noalloc one. The transformed `noalloc` ramp
function will also require a frame pointer to a block of memory it can
use as an activation frame. We allocate this on the caller's frame with
an alloca.
Please note that we cannot safely transform such attributed calls in
post-split coroutines due to memory lifetime reasons. The CoroSplit pass
is responsible for creating the coroutine frame spills for all the
allocas in the coroutine. Therefore it will be unsafe to create new
allocas like this one in post-split coroutines. This happens relatively
rarely because CGSCC performs the passes on the callees before the
caller. However, if multiple coroutines coexist in one SCC, this
situation does happen (and prevents us from having potentially unbound
frame size due to recursion.)
You can find episode 1: Clang FE of this patch series at
https://github.com/llvm/llvm-project/pull/99282
Episode 2: CoroSplit at https://github.com/llvm/llvm-project/pull/99283
Commit: bdcbfa7fb4ac6f23262095c401d28309d689225e
https://github.com/llvm/llvm-project/commit/bdcbfa7fb4ac6f23262095c401d28309d689225e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Coroutines/BUILD.gn
Log Message:
-----------
[gn build] Port a416267a5f3f
Commit: 9347b66cfcd9acf84dbbd500b6344041c587f6a9
https://github.com/llvm/llvm-project/commit/9347b66cfcd9acf84dbbd500b6344041c587f6a9
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize-with-call.ll
M llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize.ll
R llvm/test/tools/llvm-split/AMDGPU/debug-name-hiding.ll
R llvm/test/tools/llvm-split/AMDGPU/debug-non-kernel-root.ll
M llvm/test/tools/llvm-split/AMDGPU/declarations.ll
M llvm/test/tools/llvm-split/AMDGPU/kernels-alias-dependencies.ll
M llvm/test/tools/llvm-split/AMDGPU/kernels-cost-ranking.ll
M llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-external.ll
M llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-indirect.ll
M llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-overridable.ll
M llvm/test/tools/llvm-split/AMDGPU/kernels-global-variables-noexternal.ll
M llvm/test/tools/llvm-split/AMDGPU/kernels-global-variables.ll
M llvm/test/tools/llvm-split/AMDGPU/large-kernels-merging.ll
M llvm/test/tools/llvm-split/AMDGPU/non-kernels-dependency-indirect.ll
A llvm/test/tools/llvm-split/AMDGPU/recursive-search-2.ll
A llvm/test/tools/llvm-split/AMDGPU/recursive-search-8.ll
Log Message:
-----------
Reland "[AMDGPU] Graph-based Module Splitting Rewrite (#104763)" (#107076)
Relands #104763 with
- Fixes for EXPENSIVE_CHECKS test failure (due to sorting operator
failing if the input is shuffled first)
- Fix for broken proposal selection
- c3cb27370af40e491446164840766478d3258429 included
Original commit description below
---
Major rewrite of the AMDGPUSplitModule pass in order to better support
it long-term.
Highlights:
- Removal of the "SML" logging system in favor of just using CL options
and LLVM_DEBUG, like any other pass in LLVM.
- The SML system started from good intentions, but it was too flawed and
messy to be of any real use. It was also a real pain to use and made the
code more annoying to maintain.
- Graph-based module representation with DOTGraph printing support
- The graph represents the module accurately, with bidirectional, typed
edges between nodes (a node usually represents one function).
- Nodes are assigned IDs starting from 0, which allows us to represent a
set of nodes as a BitVector. This makes comparing 2 sets of nodes to
find common dependencies a trivial task. Merging two clusters of nodes
together is also really trivial.
- No more defaulting to "P0" for external calls
- Roots that can reach non-copyable dependencies (such as external
calls) are now grouped together in a single "cluster" that can go into
any partition.
- No more defaulting to "P0" for indirect calls
- New representation for module splitting proposals that can be graded
and compared.
- Graph-search algorithm that can explore multiple branches/assignments
for a cluster of functions, up to a maximum depth.
- With the default max depth of 8, we can create up to 256 propositions
to try and find the best one.
- We can still fall back to a greedy approach upon reaching max depth.
That greedy approach uses almost identical heuristics to the previous
version of the pass.
All of this gives us a lot of room to experiment with new heuristics or
even entirely different splitting strategies if we need to. For
instance, the graph representation has room for abstract nodes, e.g. if
we need to represent some global variables or external constraints. We
could also introduce more edge types to model other type of relations
between nodes, etc.
I also designed the graph representation & the splitting strategies to
be as fast as possible, and it seems to have paid off. Some quick tests
showed that we spend pretty much all of our time in the CloneModule
function, with the actual splitting logic being >1% of the runtime.
Commit: 022b3c27e27832f27c61683095899227c26e0cca
https://github.com/llvm/llvm-project/commit/022b3c27e27832f27c61683095899227c26e0cca
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/Sema/attr-target-riscv.c
Log Message:
-----------
[Clang][RISCV] Recognize unsupport target feature by supporting isValidFeatureName (#106495)
This patch makes unsupported target attributes emit a warning and ignore
the target attribute during semantic checks. The changes include:
1. Adding the RISCVTargetInfo::isValidFeatureName function.
2. Rejecting non-full-arch strings in the handleFullArchString function.
3. Adding test cases to demonstrate the warning behavior.
Commit: 8549b324bc1f450f4477f46f18db67439dbf6d75
https://github.com/llvm/llvm-project/commit/8549b324bc1f450f4477f46f18db67439dbf6d75
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/test/SemaCXX/lambda-pack-expansion.cpp
R clang/test/SemaCXX/pr61460.cpp
Log Message:
-----------
[Clang] Don't assert non-empty packs for FunctionParmPackExprs (#107561)
`FunctionParmPackExpr`s are peculiar in that they have to be of
unexpanded dependency while they don't introduce any unexpanded packs.
So this patch rules them out in the non-empty pack assertion in
`DiagnoseUnexpandedParameterPack()`.
There was a fix #69224, but that turned out to be insufficient.
I also moved the separate tests to a pre-existing file.
Fixes https://github.com/llvm/llvm-project/issues/86361
Commit: d5f6f30664ed53ef27d949fad0ce3994ea9988dd
https://github.com/llvm/llvm-project/commit/d5f6f30664ed53ef27d949fad0ce3994ea9988dd
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/utils/mlgo-utils/mlgo/corpus/extract_ir.py
Log Message:
-----------
[MLGO] Add spaces at the end of lines in multiline string
This patch adds spaces at the end of lines in multiline strings in the
extract_ir script. Without this patch, the warning/info messages will be
printed without spaces between words when there is a line break in the
source which looks/reads weird.
Commit: 3e04ad428313dde40c779af6d675b162e150125e
https://github.com/llvm/llvm-project/commit/3e04ad428313dde40c779af6d675b162e150125e
Author: Lang Hames <lhames at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M compiler-rt/lib/orc/adt.h
M compiler-rt/lib/orc/bitmask_enum.h
M compiler-rt/lib/orc/coff_platform.cpp
M compiler-rt/lib/orc/coff_platform.h
M compiler-rt/lib/orc/debug.cpp
M compiler-rt/lib/orc/debug.h
M compiler-rt/lib/orc/dlfcn_wrapper.cpp
M compiler-rt/lib/orc/elfnix_platform.cpp
M compiler-rt/lib/orc/elfnix_platform.h
M compiler-rt/lib/orc/endianness.h
M compiler-rt/lib/orc/error.h
M compiler-rt/lib/orc/executor_address.h
M compiler-rt/lib/orc/executor_symbol_def.h
M compiler-rt/lib/orc/extensible_rtti.cpp
M compiler-rt/lib/orc/extensible_rtti.h
M compiler-rt/lib/orc/interval_map.h
M compiler-rt/lib/orc/interval_set.h
M compiler-rt/lib/orc/macho_platform.cpp
M compiler-rt/lib/orc/macho_platform.h
M compiler-rt/lib/orc/run_program_wrapper.cpp
M compiler-rt/lib/orc/simple_packed_serialization.h
M compiler-rt/lib/orc/stl_extras.h
M compiler-rt/lib/orc/string_pool.h
M compiler-rt/lib/orc/wrapper_function_utils.h
Log Message:
-----------
[ORC-RT] Remove double underscore from the orc_rt namespace.
We should use `orc_rt` as the public C++ API namespace for the ORC runtime and
control symbol visibility to hide implementation details, rather than rely on
the '__' prefix.
Commit: 74ad2540523ec78122ba5a32e35e0b65ee27b7b3
https://github.com/llvm/llvm-project/commit/74ad2540523ec78122ba5a32e35e0b65ee27b7b3
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
[Github][MLGO] Fix mlgo-utils path in new-prs-labeler
This patch (hopefully) fixes the mlgo-utils path in new-prs-labeler so
that it actually matches all files in that directory. Currently it is
not catching the files as they are relatively deeply nested within the
folder.
Commit: 3b1146e050657f40954e8e1f977837f884df2488
https://github.com/llvm/llvm-project/commit/3b1146e050657f40954e8e1f977837f884df2488
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
M llvm/tools/llvm-exegesis/lib/LlvmState.cpp
M llvm/tools/llvm-exegesis/lib/LlvmState.h
M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
Log Message:
-----------
[llvm-exegesis] Use MCRegister instead of unsigned to hold registers (#107820)
Commit: 04742f34b343af87dda93edacbb06f6e98a1d80f
https://github.com/llvm/llvm-project/commit/04742f34b343af87dda93edacbb06f6e98a1d80f
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/test/Transforms/SCCP/pointer-nonnull.ll
Log Message:
-----------
[SCCP] Add test for nonnull argument inference (NFC)
Commit: da11ede57d034767a6f5d5e211c06c1c3089d7fd
https://github.com/llvm/llvm-project/commit/da11ede57d034767a6f5d5e211c06c1c3089d7fd
Author: vabridgers <58314289+vabridgers at users.noreply.github.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
M clang/lib/StaticAnalyzer/Frontend/CreateCheckerManager.cpp
A clang/test/Analysis/nullability-nocrash.c
Log Message:
-----------
[analyzer] Remove overzealous "No dispatcher registered" assertion (#107294)
Random testing revealed it's possible to crash the analyzer with the
command line invocation:
clang -cc1 -analyze -analyzer-checker=nullability empty.c
where the source file, empty.c is an empty source file.
```
clang: <root>/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp:56:
void clang::ento::CheckerManager::finishedCheckerRegistration():
Assertion `Event.second.HasDispatcher && "No dispatcher registered for an event"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/
Stack dump:
0. Program arguments: clang -cc1 -analyze -analyzer-checker=nullability nullability-nocrash.c
#0 ...
...
#7 <addr> clang::ento::CheckerManager::finishedCheckerRegistration()
#8 <addr> clang::ento::CheckerManager::CheckerManager(clang::ASTContext&,
clang::AnalyzerOptions&, clang::Preprocessor const&,
llvm::ArrayRef<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char>>>, llvm::ArrayRef<std::function<void (clang::ento::CheckerRegistry&)>>)
```
This commit removes the assertion which failed here, because it was
logically incorrect: it required that if an Event is handled by some
(enabled) checker, then there must be an **enabled** checker which can
emit that kind of Event. It should be OK to disable the event-producing
checkers but enable an event-consuming checker which has different
responsibilities in addition to handling the events.
Note that this assertion was in an `#ifndef NDEBUG` block, so this
change does not impact the non-debug builds.
Co-authored-by: Vince Bridgers <vince.a.bridgers at ericsson.com>
Commit: 476b1a661f6846537d232e9a3bc5a68c5f15efb3
https://github.com/llvm/llvm-project/commit/476b1a661f6846537d232e9a3bc5a68c5f15efb3
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[TOSA] Update input name for Sin and Cos operators (#107606)
Update the dialect input names from input to input1 for Sin/Cos for
consistency.
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: d57be195e37f9c11a26e8e3fe8da5ef62bb921af
https://github.com/llvm/llvm-project/commit/d57be195e37f9c11a26e8e3fe8da5ef62bb921af
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes-to-zero.ll
Log Message:
-----------
[AArch64] replace SVE intrinsics with no active lanes with zero (#107413)
This patch extends https://github.com/llvm/llvm-project/pull/73964 and
optimises SVE intrinsics into zero constants when predicate is zero.
Commit: b98aa6fb1d5f5fa904ce6d789a8fa4a245a90ee6
https://github.com/llvm/llvm-project/commit/b98aa6fb1d5f5fa904ce6d789a8fa4a245a90ee6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/abds-neg.ll
M llvm/test/CodeGen/X86/abds.ll
M llvm/test/CodeGen/X86/abdu-neg.ll
M llvm/test/CodeGen/X86/abdu.ll
Log Message:
-----------
[X86] LowerABD - lower i8/i16 cases directly to CMOV(SUB(X,Y),SUB(Y,X)) pattern
Better codegen (shorter dependency chain for better ILP) than via the TRUNC(ABS(SUB(EXT(LHS),EXT(RHS)))) expansion
Commit: aa21ce4a792c170074193c32e8ba8dd35e57c628
https://github.com/llvm/llvm-project/commit/aa21ce4a792c170074193c32e8ba8dd35e57c628
Author: Jonas Rickert <Jonas.Rickert at amd.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M mlir/lib/AsmParser/Parser.h
M mlir/unittests/Parser/CMakeLists.txt
M mlir/unittests/Parser/ParserTest.cpp
Log Message:
-----------
[mlir] Do not set lastToken in AsmParser's resetToken function and add a unit test for AsmParsers's locations (#105529)
This changes the function `resetToken` to not update `lastToken`.
The member `lastToken` is the last token that was consumed by the
parser.
Resetting the lexer position to a different position does not cause any
token to be consumed, so `lastToken` should not be updated.
Setting it to `curToken` can cause the scopeLoc.end location of
`OperationDefinition `to be off-by-one, pointing to the
first token after the operation.
An example for an operation for which the scopeLoc.end location was
wrong before is:
```
%0 = torch.vtensor.literal(dense_resource<__elided__> : tensor<768xbf16>) : !torch.vtensor<[768],bf16>
```
Here the scope end loc always pointed to the next token
This also adds a test for the Locations of `OperationDefinitions`.
Without the change to `resetToken` the test failes, with the scope end
location for `llvm.mlir.undef` pointing to the `func.return` in the next
line
Commit: 663e9cec9c96169aa4e72ab9b6bf08b2d6603093
https://github.com/llvm/llvm-project/commit/663e9cec9c96169aa4e72ab9b6bf08b2d6603093
Author: Artem Kroviakov <71938912+akroviakov at users.noreply.github.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/Func/IR/FuncOps.td
M mlir/lib/Dialect/Func/IR/FuncOps.cpp
A mlir/test/Dialect/GPU/indirect-device-func-call.mlir
Log Message:
-----------
[Func][GPU] Use SymbolUserOpInterface in func::ConstantOp (#107748)
This PR enables `func::ConstantOp` creation and usage for device
functions inside GPU modules.
The current main returns error for referencing device functions via
`func::ConstantOp`, because during the `ConstantOp` verification it only
checks symbols in `ModuleOp` symbol table, which, of course, does not
contain device functions that are defined in `GPUModuleOp`. This PR
proposes a more general solution.
Co-authored-by: Artem Kroviakov <artem.kroviakov at tum.de>
Commit: dbd81ba2e85c2f244f22c983d96a106eae65c06a
https://github.com/llvm/llvm-project/commit/dbd81ba2e85c2f244f22c983d96a106eae65c06a
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M compiler-rt/lib/orc/string_pool.h
M compiler-rt/lib/orc/tests/unit/adt_test.cpp
M compiler-rt/lib/orc/tests/unit/bitmask_enum_test.cpp
M compiler-rt/lib/orc/tests/unit/endian_test.cpp
M compiler-rt/lib/orc/tests/unit/error_test.cpp
M compiler-rt/lib/orc/tests/unit/executor_address_test.cpp
M compiler-rt/lib/orc/tests/unit/executor_symbol_def_test.cpp
M compiler-rt/lib/orc/tests/unit/extensible_rtti_test.cpp
M compiler-rt/lib/orc/tests/unit/interval_map_test.cpp
M compiler-rt/lib/orc/tests/unit/interval_set_test.cpp
M compiler-rt/lib/orc/tests/unit/simple_packed_serialization_test.cpp
M compiler-rt/lib/orc/tests/unit/simple_packed_serialization_utils.h
M compiler-rt/lib/orc/tests/unit/string_pool_test.cpp
M compiler-rt/lib/orc/tests/unit/wrapper_function_utils_test.cpp
Log Message:
-----------
complete rename of __orc_rt namespace
for 3e04ad428313dde40c779af6d675b162e150125e
it's bizzare that none of the builbots were broken, only bazel build
https://buildkite.com/llvm-project/upstream-bazel/builds/109623#0191d5d0-2b3e-4ee7-b8dd-1e2580977e9b
Commit: 345cc47ba7a28811ae4ec7d113059ccb39c500a3
https://github.com/llvm/llvm-project/commit/345cc47ba7a28811ae4ec7d113059ccb39c500a3
Author: Daniil Fukalov <dfukalov at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M lldb/source/API/SBDebugger.cpp
M lldb/source/Host/common/Host.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/unittests/Host/MainLoopTest.cpp
Log Message:
-----------
[NFC] Add explicit #include llvm-config.h where its macros are used, lldb part. (#107603)
(this is lldb part)
Without these explicit includes, removing other headers, who implicitly
include llvm-config.h, may have non-trivial side effects. For example,
`clangd` may report even `llvm-config.h` as "no used" in case it defines
a macro, that is explicitly used with #ifdef. It is actually amplified
with different build configs which use different set of macros.
Commit: 049512e39d96995cb373a76cf2d009a86eaf3aab
https://github.com/llvm/llvm-project/commit/049512e39d96995cb373a76cf2d009a86eaf3aab
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/test/CXX/drs/cwg18xx.cpp
Log Message:
-----------
[NFC][clang] Fix clang version in the test for the implementation of cwg1815 (#107838)
This PR fix the clang version in
https://github.com/llvm/llvm-project/pull/97308 .
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 09c00b6f0463f6936be5d2100f9d47c0077700f8
https://github.com/llvm/llvm-project/commit/09c00b6f0463f6936be5d2100f9d47c0077700f8
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependencies for 345cc47ba7a28811ae4ec7d113059ccb39c500a3
Commit: d84d9559bdc7aeb4ce14c251f6a3490c66db8d3a
https://github.com/llvm/llvm-project/commit/d84d9559bdc7aeb4ce14c251f6a3490c66db8d3a
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
A clang/test/Analysis/embed.c
Log Message:
-----------
[clang][analyzer] Fix #embed crash (#107764)
Fix #107724.
Commit: b8b8fbe19dea2825b801c4738ff78dbf26aae430
https://github.com/llvm/llvm-project/commit/b8b8fbe19dea2825b801c4738ff78dbf26aae430
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/utils/TableGen/Attributes.cpp
Log Message:
-----------
[NFC][TableGen] Migrate LLVM Attribute Emitter to const RecordKeeper (#107698)
Migrate LLVM Attribute Emitter to const RecordKeeper.
Commit: 959d84044a70da08923fe221f999f4e406094ee9
https://github.com/llvm/llvm-project/commit/959d84044a70da08923fe221f999f4e406094ee9
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
Log Message:
-----------
[AMDGPU] Remove unused SplitGraph::Node::getFullCost
Commit: 7a930ce327fdbc5c77b50ee6304645084100c037
https://github.com/llvm/llvm-project/commit/7a930ce327fdbc5c77b50ee6304645084100c037
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/test/CodeGen/PowerPC/aix-xcoff-exception-section-debug.ll
M llvm/test/CodeGen/X86/pseudo_cmov_lower2.ll
A llvm/test/DebugInfo/X86/empty-line-info.ll
Log Message:
-----------
[DWARF] Emit a minimal line-table for totally empty functions (#107267)
In degenerate but legal inputs, we can have functions that have no source
locations at all -- all the DebugLocs attached to instructions are empty.
LLVM didn't produce any source location for the function; with this patch
it will at least emit the function-scope source location. Demonstrated by
empty-line-info.ll
The XCOFF test modified has similar symptoms -- with this patch, the size
of the ".dwline" section grows a bit, thus shifting some of the file
internal offsets, which I've updated.
Commit: cca54e347ac34912cdfb9983533c61836db135e0
https://github.com/llvm/llvm-project/commit/cca54e347ac34912cdfb9983533c61836db135e0
Author: Martin Storsjö <martin at martin.st>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/ast-dump-default-init-json.cpp
M clang/test/AST/ast-dump-default-init.cpp
M clang/test/Analysis/lifetime-extended-regions.cpp
M clang/test/CXX/drs/cwg16xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/special/class.temporary/p6.cpp
M clang/test/SemaCXX/constexpr-default-arg.cpp
M clang/test/SemaCXX/cxx11-default-member-initializers.cpp
M clang/test/SemaCXX/eval-crashes.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
Revert "Reapply "[Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer" (#97308)"
This reverts commit 45c8766973bb3bb73dd8d996231e114dcf45df9f
and 049512e39d96995cb373a76cf2d009a86eaf3aab.
This change triggers failed asserts on inputs like this:
struct a {
} constexpr b;
class c {
public:
c(a);
};
class B {
public:
using d = int;
struct e {
enum { f } g;
int h;
c i;
d j{};
};
};
B::e k{B::e::f, int(), b};
Compiled like this:
clang -target x86_64-linux-gnu -c repro.cpp
clang: ../../clang/lib/CodeGen/CGExpr.cpp:3105: clang::CodeGen::LValue
clang::CodeGen::CodeGenFunction::EmitDeclRefLValue(const clang::DeclRefExpr*):
Assertion `(ND->isUsed(false) || !isa<VarDecl>(ND) || E->isNonOdrUse() ||
!E->getLocation().isValid()) && "Should not use decl without marking it used!"' failed.
Commit: 32cef07885e112d05bc2b1c285f40e353d80e18f
https://github.com/llvm/llvm-project/commit/32cef07885e112d05bc2b1c285f40e353d80e18f
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M lldb/utils/TableGen/LLDBOptionDefEmitter.cpp
M lldb/utils/TableGen/LLDBPropertyDefEmitter.cpp
M lldb/utils/TableGen/LLDBTableGen.cpp
M lldb/utils/TableGen/LLDBTableGenBackends.h
M lldb/utils/TableGen/LLDBTableGenUtils.cpp
M lldb/utils/TableGen/LLDBTableGenUtils.h
Log Message:
-----------
[LLDB][TableGen] Migrate lldb-tblgen to use const RecordKeeper (#107536)
Migrate LLDB TableGen backend to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: cf8fb4320f1be29c55909adf5ff8ad47e02b2dbe
https://github.com/llvm/llvm-project/commit/cf8fb4320f1be29c55909adf5ff8ad47e02b2dbe
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/include/clang/Basic/arm_neon.td
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/test/CodeGen/aarch64-neon-faminmax-intrinsics.c
A clang/test/Sema/aarch64-neon-faminmax-no-faminmax.c
A clang/test/Sema/aarch64-neon-faminmax-no-neon.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/neon-famin-famax.ll
Log Message:
-----------
[AArch64] Implement NEON vamin/vamax intrinsics (#99041)
This patch implements the intrinsics of the form
floatNxM_t vamin[q]_fN(floatNxM_t vn, floatNxM_t vm);
floatNxM_t vamax[q]_fN(floatNxM_t vn, floatNxM_t vm);
as defined in https://github.com/ARM-software/acle/pull/324
---------
Co-authored-by: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Commit: 1199e5b9ce5a001445463ba8da1f70fa4558fbcc
https://github.com/llvm/llvm-project/commit/1199e5b9ce5a001445463ba8da1f70fa4558fbcc
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/test/Transforms/MemCpyOpt/memcpy.ll
Log Message:
-----------
[MemCpyOpt] Add more tests for memcpy passed to readonly arg (NFC)
Commit: e25eb1433110d94d16fd69e5aca9bdf72259263d
https://github.com/llvm/llvm-project/commit/e25eb1433110d94d16fd69e5aca9bdf72259263d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
A llvm/test/Transforms/ConstraintElimination/monotonic-pointer-phis-chain-of-exits.ll
Log Message:
-----------
[ConstraintElim] Add tests for loops with chained header conditions.
Commit: aa158bf40285925d3c019d9e697cd2c88421297a
https://github.com/llvm/llvm-project/commit/aa158bf40285925d3c019d9e697cd2c88421297a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
M llvm/test/Transforms/LoopVectorize/vector-intrinsic-call-cost.ll
Log Message:
-----------
[LV] Update tests to replace some code with loop varying instructions.
Update some tests with loop-invariant instructions, where hoisting them
out of the loop changes the vectorization decision. This should preserve
their original spirit when making further improvements.
Commit: 17f0c5dfaab8bc72e19cb68e73b0944e5ee27b88
https://github.com/llvm/llvm-project/commit/17f0c5dfaab8bc72e19cb68e73b0944e5ee27b88
Author: Sergey Kachkov <sergey.kachkov at syntacore.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
A llvm/test/Transforms/LoopStrengthReduce/duplicated-phis.ll
Log Message:
-----------
[LSR][NFC] Add pre-commit test
Commit: 1f2a634c44dedef11f590956f297b2c7a1659fcf
https://github.com/llvm/llvm-project/commit/1f2a634c44dedef11f590956f297b2c7a1659fcf
Author: Sergey Kachkov <sergey.kachkov at syntacore.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/test/Transforms/LoopStrengthReduce/2011-10-03-CritEdgeMerge.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-invalid-ptr-extend.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/2011-11-29-postincphi.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/expander-crashes.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/missing-phi-operand-update.ll
M llvm/test/Transforms/LoopStrengthReduce/duplicated-phis.ll
Log Message:
-----------
Reland "[LSR] Do not create duplicated PHI nodes while preserving LCSSA form" (#107380)
Motivating example: https://godbolt.org/z/eb97zrxhx
Here we have 2 induction variables in the loop: one is corresponding to
i variable (add rdx, 4), the other - to res (add rax, 2). The second
induction variable can be removed by rewriteLoopExitValues() method
(final value of res at loop exit is unroll_iter * -2); however, this
doesn't happen because we have duplicated LCSSA phi nodes at loop exit:
```
; Preheader:
for.body.preheader.new: ; preds = %for.body.preheader
%unroll_iter = and i64 %N, -4
br label %for.body
; Loop:
for.body: ; preds = %for.body, %for.body.preheader.new
%lsr.iv = phi i64 [ %lsr.iv.next, %for.body ], [ 0, %for.body.preheader.new ]
%i.07 = phi i64 [ 0, %for.body.preheader.new ], [ %inc.3, %for.body ]
%inc.3 = add nuw i64 %i.07, 4
%lsr.iv.next = add nsw i64 %lsr.iv, -2
%niter.ncmp.3.not = icmp eq i64 %unroll_iter, %inc.3
br i1 %niter.ncmp.3.not, label %for.end.loopexit.unr-lcssa.loopexit, label %for.body, !llvm.loop !7
; Exit blocks
for.end.loopexit.unr-lcssa.loopexit: ; preds = %for.body
%inc.3.lcssa = phi i64 [ %inc.3, %for.body ]
%lsr.iv.next.lcssa11 = phi i64 [ %lsr.iv.next, %for.body ]
%lsr.iv.next.lcssa = phi i64 [ %lsr.iv.next, %for.body ]
br label %for.end.loopexit.unr-lcssa
```
rewriteLoopExitValues requires %lsr.iv.next value to have only 2 uses:
one in LCSSA phi node, the other - in induction phi node. Here we have 3
uses of this value because of duplicated lcssa nodes, so the transform
doesn't apply and leads to an extra add operation inside the loop. The
proposed solution is to accumulate inserted instructions that will
require LCSSA form update into SetVector and then call
formLCSSAForInstructions for this SetVector once, so the same
instructions don't process twice.
Reland fixes the issue with preserve-lcssa.ll test: it fails in the situation
when x86_64-unknown-linux-gnu target is unavailable in opt. The changes are
moved into separate duplicated-phis.ll test with explicit x86 target requirement
to fix bots which are not building this target.
Commit: 1a5a1e97817c9a3db4d1f9795789c99790cf88e2
https://github.com/llvm/llvm-project/commit/1a5a1e97817c9a3db4d1f9795789c99790cf88e2
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Assert that VFxUF is always used.
Add assertion to ensure invariant discussed in
https://github.com/llvm/llvm-project/pull/95305.
Commit: eaac4a26136ca8e3633bf91795343cd060d7af87
https://github.com/llvm/llvm-project/commit/eaac4a26136ca8e3633bf91795343cd060d7af87
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-global.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
Log Message:
-----------
[AMDGPU] Document & Finalize GFX12 Memory Model (#98599)
Documents the memory model implemented as of #98591, with some
fixes/optimizations to the implementation.
Commit: 620b8d994b8abdcf31271d9f4db7e7422fc9bd65
https://github.com/llvm/llvm-project/commit/620b8d994b8abdcf31271d9f4db7e7422fc9bd65
Author: Samuel Thibault <samuel.thibault at ens-lyon.org>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Support/Unix/Path.inc
Log Message:
-----------
[hurd] Fix accessing f_type field of statvfs (#71851)
f4719c4d2cda ("Add support for GNU Hurd in Path.inc and other places")
made llvm use an internal __f_type name for the f_type field (which it
is not supposed to since accessing double-underscore names is explicitly
not supported by standards). In glibc 2.39 this field was renamed to
f_type so application can now access the field as the standard says.
Commit: 563dc226fe17f7638d02a957d1b2870dfa968f01
https://github.com/llvm/llvm-project/commit/563dc226fe17f7638d02a957d1b2870dfa968f01
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/include/llvm/Analysis/DOTGraphTraitsPass.h
Log Message:
-----------
[Analysis] Avoid repeated hash lookups (NFC) (#107794)
Commit: 3940a1ba1454afec916be86385bb2031526e3e13
https://github.com/llvm/llvm-project/commit/3940a1ba1454afec916be86385bb2031526e3e13
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/Float2Int.cpp
Log Message:
-----------
[Float2Int] Avoid repeated hash lookups (NFC) (#107795)
Commit: ab95ed5ce0b099913eb5c9b03fef7f322c24acd2
https://github.com/llvm/llvm-project/commit/ab95ed5ce0b099913eb5c9b03fef7f322c24acd2
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/include/llvm/Transforms/IPO/ProfiledCallGraph.h
Log Message:
-----------
[IPO] Avoid repeated hash lookups (NFC) (#107796)
Commit: a2f659c1349cb70c09b183eb214e2a24cf04c2c6
https://github.com/llvm/llvm-project/commit/a2f659c1349cb70c09b183eb214e2a24cf04c2c6
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
Log Message:
-----------
[StructurizeCFG] Avoid repeated hash lookups (NFC) (#107797)
Commit: 2d338bed00b2bba713bceb4915400063b95929b2
https://github.com/llvm/llvm-project/commit/2d338bed00b2bba713bceb4915400063b95929b2
Author: Tobias Stadler <mail at stadler-tobias.de>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/lib/CodeGen/DeadMachineInstructionElim.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
Log Message:
-----------
[CodeGen] Refactor DeadMIElim isDead and GISel isTriviallyDead (#105956)
Merge GlobalISel's isTriviallyDead and DeadMachineInstructionElim's
isDead code and remove all unnecessary checks from the hot path by
looping over the operands before doing any other checks.
See #105950 for why DeadMIElim needs to remove LIFETIME markers even
though they probably shouldn't generally be considered dead.
x86 CTMark O3: -0.1%
AArch64 GlobalISel CTMark O0: -0.6%, O2: -0.2%
Commit: 111932d5cae0199d9c59669b37232a011f8b8757
https://github.com/llvm/llvm-project/commit/111932d5cae0199d9c59669b37232a011f8b8757
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-to-vmv.mir
Log Message:
-----------
[RISCV] Fix same mask vmerge peephole discarding false operand (#107827)
This fixes the issue raised in
https://github.com/llvm/llvm-project/pull/106108#discussion_r1749677510
True's passthru needs to be equivalent to vmerge's false, but we also
allow true's passthru to be undef.
However if it's undef then we need to replace it with false, otherwise
we end up discarding the false operand entirely.
The changes in fixed-vectors-strided-load-store-asm.ll undo the changes
in #106108 where we introduced this miscompile.
Commit: 6634d44e5e6079e19efe54c2de35e2e63108b085
https://github.com/llvm/llvm-project/commit/6634d44e5e6079e19efe54c2de35e2e63108b085
Author: Amy Wang <kai.ting.wang at huawei.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.h
M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
A mlir/test/Dialect/Transform/transform-state-extension-initializer.mlir
M mlir/test/lib/Dialect/Transform/CMakeLists.txt
A mlir/test/lib/Dialect/Transform/TestPassStateExtensionCommunication.cpp
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.td
M mlir/test/lib/Dialect/Transform/TestTransformStateExtension.h
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[MLIR][Transform] Allow stateInitializer and stateExporter for applyTransforms (#101186)
This is discussed in RFC:
https://discourse.llvm.org/t/rfc-making-the-constructor-of-the-transformstate-class-protected/80377
Commit: ea9204505cf1099b98b1fdcb898f0bd35e463984
https://github.com/llvm/llvm-project/commit/ea9204505cf1099b98b1fdcb898f0bd35e463984
Author: Lei Huang <lei at ca.ibm.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/X86.cpp
R clang/test/CodeGen/PowerPC/transparent_union.c
A clang/test/CodeGen/transparent-union-type.c
Log Message:
-----------
Fix codegen for transparent_union function params (#104816)
Update codegen for func param with transparent_union attr to be that of
the first union member.
This is a followup to #101738 to fix non-ppc codegen and closes #76773.
Commit: 6cc3bf7d1d343f910b40cee24d4cda873a6ddd55
https://github.com/llvm/llvm-project/commit/6cc3bf7d1d343f910b40cee24d4cda873a6ddd55
Author: Quinn Dawkins <quinn.dawkins at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor] Add canonicalization to fold consecutive tensor.pad ops (#107302)
`tensor.pad(tensor.pad)` with the same constant padding value can be
combined into a single pad that pads to the sum of the high and low
padding amounts.
Commit: 763bc9249cf0b7da421182e24716d9a569fb5184
https://github.com/llvm/llvm-project/commit/763bc9249cf0b7da421182e24716d9a569fb5184
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/Utils/Chipset.h
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/EmulateAtomics.cpp
M mlir/lib/Dialect/AMDGPU/Utils/Chipset.cpp
M mlir/unittests/Dialect/AMDGPU/AMDGPUUtilsTest.cpp
Log Message:
-----------
[mlir][amdgpu] Align Chipset with TargetParser (#107720)
Update the Chipset struct to follow the `IsaVersion` definition from
llvm's `TargetParser`. This is a follow up to
https://github.com/llvm/llvm-project/pull/106169#discussion_r1733955012.
* Add the stepping version. Note: This may break downstream code that
compares against the minor version directly.
* Use comparisons with full Chipset version where possible.
Note that we can't use the code in `TargetParser` directly because the
chipset utility is outside of `mlir/Target` that re-exports llvm's
target library.
Commit: 86e5c5468ae3fcd65b23fd7b3cb0182e676829bd
https://github.com/llvm/llvm-project/commit/86e5c5468ae3fcd65b23fd7b3cb0182e676829bd
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy][run-clang-tidy] Fix minor shutdown noise (#105724)
On my new machine, the script outputs some shutdown noise:
```
Ctrl-C detected, goodbye.
Traceback (most recent call last):
File "/home/nvankempen/llvm-project/./clang-tools-extra/clang-tidy/tool/run-clang-tidy.py", line 626, in <module>
asyncio.run(main())
File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run
return loop.run_until_complete(main)
File "/usr/lib/python3.10/asyncio/base_events.py", line 636, in run_until_complete
self.run_forever()
File "/usr/lib/python3.10/asyncio/base_events.py", line 603, in run_forever
self._run_once()
File "/usr/lib/python3.10/asyncio/base_events.py", line 1871, in _run_once
event_list = self._selector.select(timeout)
File "/usr/lib/python3.10/selectors.py", line 469, in select
fd_event_list = self._selector.poll(timeout, max_ev)
KeyboardInterrupt
```
This fixes it. Also remove an unused typing import.
Relevant documentation:
https://docs.python.org/3/library/asyncio-runner.html#handling-keyboard-interruption
Commit: e46f03bc31a61a903416f1d3c68063ab75aebe6e
https://github.com/llvm/llvm-project/commit/e46f03bc31a61a903416f1d3c68063ab75aebe6e
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[MemProf] Remove unnecessary data structure (NFC) (#107643)
Recent change #106623 added the CallToFunc map, but I subsequently
realized the same information is already available for the calls being
examined in the StackIdToMatchingCalls map we're iterating through.
Commit: 1651014960b90bd1398f61bec0866d4a187910ef
https://github.com/llvm/llvm-project/commit/1651014960b90bd1398f61bec0866d4a187910ef
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/utils/TableGen/NeonEmitter.cpp
M llvm/include/llvm/TableGen/Record.h
M llvm/include/llvm/TableGen/SetTheory.h
M llvm/lib/TableGen/Record.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.h
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/TableGen/TableGen.cpp
Log Message:
-----------
[TableGen] Change SetTheory set/vec to use const Record * (#107692)
Change SetTheory::RecSet/RecVec to use const Record pointers.
Commit: ea2da571c761066542f8d2273933d2523279e631
https://github.com/llvm/llvm-project/commit/ea2da571c761066542f8d2273933d2523279e631
Author: Tyler Nowicki <tyler.nowicki at amd.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CMakeLists.txt
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
A llvm/lib/Transforms/Coroutines/SuspendCrossingInfo.cpp
A llvm/lib/Transforms/Coroutines/SuspendCrossingInfo.h
Log Message:
-----------
[Coroutines] Move the SuspendCrossingInfo analysis helper into its own header/source (#106306)
* Move the SuspendCrossingInfo analysis helper into its own
header/source
See RFC for more info:
https://discourse.llvm.org/t/rfc-abi-objects-for-coroutines/81057
Co-authored-by: tnowicki <tnowicki.nowicki at amd.com>
Commit: 914ab366c24cf494a798ce3a178686456731861a
https://github.com/llvm/llvm-project/commit/914ab366c24cf494a798ce3a178686456731861a
Author: sstipanovic <146831748+sstipanovic at users.noreply.github.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.atomic.dim.ll
Log Message:
-----------
[AMDGPU] Overload image atomic swap to allow float as well. (#107283)
LLPC can generate llvm.amdgcn.image.atomic.swap intrinsic with data
argument as float type as well as float return type. This went unnoticed
until CreateIntrinsic with implicit mangling was used.
Commit: eba6160deec5a32e4b31c2a446172d0e388195c9
https://github.com/llvm/llvm-project/commit/eba6160deec5a32e4b31c2a446172d0e388195c9
Author: Tarun Prabhu <tarun at lanl.gov>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M flang/test/Driver/w-option.f90
Log Message:
-----------
[flang][Driver] Support --no-warnings option (#107455)
Because of the way visibility is implemented in Options.td, options that
are aliases do not inherit the visibility of the option being aliased.
Therefore, explicitly set the visibility of the alias to be the same as
the aliased option.
This partially addresses
https://github.com/llvm/llvm-project/issues/89888
Commit: 3cdb30ebbc18fa894d3bd67aebcff76ce7c741ac
https://github.com/llvm/llvm-project/commit/3cdb30ebbc18fa894d3bd67aebcff76ce7c741ac
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
Log Message:
-----------
[Clang][Sema] Use the correct lookup context when building overloaded 'operator->' in the current instantiation (#104458)
Currently, clang erroneously rejects the following:
```
struct A
{
template<typename T>
void f();
};
template<typename T>
struct B
{
void g()
{
(*this)->template f<int>(); // error: no member named 'f' in 'B<T>'
}
A* operator->();
};
```
This happens because `Sema::ActOnStartCXXMemberReference` does not adjust the `ObjectType` parameter when `ObjectType` is a dependent type (except when the type is a `PointerType` and the class member access is the `->` form). Since the (possibly adjusted) `ObjectType` parameter (`B<T>` in the above example) is passed to `Parser::ParseOptionalCXXScopeSpecifier`, we end up looking up `f` in `B` rather than `A`.
This patch fixes the issue by identifying cases where the type of the object expression `T` is a dependent, non-pointer type and:
- `T` is the current instantiation and lookup for `operator->` finds a member of the current instantiation, or
- `T` has at least one dependent base case, and `operator->` is not found in the current instantiation
and using `ASTContext::DependentTy` as the type of the object expression when the optional _nested-name-specifier_ is parsed.
Fixes #104268.
Commit: db6051dae085c35020c1273ae8d38508c9958bc7
https://github.com/llvm/llvm-project/commit/db6051dae085c35020c1273ae8d38508c9958bc7
Author: Pavel Skripkin <paskripkin at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/test/Analysis/asm.cpp
Log Message:
-----------
[analyzer] fix crash on binding to symbolic region with `void *` type (#107572)
As reported in
https://github.com/llvm/llvm-project/pull/103714#issuecomment-2295769193.
CSA crashes on trying to bind value to symbolic region with `void *`.
This happens when such region gets passed as inline asm input and engine
tries to bind `UnknownVal` to that region.
Fix it by changing type from void to char before calling
`GetElementZeroRegion`
Commit: 95753ffa49f57c284a4682a8ca03e05d59f2c112
https://github.com/llvm/llvm-project/commit/95753ffa49f57c284a4682a8ca03e05d59f2c112
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Coroutines/BUILD.gn
Log Message:
-----------
[gn build] Port ea2da571c761
Commit: 5c8fd1eece8fff69871cef57a2363dc0f734a7d1
https://github.com/llvm/llvm-project/commit/5c8fd1eece8fff69871cef57a2363dc0f734a7d1
Author: Sam Clegg <sbc at chromium.org>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M lld/wasm/SyntheticSections.cpp
Log Message:
-----------
[lld][WebAssembly] Fix use of uninitialized stack data with --wasm64 (#107780)
In the case of `--wasm64` we were setting the type of the init expression
to be 64-bit but were only setting the low 32-bits of the value (by
assigning to Int32).
Fixes: https://github.com/emscripten-core/emscripten/issues/22538
Commit: 60f052edc66a5b5b346635656f231930c436a008
https://github.com/llvm/llvm-project/commit/60f052edc66a5b5b346635656f231930c436a008
Author: Petr Hosek <phosek at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
Log Message:
-----------
[CMake] Passthrough variables for packages to subbuilds (#107611)
These packaged are imported by LLVMConfig.cmake and so we should be
passing through the necessary variables from the parent build into the
subbuilds.
We use `CMAKE_CACHE_DEFAULT_ARGS` so subbuilds can override these
variables if needed.
Commit: 7d371725cdf993d16f6debf74cf740c3aea84f9b
https://github.com/llvm/llvm-project/commit/7d371725cdf993d16f6debf74cf740c3aea84f9b
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
Log Message:
-----------
[NFCI][BitcodeReader]Read real GUID from VI as opposed to storing it in map (#107735)
Currently, `ValueIdToValueInfoMap` [1] stores `std::tuple<ValueInfo,
GlobalValue::GUID /* original GUID */, GlobalValue::GUID /* real GUID*/
>`. This change updates the stored value type to `std::pair<ValueInfo,
GlobalValue::GUID /* original GUID */>`, and reads real GUID from
ValueInfo.
When an entry is inserted into `ValueIdToValueInfoMap`, ValueInfo is
created or inserted using real GUID [2]. ValueInfo keeps a pointer to
GlobalValueMap [3], using either `GUID` or `{GUID, Name}` [4] when
reading per-module summaries to create a combined summary.
[1] owned by per module-summary bitcode reader
https://github.com/llvm/llvm-project/blob/caebb4562ce634a22f7b13480b19cffc2a6a6730/llvm/lib/Bitcode/Reader/BitcodeReader.cpp#L947-L950
[2]
[first](https://github.com/llvm/llvm-project/blob/caebb4562ce634a22f7b13480b19cffc2a6a6730/llvm/lib/Bitcode/Reader/BitcodeReader.cpp#L7130-L7133),
[second](https://github.com/llvm/llvm-project/blob/caebb4562ce634a22f7b13480b19cffc2a6a6730/llvm/lib/Bitcode/Reader/BitcodeReader.cpp#L7221-L7222),
[third](https://github.com/llvm/llvm-project/blob/caebb4562ce634a22f7b13480b19cffc2a6a6730/llvm/lib/Bitcode/Reader/BitcodeReader.cpp#L7622-L7623)
[3]
https://github.com/llvm/llvm-project/blob/caebb4562ce634a22f7b13480b19cffc2a6a6730/llvm/include/llvm/IR/ModuleSummaryIndex.h#L1427-L1431
[4]
https://github.com/llvm/llvm-project/blob/caebb4562ce634a22f7b13480b19cffc2a6a6730/llvm/include/llvm/IR/ModuleSummaryIndex.h#L1631
and
https://github.com/llvm/llvm-project/blob/caebb4562ce634a22f7b13480b19cffc2a6a6730/llvm/include/llvm/IR/ModuleSummaryIndex.h#L1621
---------
Co-authored-by: Kazu Hirata <kazu at google.com>
Commit: c36c462cc719d47aa2408bca91a028300b2be6d4
https://github.com/llvm/llvm-project/commit/c36c462cc719d47aa2408bca91a028300b2be6d4
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
Log Message:
-----------
[LTO] Simplify calculateCallGraphRoot (NFC) (#107765)
The function returns an instance of FunctionSummary populated by
calculateCallGraphRoot regardless of whether Edges is empty or not.
Commit: 95831f012d76558fe78f5f3e71b1003a773384e5
https://github.com/llvm/llvm-project/commit/95831f012d76558fe78f5f3e71b1003a773384e5
Author: David Green <david.green at arm.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h
Log Message:
-----------
[ARM] Add a default unreachable case to AddrModeToString. NFC
Fixes #107739
Commit: 7f90479b2300b3758fd90015a2e6e7e94cfcf1e7
https://github.com/llvm/llvm-project/commit/7f90479b2300b3758fd90015a2e6e7e94cfcf1e7
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/default.f90
Log Message:
-----------
[flang][OpenMP] Don't abort when default is used on an invalid directive (#107586)
The previous assert was not considering programs with semantic errors.
Fixes https://github.com/llvm/llvm-project/issues/107495
Fixes https://github.com/llvm/llvm-project/issues/93437
Commit: 7543d09b852695187d08aa5d56d50016fea8f706
https://github.com/llvm/llvm-project/commit/7543d09b852695187d08aa5d56d50016fea8f706
Author: Andrew Ng <andrew.ng at sony.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/test/tools/llvm-ml/rip_relative_addressing.asm
Log Message:
-----------
[llvm-ml] Fix RIP-relative addressing for ptr operands (#107618)
Fixes #54773
Commit: cd8229bb4bfa4de45528ce101d9dceb9be8bff9e
https://github.com/llvm/llvm-project/commit/cd8229bb4bfa4de45528ce101d9dceb9be8bff9e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/test/Lower/CUDA/cuda-devptr.cuf
Log Message:
-----------
[flang][cuda] Support c_devptr in c_f_pointer intrinsic (#107470)
This is an extension of CUDA Fortran. The iso_c_binding intrinsic can
accept a `TYPE(c_devptr)` as its first argument. This patch relax the
semantic check to accept it and update the lowering to unwrap the cptr
field from the c_devptr.
Commit: 6cc0138ca3dbdb21f4c4a5fa39cf05c38da4bb75
https://github.com/llvm/llvm-project/commit/6cc0138ca3dbdb21f4c4a5fa39cf05c38da4bb75
Author: Chris B <chris.bieneman at me.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/include/clang/Sema/Overload.h
M clang/test/SemaHLSL/TruncationOverloadResolution.hlsl
Log Message:
-----------
Fix implicit conversion rank ordering (#106811)
DXC prefers dimension-preserving conversions over precision-losing
conversions. This means a double4 -> float4 conversion is preferred over
a double4 -> double3 or double4 -> double conversion.
Commit: 34e3007c69eb91c16f23f20548305a2fb8feb75e
https://github.com/llvm/llvm-project/commit/34e3007c69eb91c16f23f20548305a2fb8feb75e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h
Log Message:
-----------
[ARM] Fix a warning
This patch fixes:
llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h:214:5: error: default
label in switch which covers all enumeration values
[-Werror,-Wcovered-switch-default]
Commit: 0f349b7a9cde0080e626f6cfd362885341eb63b4
https://github.com/llvm/llvm-project/commit/0f349b7a9cde0080e626f6cfd362885341eb63b4
Author: Sarah Spall <spall at users.noreply.github.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/select.hlsl
A clang/test/SemaHLSL/BuiltIns/select-errors.hlsl
Log Message:
-----------
[HLSL] Implement support for HLSL intrinsic - select (#107129)
Implement support for HLSL intrinsic select.
This would close issue #75377
Commit: 5f74671c85877e03622e8d308aee15ed73ccee7c
https://github.com/llvm/llvm-project/commit/5f74671c85877e03622e8d308aee15ed73ccee7c
Author: Tarun Prabhu <tarun at lanl.gov>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
A flang/test/Driver/xlinker.f90
Log Message:
-----------
[flang][Driver] Support -Xlinker in flang (#107472)
Partially addresses: https://github.com/llvm/llvm-project/issues/89888
Commit: 6850410562123b6e4fbb039e7ba4a2325b994b84
https://github.com/llvm/llvm-project/commit/6850410562123b6e4fbb039e7ba4a2325b994b84
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
A compiler-rt/test/profile/instrprof-merging-2.cpp
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
Log Message:
-----------
[Coverage] Ignore unused functions if the count is 0. (#107661)
Relax the condition to ignore the case when count is 0.
This fixes a bug on
https://github.com/llvm/llvm-project/commit/381e9d2386facea7f2acc0f8c16a6d0731267f80.
This was reported at
https://discourse.llvm.org/t/coverage-from-multiple-test-executables/81024/.
Commit: 4a501a4556bb191bd6eb5398a7330a28437e5087
https://github.com/llvm/llvm-project/commit/4a501a4556bb191bd6eb5398a7330a28437e5087
Author: Artem Belevich <tra at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/hip-cuid.hip
Log Message:
-----------
[CUDA/HIP] propagate -cuid to a host-only compilation. (#107483)
Right now we're bailing out too early, and `-cuid` does not get set for
the host-only compilations.
Commit: 277371943fa48f2550df02870951f5e5a77efef5
https://github.com/llvm/llvm-project/commit/277371943fa48f2550df02870951f5e5a77efef5
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M libc/test/src/math/exp2f_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
Log Message:
-----------
[libc][bazel] Update bazel overlay for math functions and their tests. (#107862)
Commit: 09b231cb38755e1bd122dbab9c57c4847bf64204
https://github.com/llvm/llvm-project/commit/09b231cb38755e1bd122dbab9c57c4847bf64204
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M lld/ELF/InputFiles.cpp
M lld/ELF/LTO.cpp
M llvm/include/llvm/LTO/Config.h
M llvm/include/llvm/LTO/LTO.h
M llvm/include/llvm/Object/IRSymtab.h
M llvm/lib/LTO/LTO.cpp
Log Message:
-----------
Re-apply "[NFCI][LTO][lld] Optimize away symbol copies within LTO global resolution in ELF" (#107792)
Fix the use-after-free bug and re-apply
https://github.com/llvm/llvm-project/pull/106193
* Without the fix, the string referenced by `objSym.Name` could be
destroyed even if string saver keeps a copy of the referenced string.
This caused use-after-free.
* The fix ([latest
commit](https://github.com/llvm/llvm-project/pull/107792/commits/9776ed44cfb26172480145aed8f59ba78a6fa2ea))
updates `objSym.Name` to reference (via `StringRef`) the string saver's
copy.
Test:
1. For `lld/test/ELF/lto/asmundef.ll`, its test failure is reproducible
with `-DLLVM_USE_SANITIZER=Address` and gone with the fix.
3. Run all tests by following
https://github.com/google/sanitizers/wiki/SanitizerBotReproduceBuild#try-local-changes.
* Without the fix, `ELF/lto/asmundef.ll` aborted the multi-stage test at
`@@@BUILD_STEP stage2/asan_ubsan check@@@`, defined
[here](https://github.com/llvm/llvm-zorg/blob/main/zorg/buildbot/builders/sanitizers/buildbot_fast.sh#L30)
* With the fix, the [multi-stage
test](https://github.com/llvm/llvm-zorg/blob/main/zorg/buildbot/builders/sanitizers/buildbot_fast.sh)
pass stage2 {asan, ubsan, masan}. This is also the test used by
https://lab.llvm.org/buildbot/#/builders/169
**Original commit message**
`StringMap<T>` creates a [copy of the
string](https://github.com/llvm/llvm-project/blob/d4c519e7b2ac21350ec08b23eda44bf4a2d3c974/llvm/include/llvm/ADT/StringMapEntry.h#L55-L58)
for entry insertions and intentionally keep copies [since the
implementation optimizes string memory
usage](https://github.com/llvm/llvm-project/blob/d4c519e7b2ac21350ec08b23eda44bf4a2d3c974/llvm/include/llvm/ADT/StringMap.h#L124).
On the other hand, linker keeps copies of symbol names [1] in
`lld::elf::parseFiles` [2] before invoking `compileBitcodeFiles` [3].
This change proposes to optimize away string copies inside
[LTO::GlobalResolutions](https://github.com/llvm/llvm-project/blob/24e791b4164986a1ca7776e3ae0292ef20d20c47/llvm/include/llvm/LTO/LTO.h#L409),
which will make LTO indexing more memory efficient for ELF. There are
similar opportunities for other (COFF, wasm, MachO) formats.
The optimization takes place for lld (ELF) only. For the rest of use
cases (gold plugin, `llvm-lto2`, etc), LTO owns a string saver to keep
copies and use global resolution key for de-duplication.
Together with @kazutakahirata's work to make `ComputeCrossModuleImport`
more memory efficient, we see a ~20% peak memory usage reduction in a
binary where peak memory usage needs to go down. Thanks to the
optimization in
https://github.com/llvm/llvm-project/commit/329ba523ccbbe68a12434926c92fd9a86494d958,
the max (as opposed to the sum) of `ComputeCrossModuleImport` or
`GlobalResolution` shows up in peak memory usage.
* Regarding correctness, the set of
[resolved](https://github.com/llvm/llvm-project/blob/80c47ad3aec9d7f22e1b1bdc88960a91b66f89f1/llvm/lib/LTO/LTO.cpp#L739)
[per-module
symbols](https://github.com/llvm/llvm-project/blob/80c47ad3aec9d7f22e1b1bdc88960a91b66f89f1/llvm/include/llvm/LTO/LTO.h#L188-L191)
is a subset of
[llvm::lto::InputFile::Symbols](https://github.com/llvm/llvm-project/blob/80c47ad3aec9d7f22e1b1bdc88960a91b66f89f1/llvm/include/llvm/LTO/LTO.h#L120).
And bitcode symbol parsing saves symbol name when iterating
`obj->symbols` in `BitcodeFile::parse` already. This change updates
`BitcodeFile::parseLazy` to keep copies of per-module undefined symbols.
* Presumably the undefined symbols in a LTO unit (copied in this patch
in linker unique saver) is a small set compared with the set of symbols
in global-resolution (copied before this patch), making this a
worthwhile trade-off. Benchmarking this change alone shows measurable
memory savings across various benchmarks.
[1] ELF
https://github.com/llvm/llvm-project/blob/1cea5c2138bef3d8fec75508df6dbb858e6e3560/lld/ELF/InputFiles.cpp#L1748
[2]
https://github.com/llvm/llvm-project/blob/ef7b18a53c0d186dcda1e322be6035407fdedb55/lld/ELF/Driver.cpp#L2863
[3]
https://github.com/llvm/llvm-project/blob/ef7b18a53c0d186dcda1e322be6035407fdedb55/lld/ELF/Driver.cpp#L2995
Commit: b1b9b7b853fc4301aedd9ad6b7c22b75f5546b94
https://github.com/llvm/llvm-project/commit/b1b9b7b853fc4301aedd9ad6b7c22b75f5546b94
Author: Eduard Satdarov <sath at yandex-team.ru>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M libcxx/include/__filesystem/directory_entry.h
M libcxx/src/filesystem/directory_iterator.cpp
M libcxx/src/filesystem/file_descriptor.h
A libcxx/test/std/input.output/filesystems/class.rec.dir.itr/cache_refresh_iter.pass.cpp
Log Message:
-----------
[libc++] Cache file attributes during directory iteration (#93316)
This patch adds caching of file attributes during directory iteration
on Windows. This improves the performance when working with files being
iterated on in a directory.
Commit: 048e46ad53bedef076df868524f0a15eb7cbd38c
https://github.com/llvm/llvm-project/commit/048e46ad53bedef076df868524f0a15eb7cbd38c
Author: Brian Cain <bcain at quicinc.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/lib/Headers/hexagon_types.h
Log Message:
-----------
[clang, hexagon] Update copyright, license text (#107161)
When this file was first contributed - `28b01c59c93d ([hexagon] Add
{hvx,}hexagon_{protos,circ_brev...}, 2021-06-30)` - I incorrectly
included a QuIC copyright statement with "All rights reserved". I should
have contributed this file with the `Apache+LLVM exception` license.
Commit: 02fff933d0eff71db8ff44f4acf1641bb1ad4d38
https://github.com/llvm/llvm-project/commit/02fff933d0eff71db8ff44f4acf1641bb1ad4d38
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/utils/mlgo-utils/mlgo/corpus/extract_ir.py
M llvm/utils/mlgo-utils/tests/corpus/extract_ir_test.py
Log Message:
-----------
[MLGO] Remove unused imports
Remove unused imports from python files in the MLGO library.
Commit: a7c26aaf2eca61cd5d885194872471c63d68f3bc
https://github.com/llvm/llvm-project/commit/a7c26aaf2eca61cd5d885194872471c63d68f3bc
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
R compiler-rt/test/profile/instrprof-merging-2.cpp
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
Log Message:
-----------
Revert "[Coverage] Ignore unused functions if the count is 0." (#107901)
Reverts llvm/llvm-project#107661
Breaks llvm-project/llvm/unittests/ProfileData/CoverageMappingTest.cpp
Commit: 99ea357f7b5e7e01e42b8d68dd211dc304b3115b
https://github.com/llvm/llvm-project/commit/99ea357f7b5e7e01e42b8d68dd211dc304b3115b
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/utils/mlgo-utils/mlgo/corpus/combine_training_corpus.py
M llvm/utils/mlgo-utils/mlgo/corpus/extract_ir.py
Log Message:
-----------
[MLGO] Fix logging verbosity in scripts (#107818)
This patch fixes issues related to logging verbosity in the MLGO python
scripts. This was an oversight when converting from absl.logging to the
python logging API as absl natively supports a --verbosity flag to set
the desired logging level. This patch adds a flag to support similar
functionality in Python's logging library and additionally updates
docstrings where relevant to point to the new values.
Commit: 78c1009c3e54e59b6177deb4d74dd3a3083a3f01
https://github.com/llvm/llvm-project/commit/78c1009c3e54e59b6177deb4d74dd3a3083a3f01
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/include/llvm/TableGen/DirectiveEmitter.h
M llvm/utils/TableGen/DirectiveEmitter.cpp
Log Message:
-----------
[NFC][TableGen] DirectiveEmitter code cleanup (#107775)
Eliminate unnecessary llvm:: prefix as this code is in llvm namespace.
Use ArrayRef<> instead of std::vector references when appropriate.
Use .empty() instead of .size() == 0.
Commit: eec1ee8ef10820c61c03b00b68d242d8c87d478a
https://github.com/llvm/llvm-project/commit/eec1ee8ef10820c61c03b00b68d242d8c87d478a
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Support/raw_ostream.cpp
M llvm/utils/lit/lit/run.py
M llvm/utils/lit/lit/util.py
Log Message:
-----------
[SystemZ][z/OS] Enable lit testing for z/OS (#107631)
This patch fixes various errors to enable llvm-lit to run on z/OS
Commit: 6776d65ceaea84fe815845da3c41b2f1621521fb
https://github.com/llvm/llvm-project/commit/6776d65ceaea84fe815845da3c41b2f1621521fb
Author: NoumanAmir-10xe <66777536+NoumanAmir657 at users.noreply.github.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/__iterator/common_iterator.h
M libcxx/include/__iterator/counted_iterator.h
Log Message:
-----------
[libc++] Implement LWG3953 (#107535)
Closes #105303
Commit: ab82f83dae065a9aa4716618524eddf4aad5fcf0
https://github.com/llvm/llvm-project/commit/ab82f83dae065a9aa4716618524eddf4aad5fcf0
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/include/llvm/LTO/LTO.h
Log Message:
-----------
[LTO][NFC] Fix forward declaration (#107902)
Fix after https://github.com/llvm/llvm-project/pull/107792
Commit: 3681d8552fb9e6cb15e9d45849ff2e34a25c518e
https://github.com/llvm/llvm-project/commit/3681d8552fb9e6cb15e9d45849ff2e34a25c518e
Author: Nikita Popov <nikita.ppv at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
Log Message:
-----------
Revert "[Clang][Sema] Use the correct lookup context when building overloaded 'operator->' in the current instantiation (#104458)"
This reverts commit 3cdb30ebbc18fa894d3bd67aebcff76ce7c741ac.
Breaks clang bootstrap.
Commit: 98815f7878c3240e27f516e331255532087f5fcb
https://github.com/llvm/llvm-project/commit/98815f7878c3240e27f516e331255532087f5fcb
Author: c8ef <c8ef at outlook.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/docs/ExternalClangExamples.rst
Log Message:
-----------
[clang][docs] Add clang-tutor to External Clang Examples (#107665)
Commit: e62bf7cd0beb530bc0842bb7aa8ff162607a82b9
https://github.com/llvm/llvm-project/commit/e62bf7cd0beb530bc0842bb7aa8ff162607a82b9
Author: Sean Perry <perry at ca.ibm.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Driver/ToolChains/Arch/SystemZ.cpp
M clang/lib/Driver/ToolChains/Arch/SystemZ.h
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/test/Preprocessor/predefined-arch-macros.c
Log Message:
-----------
[z/OS] Set the default arch for z/OS to be arch10 (#89854)
The default arch level on z/OS is arch10. Update the code so z/OS has
arch10 without changing the default for zLinux.
Commit: b3d2d5039b9b8aa10a86c593387f200b15c02aef
https://github.com/llvm/llvm-project/commit/b3d2d5039b9b8aa10a86c593387f200b15c02aef
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Reorder code for better structural complexity, NFC
Commit: 985600dcd3fcef4095097bea5b556e84c8143a7f
https://github.com/llvm/llvm-project/commit/985600dcd3fcef4095097bea5b556e84c8143a7f
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/utils/TableGen/CodeEmitterGen.cpp
M llvm/utils/TableGen/Common/CodeGenHwModes.cpp
M llvm/utils/TableGen/Common/CodeGenHwModes.h
M llvm/utils/TableGen/Common/InfoByHwMode.cpp
M llvm/utils/TableGen/Common/InfoByHwMode.h
M llvm/utils/TableGen/Common/VarLenCodeEmitterGen.cpp
Log Message:
-----------
[TableGen] Migrate CodeGenHWModes to use const RecordKeeper (#107851)
Migrate CodeGenHWModes to use const RecordKeeper and const Record
pointers.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 3f22756f391e20040fa3581206b77c409433bd9f
https://github.com/llvm/llvm-project/commit/3f22756f391e20040fa3581206b77c409433bd9f
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/docs/DirectX/DXILResources.rst
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
M llvm/lib/Target/DirectX/DXILOpBuilder.h
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
A llvm/test/CodeGen/DirectX/BufferLoad.ll
M llvm/utils/TableGen/DXILEmitter.cpp
Log Message:
-----------
[DirectX] Lower `@llvm.dx.typedBufferLoad` to DXIL ops
The `@llvm.dx.typedBufferLoad` intrinsic is lowered to `@dx.op.bufferLoad`.
There's some complexity here in translating to scalarized IR, which I've
abstracted out into a function that should be useful for samples, gathers, and
CBuffer loads.
I've also updated the DXILResources.rst docs to match what I'm doing here and
the proposal in llvm/wg-hlsl#59. I've removed the content about stores and raw
buffers for now with the expectation that it will be added along with the work.
Note that this change includes a bit of a hack in how it deals with
`getOverloadKind` for the `dx.ResRet` types - we need to adjust how we deal
with operation overloads to generate a table directly rather than proxy through
the OverloadKind enum, but that's left for a later change here.
Part of #91367
Pull Request: https://github.com/llvm/llvm-project/pull/104252
Commit: 34034381b7d54da864f8794f578d9c501d6d4f3b
https://github.com/llvm/llvm-project/commit/34034381b7d54da864f8794f578d9c501d6d4f3b
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
Log Message:
-----------
[VPlan] Consistently use VTC for vector trip count in vplan-printing.ll.
The inconsistency surfaced in
https://github.com/llvm/llvm-project/pull/95305. Split off the reduce
the diff.
Commit: 53a81d4d26f0409de8a0655d7af90f2bea222a12
https://github.com/llvm/llvm-project/commit/53a81d4d26f0409de8a0655d7af90f2bea222a12
Author: Charlie Barto <chbarto at microsoft.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/test/Driver/cl-link.c
M compiler-rt/CMakeLists.txt
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/asan/asan_flags.cpp
M compiler-rt/lib/asan/asan_globals_win.cpp
M compiler-rt/lib/asan/asan_malloc_win.cpp
A compiler-rt/lib/asan/asan_malloc_win_thunk.cpp
A compiler-rt/lib/asan/asan_win_common_runtime_thunk.cpp
A compiler-rt/lib/asan/asan_win_common_runtime_thunk.h
R compiler-rt/lib/asan/asan_win_dll_thunk.cpp
M compiler-rt/lib/asan/asan_win_dynamic_runtime_thunk.cpp
A compiler-rt/lib/asan/asan_win_static_runtime_thunk.cpp
R compiler-rt/lib/asan/asan_win_weak_interception.cpp
M compiler-rt/lib/asan/tests/CMakeLists.txt
M compiler-rt/lib/interception/CMakeLists.txt
M compiler-rt/lib/profile/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc
R compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_dll_thunk.cpp
R compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_dynamic_runtime_thunk.cpp
A compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_runtime_thunk.cpp
R compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_weak_interception.cpp
R compiler-rt/lib/sanitizer_common/sanitizer_win_dll_thunk.cpp
R compiler-rt/lib/sanitizer_common/sanitizer_win_dll_thunk.h
R compiler-rt/lib/sanitizer_common/sanitizer_win_dynamic_runtime_thunk.cpp
A compiler-rt/lib/sanitizer_common/sanitizer_win_immortalize.h
A compiler-rt/lib/sanitizer_common/sanitizer_win_interception.cpp
A compiler-rt/lib/sanitizer_common/sanitizer_win_interception.h
A compiler-rt/lib/sanitizer_common/sanitizer_win_thunk_interception.cpp
A compiler-rt/lib/sanitizer_common/sanitizer_win_thunk_interception.h
R compiler-rt/lib/sanitizer_common/sanitizer_win_weak_interception.cpp
R compiler-rt/lib/sanitizer_common/sanitizer_win_weak_interception.h
M compiler-rt/lib/ubsan/CMakeLists.txt
R compiler-rt/lib/ubsan/ubsan_win_dll_thunk.cpp
R compiler-rt/lib/ubsan/ubsan_win_dynamic_runtime_thunk.cpp
A compiler-rt/lib/ubsan/ubsan_win_runtime_thunk.cpp
R compiler-rt/lib/ubsan/ubsan_win_weak_interception.cpp
M compiler-rt/test/asan/TestCases/Darwin/interface_symbols_darwin.cpp
M compiler-rt/test/asan/TestCases/Linux/interface_symbols_linux.cpp
M compiler-rt/test/asan/TestCases/Windows/double_free.cpp
M compiler-rt/test/asan/TestCases/Windows/free_hook_realloc.cpp
M compiler-rt/test/asan/TestCases/Windows/malloc_left_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/malloc_right_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/malloc_uaf.cpp
M compiler-rt/test/asan/TestCases/Windows/msvc/dll_and_lib.cpp
M compiler-rt/test/asan/TestCases/Windows/msvc/dll_large_function.cpp
M compiler-rt/test/asan/TestCases/Windows/realloc_left_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/realloc_right_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/realloc_uaf.cpp
M compiler-rt/test/asan/TestCases/Windows/symbols_path.cpp
M compiler-rt/test/asan/TestCases/Windows/unsymbolized.cpp
M compiler-rt/test/asan/TestCases/Windows/use_after_realloc.cpp
M compiler-rt/test/asan/TestCases/debug_double_free.cpp
M compiler-rt/test/asan/TestCases/debug_report.cpp
M compiler-rt/test/asan/TestCases/default_options.cpp
M compiler-rt/test/asan/TestCases/on_error_callback.cpp
M compiler-rt/test/asan/TestCases/report_error_summary.cpp
M compiler-rt/test/asan/lit.cfg.py
Log Message:
-----------
Reland [asan][windows] Eliminate the static asan runtime on windows (#107899)
This reapplies 8fa66c6ca7272268747835a0e86805307b62399c ([asan][windows]
Eliminate the static asan runtime on windows) for a second time.
That PR bounced off the tests because it caused failures in the other
sanitizer runtimes, these have been fixed by only building interception,
sanitizer_common, and asan with /MD, and continuing to build the rest of
the runtimes with /MT. This does mean that any usage of the static
ubsan/fuzzer/etc runtimes will mean you're mixing different runtime
library linkages in the same app, the interception, sanitizer_common,
and asan runtimes are designed for this, however it does result in some
linker warnings.
Additionally, it turns out when building in release-mode with
LLVM_ENABLE_PDBs the build system forced /OPT:ICF. This totally breaks
asan's "new" method of doing "weak" functions on windows, and so
/OPT:NOICF was explicitly added to asan's link flags.
---------
Co-authored-by: Amy Wishnousky <amyw at microsoft.com>
Commit: 6f8d2781f604cfcf9ea6facecc0bea8e4d682e1e
https://github.com/llvm/llvm-project/commit/6f8d2781f604cfcf9ea6facecc0bea8e4d682e1e
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/Type.h
M llvm/lib/SandboxIR/Type.cpp
M llvm/unittests/SandboxIR/TypesTest.cpp
Log Message:
-----------
[SandboxIR] Add missing VectorType functions (#107650)
Fills in many missing functions from VectorType
Commit: d9a996020394a8181d17e4f0a0fc89d59371f9af
https://github.com/llvm/llvm-project/commit/d9a996020394a8181d17e4f0a0fc89d59371f9af
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/release.h
M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
Log Message:
-----------
[scudo] Add fragmentation info for each memory group (#107475)
This information helps with tuning the heuristic of selecting memory
groups to release the unused pages.
Commit: 66e9078f827383f77c1c239f6c09f2b07a963649
https://github.com/llvm/llvm-project/commit/66e9078f827383f77c1c239f6c09f2b07a963649
Author: Steven Wu <stevenwu at apple.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/tools/lto/lto.cpp
Log Message:
-----------
[LTO] Fix a use-after-free in legacy LTO C APIs (#107896)
Fix a bug that `lto_runtime_lib_symbols_list` is returning the address
of a local variable that will be freed when getting out of scope. This
is a regression from #98512 that rewrites the runtime libcall function
lists into a SmallVector.
rdar://135559037
Commit: a9a5a18a0e99b0251c0fe6ce61c5e699bf6b379b
https://github.com/llvm/llvm-project/commit/a9a5a18a0e99b0251c0fe6ce61c5e699bf6b379b
Author: Tim Gymnich <tgymnich at icloud.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sign.ll
Log Message:
-----------
[SPIRV] Add sign intrinsic part 1 (#101987)
partially fixes #70078
### Changes
- Added `int_spv_sign` intrinsic in `IntrinsicsSPIRV.td`
- Added lowering and map to `int_spv_sign in
`SPIRVInstructionSelector.cpp`
- Added SPIR-V backend test case in
`llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sign.ll`
### Related PRs
- https://github.com/llvm/llvm-project/pull/101988
- https://github.com/llvm/llvm-project/pull/101989
Commit: bdf02249e7f8f95177ff58c881caf219699acb98
https://github.com/llvm/llvm-project/commit/bdf02249e7f8f95177ff58c881caf219699acb98
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
M llvm/utils/TableGen/Common/CodeGenInstAlias.cpp
M llvm/utils/TableGen/Common/CodeGenInstAlias.h
M llvm/utils/TableGen/Common/CodeGenInstruction.cpp
M llvm/utils/TableGen/Common/CodeGenInstruction.h
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
M llvm/utils/TableGen/Common/CodeGenTarget.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.h
M llvm/utils/TableGen/CompressInstEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/FastISelEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/TableGen/X86FoldTablesEmitter.cpp
M llvm/utils/TableGen/X86InstrMappingEmitter.cpp
Log Message:
-----------
[TableGen] Change CGIOperandList::OperandInfo::Rec to const pointer (#107858)
Change CGIOperandList::OperandInfo::Rec and CGIOperandList::TheDef to
const pointer.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: f12e10b513686a12f20f0c897dcc9ffc00cbce09
https://github.com/llvm/llvm-project/commit/f12e10b513686a12f20f0c897dcc9ffc00cbce09
Author: vporpo <vporpodas at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
A llvm/include/llvm/SandboxIR/Pass.h
M llvm/lib/SandboxIR/CMakeLists.txt
A llvm/lib/SandboxIR/Pass.cpp
M llvm/unittests/SandboxIR/CMakeLists.txt
A llvm/unittests/SandboxIR/PassTest.cpp
Log Message:
-----------
[SandboxVec] Implement Pass class (#107617)
This patch implements the Pass base class and the FunctionPass sub-class
that operate on Sandbox IR.
Commit: 26b786ae2f15bfbf6f0925856a788ae0bfb2f8c1
https://github.com/llvm/llvm-project/commit/26b786ae2f15bfbf6f0925856a788ae0bfb2f8c1
Author: Artem Belevich <tra at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/LoadStoreVectorizer.ll
Log Message:
-----------
[NVPTX] Restrict combining to properly aligned v16i8 vectors. (#107919)
Fixes generation of invalid loads leading to misaligned access errors.
The bug got exposed by SLP vectorizer change ec360d6 which allowed SLP
to produce `v16i8` vectors.
Also updated the tests to use automatic check generator.
Commit: d148a1a40461ed27863f4b17ac2bd5914499f413
https://github.com/llvm/llvm-project/commit/d148a1a40461ed27863f4b17ac2bd5914499f413
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/test/CodeGen/X86/pull-conditional-binop-through-shift.ll
Log Message:
-----------
[X86] Add tests support shifts + and in `LowerSELECTWithCmpZero`; NFC
Commit: 88bd507dc2dd9c235b54d718cf84e4ef80d94bc9
https://github.com/llvm/llvm-project/commit/88bd507dc2dd9c235b54d718cf84e4ef80d94bc9
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/pull-conditional-binop-through-shift.ll
Log Message:
-----------
[X86] Handle shifts + and in `LowerSELECTWithCmpZero`
shifts are the same as sub where rhs == 0 is identity.
and is the inverted case where:
`SELECT (AND(X,1) == 0), (AND Y, Z), Y`
-> `(AND Y, (OR NEG(AND(X, 1)), Z))`
With -1 as the identity.
Closes #107910
Commit: 33c1325a73c4bf6bacdb865c2550038afe4377d2
https://github.com/llvm/llvm-project/commit/33c1325a73c4bf6bacdb865c2550038afe4377d2
Author: Anton Korobeynikov <anton at korobeynikov.info>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M libcxx/src/include/overridable_function.h
Log Message:
-----------
[PAC] Make __is_function_overridden pauth-aware on ELF platforms (#107498)
Apparently, there are two almost identical implementations: one for
MachO and another one for ELF. The ELF bits somehow slipped while
https://github.com/llvm/llvm-project/pull/84573 was reviewed.
The particular implementation is identical to MachO case.
Commit: ae02211eaef305f957b419e5c39499aa472b956e
https://github.com/llvm/llvm-project/commit/ae02211eaef305f957b419e5c39499aa472b956e
Author: vporpo <vporpodas at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement UndefValue (#107628)
This patch implements sandboxir::UndefValue mirroring llvm::UndefValue.
Commit: 81ef8e2fdbdfac4e186e12a874242b294d05d4e0
https://github.com/llvm/llvm-project/commit/81ef8e2fdbdfac4e186e12a874242b294d05d4e0
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp
Log Message:
-----------
[NFC][sanitizer] Extract GetDTLSRange (#107934)
Commit: b0d2411b53a0b55baf6d6dc7986d285ce59807fa
https://github.com/llvm/llvm-project/commit/b0d2411b53a0b55baf6d6dc7986d285ce59807fa
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/copysign.ll
M llvm/test/CodeGen/NVPTX/math-intrins.ll
Log Message:
-----------
[NVPTX] Support copysign PTX instruction (#107800)
Lower `fcopysign` SDNodes into `copysign` PTX instructions where
possible. See [PTX ISA: 9.7.3.2. Floating Point Instructions: copysign]
(https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#floating-point-instructions-copysign).
Commit: 3b2261809471a018de50e745c0d475b048c66fd4
https://github.com/llvm/llvm-project/commit/3b2261809471a018de50e745c0d475b048c66fd4
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Transforms/IPO/ModuleInliner.cpp
M llvm/test/Analysis/CtxProfAnalysis/inline.ll
M llvm/test/Other/opt-hot-cold-split.ll
M llvm/test/ThinLTO/X86/ctxprof.ll
Log Message:
-----------
[ctx_prof] Insert the ctx prof flattener after the module inliner (#107499)
This patch enables experimenting with the contextual profile. ICP is currently disabled in this case - will reenable it subsequently. Also subsequently the inline cost model / decision making would be updated to be context-aware. Right now, this just achieves "complete use" of the profile, in that it's ingested, maintained, and sunk to a flat profile when not needed anymore.
Issue [#89287](https://github.com/llvm/llvm-project/issues/89287)
Commit: f3b4e47b34e59625e2c8420ce8bf789373177d6d
https://github.com/llvm/llvm-project/commit/f3b4e47b34e59625e2c8420ce8bf789373177d6d
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
Log Message:
-----------
[mlir][linalg][NFC] Drop redundant rankReductionStrategy (#107875)
This patch drop redundant rankReductionStrategy in
`populateFoldUnitExtentDimsViaSlicesPatterns` and fixes comment typos.
Commit: a111f9119a5ec77c19a514ec09454218f739454f
https://github.com/llvm/llvm-project/commit/a111f9119a5ec77c19a514ec09454218f739454f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem.ll
Log Message:
-----------
[LoongArch][ISel] Check the number of sign bits in `PatGprGpr_32` (#107432)
After https://github.com/llvm/llvm-project/pull/92205, LoongArch ISel
selects `div.w` for `trunc i64 (sdiv i64 3202030857, (sext i32 X to
i64)) to i32`. It is incorrect since `3202030857` is not a signed 32-bit
constant. It will produce wrong result when `X == 2`:
https://alive2.llvm.org/ce/z/pzfGZZ
This patch adds additional `sexti32` checks to operands of
`PatGprGpr_32`.
Alive2 proof: https://alive2.llvm.org/ce/z/AkH5Mp
Fix #107414.
Commit: f7479b5ff43261a20258743da5fa583a0c729564
https://github.com/llvm/llvm-project/commit/f7479b5ff43261a20258743da5fa583a0c729564
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/include/llvm/TableGen/DirectiveEmitter.h
M llvm/utils/TableGen/DirectiveEmitter.cpp
Log Message:
-----------
[NFC][TableGen] Simplify DirectiveEmitter using range for loops (#107909)
Make constructors that take const Record * implicit, allowing us to
simplify some range based loops to use that class instance as the loop
variable.
Change remaining constructor calls to use () instead of {} to construct
objects.
Commit: e64a1c00c1d612dccd976c06fdac85afa3b06fbe
https://github.com/llvm/llvm-project/commit/e64a1c00c1d612dccd976c06fdac85afa3b06fbe
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/test/Other/opt-hot-cold-split.ll
Log Message:
-----------
Fix unintended extra commit in PR #107499
Commit: 1ca411ca451e0e86caf9207779616f32ed9fd908
https://github.com/llvm/llvm-project/commit/1ca411ca451e0e86caf9207779616f32ed9fd908
Author: wanglei <wanglei at loongson.cn>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
A llvm/test/CodeGen/LoongArch/lasx/issue107355.ll
Log Message:
-----------
[LoongArch] Codegen for concat_vectors with LASX
Fixes: #107355
Reviewed By: SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/107523
Commit: 7a8e9dfe5cc6f049f918e528ef476d9e7aada8a5
https://github.com/llvm/llvm-project/commit/7a8e9dfe5cc6f049f918e528ef476d9e7aada8a5
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
Log Message:
-----------
[bazel][libc][NFC] Add missing layering deps (#107947)
After 277371943fa48f2550df02870951f5e5a77efef5
e.g.
```
external/llvm-project/libc/test/src/math/smoke/NextTowardTest.h:12:10: error: module llvm-project//libc/test/src/math/smoke:nexttowardf_test does not depend on a module exporting 'src/__support/CPP/bit.h'
```
Commit: 761bf333e378b52614cf36cd5db2837d5e4e0ae4
https://github.com/llvm/llvm-project/commit/761bf333e378b52614cf36cd5db2837d5e4e0ae4
Author: Yuxuan Chen <ych at fb.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/include/llvm/Transforms/Coroutines/CoroAnnotationElide.h
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Coroutines/CoroAnnotationElide.cpp
Log Message:
-----------
[LLVM][Coroutines] Switch CoroAnnotationElidePass to a FunctionPass (#107897)
After landing https://github.com/llvm/llvm-project/pull/99285 we found
that the call graph update was causing the following crash when
expensive checks are turned on
```
llvm-project/llvm/lib/Analysis/CGSCCPassManager.cpp:982: LazyCallGraph::SCC &updateCGAndAnalysisManagerForPass(LazyCallGraph &, LazyCallGraph::SCC &, LazyCallGraph::Node &, CGSCCAnalysisManager &, CGSCCUpdateResult &, FunctionAnalysisManager &, bool): Assertion `(RC == &TargetRC || RC->isAncestorOf(Targe
tRC)) && "New call edge is not trivial!"' failed.
```
I have to admit I believe that the call graph update process I did for
that patch could be wrong.
After reading the code in `CGSCCToFunctionPassAdaptor`, I am convinced
that `CoroAnnotationElidePass` can be a FunctionPass and rely on the
adaptor to update the call graph for us, so long as we properly
invalidate the caller's analyses.
After this patch,
`llvm/test/Transforms/Coroutines/coro-transform-must-elide.ll` no longer
fails under expensive checks.
Commit: eb0e4b1415800e34b86319ce1d57ad074d5ca202
https://github.com/llvm/llvm-project/commit/eb0e4b1415800e34b86319ce1d57ad074d5ca202
Author: Petr Hosek <phosek at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M compiler-rt/test/fuzzer/compressed.test
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
Log Message:
-----------
[Fuzzer] Passthrough zlib CMake paths into the test (#107926)
We shouldn't assume that we're using system zlib installation.
Commit: ffcff4af59712792712b33648f8ea148b299c364
https://github.com/llvm/llvm-project/commit/ffcff4af59712792712b33648f8ea148b299c364
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/cttz.ll
M llvm/test/Transforms/InstCombine/icmp.ll
M llvm/test/Transforms/InstCombine/rem.ll
Log Message:
-----------
[ValueTracking] Infer is-power-of-2 from assumptions. (#107745)
This patch tries to infer is-power-of-2 from assumptions. I don't see
that this kind of assumption exists in my dataset.
Related issue: https://github.com/rust-lang/rust/issues/129795
Close https://github.com/llvm/llvm-project/issues/58996.
Commit: 56905dab7da50bccfcceaeb496b206ff476127e1
https://github.com/llvm/llvm-project/commit/56905dab7da50bccfcceaeb496b206ff476127e1
Author: JinjinLi868 <lijinjin.868 at bytedance.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
A clang/test/CodeGen/X86/bfloat16-convert-half.c
Log Message:
-----------
[clang] fix half && bfloat16 convert node expr codegen (#89051)
Data type conversion between fp16 and bf16 will generate fptrunc and
fpextend nodes, but they are actually bitcast nodes.
Commit: dce50397b52e33e927ffb1d1c40765109abf40f0
https://github.com/llvm/llvm-project/commit/dce50397b52e33e927ffb1d1c40765109abf40f0
Author: Tim Gymnich <tgymnich at icloud.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/sign.hlsl
A clang/test/SemaHLSL/BuiltIns/sign-errors.hlsl
Log Message:
-----------
[clang][HLSL] Add sign intrinsic part 3 (#101989)
partially fixes #70078
### Changes
- Implemented `sign` clang builtin
- Linked `sign` clang builtin with `hlsl_intrinsics.h`
- Added sema checks for `sign` to `CheckHLSLBuiltinFunctionCall` in
`SemaChecking.cpp`
- Add codegen for `sign` to `EmitHLSLBuiltinExpr` in `CGBuiltin.cpp`
- Add codegen tests to `clang/test/CodeGenHLSL/builtins/sign.hlsl`
- Add sema tests to `clang/test/SemaHLSL/BuiltIns/sign-errors.hlsl`
### Related PRs
- https://github.com/llvm/llvm-project/pull/101987
- https://github.com/llvm/llvm-project/pull/101988
### Discussion
- Should there be a `usign` intrinsic that handles the unsigned cases?
Commit: 02ab43596f7aac857d0b55f3f551721594ffb484
https://github.com/llvm/llvm-project/commit/02ab43596f7aac857d0b55f3f551721594ffb484
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel][libc][NFC] Add missing dep for standalone compile (#107957)
One more after 277371943fa48f2550df02870951f5e5a77efef5
Commit: 7034ec491251e598d2867199f89fefa3eb16a1a0
https://github.com/llvm/llvm-project/commit/7034ec491251e598d2867199f89fefa3eb16a1a0
Author: Lang Hames <lhames at gmail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Core.cpp
Log Message:
-----------
[ORC] Remove EDU from dependants list of dependencies before destroying.
Dependant lists hold raw pointers back to EDUs that depend on them. We need to
remove these entries before destroying the EDU or we'll be left with a dangling
reference that can result in use-after-free bugs.
No testcase: This has only been observed in multi-threaded setups that
reproduce the issue inconsistently.
rdar://135403614
Commit: 094e6b82766a4a3fbe75bd116fd01174518528c3
https://github.com/llvm/llvm-project/commit/094e6b82766a4a3fbe75bd116fd01174518528c3
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/InstrTypes.h
M llvm/unittests/IR/InstructionsTest.cpp
Log Message:
-----------
[IR] Make UnaryInstruction::classof recognize FreezeInst. (#107944)
Commit: 492683527eda7ef055660842d9a6b7e2575ae208
https://github.com/llvm/llvm-project/commit/492683527eda7ef055660842d9a6b7e2575ae208
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
M lldb/source/Plugins/Process/minidump/MinidumpParser.h
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
M lldb/source/Plugins/Process/minidump/ProcessMinidump.h
M lldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpNew.py
A lldb/test/API/functionalities/postmortem/minidump-new/multiple-sigsev.yaml
M lldb/unittests/Process/minidump/MinidumpParserTest.cpp
Log Message:
-----------
[LLDB][Minidump] Support minidumps where there are multiple exception streams (#97470)
Currently, LLDB assumes all minidumps will have unique sections. This is
intuitive because almost all of the minidump sections are themselves
lists. Exceptions including Signals are unique in that they are all
individual sections with their own directory.
This means LLDB fails to load minidumps with multiple exceptions due to
them not being unique. This behavior is erroneous and this PR introduces
support for an arbitrary number of exception streams. Additionally, stop
info was calculated only for a single thread before, and now we properly
support mapping exceptions to threads.
~~This PR is starting in DRAFT because implementing testing is still
required.~~
Commit: 3928edecfbd116d56bbe7411365d50bb567380a1
https://github.com/llvm/llvm-project/commit/3928edecfbd116d56bbe7411365d50bb567380a1
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/test/AST/ByteCode/cxx2a.cpp
Log Message:
-----------
[clang][bytecode] Fix local destructor order (#107951)
Add appropriate scopes and use reverse-order iteration in
LocalScope::emitDestructors().
Commit: 462251b80b7ba51dc6c2ef3676cf50ee92867d34
https://github.com/llvm/llvm-project/commit/462251b80b7ba51dc6c2ef3676cf50ee92867d34
Author: Lang Hames <lhames at gmail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M compiler-rt/lib/orc/coff_platform.cpp
M compiler-rt/lib/orc/elfnix_platform.cpp
A compiler-rt/lib/orc/jit_dispatch.h
M compiler-rt/lib/orc/macho_platform.cpp
M compiler-rt/lib/orc/wrapper_function_utils.h
Log Message:
-----------
[ORC-RT] Replace FnTag arg of WrapperFunction::call with generic dispatch arg.
This decouples function argument serialization / deserialization from the
function call dispatch mechanism. This will eventually allow us to replace the
existing __orc_rt_jit_dispatch function with a system that supports pre-linking
parts of the ORC runtime into the executor.
Commit: 9b67c99dc5b0d669a28b714e10e257d3988d1066
https://github.com/llvm/llvm-project/commit/9b67c99dc5b0d669a28b714e10e257d3988d1066
Author: Lang Hames <lhames at gmail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M compiler-rt/lib/orc/elfnix_platform.cpp
Log Message:
-----------
[ORC-RT] Fix typo in 462251b80b7.
Commit: b71d88ca5bf42533b822be782ed9066e68011e95
https://github.com/llvm/llvm-project/commit/b71d88ca5bf42533b822be782ed9066e68011e95
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-to-vmv.mir
Log Message:
-----------
[RISCV] Constrain passthru regclass in vmerge -> vmv peephole
In #107827 we now set true's passthru to the false operand if it was
undef. We need to remember to also constrain the regclass in case true
is a masked pseudo which needs its passthrus to be in VR[M*]NoV0
Commit: 7ba6768df8181bc270763333969d4a1d6cc2e160
https://github.com/llvm/llvm-project/commit/7ba6768df8181bc270763333969d4a1d6cc2e160
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
A llvm/test/CodeGen/RISCV/rvv/pr107950.ll
Log Message:
-----------
Revert "[RISCV] Update V0Defs after moving Src in peepholes (#107359)"
This fixes #107950 and adds a test case for it. The issue was due to
us incorrectly assuming that we stored a V0Defs entry for every single
instruction.
We actually only store them for instructions that use V0, so when we
updated the V0Def after moving we sometimes ended up copying nullptr
over from an instruction that doesn't use V0 and clearing the V0Def
entry inadvertently.
Because we don't have V0Defs on instructions that don't use V0, the
FIXME was never actually needed in the first place since the
bookkeeping wasn't out of sync to begin with.
That commit also mentioned that a future unmasked to masked pseudo
peephole might need unmasked pseudos to have V0Defs entries, but after
working on this locally it turns out we don't.
This reverts commit ce3648094d44e8c098396a353b215acecb363cda.
Commit: ed0da008258a3a7df14caa906e23e660174d2507
https://github.com/llvm/llvm-project/commit/ed0da008258a3a7df14caa906e23e660174d2507
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M libcxx/include/string
Log Message:
-----------
[libc++][string] Remove potential non-trailing 0-length array (#105865)
It is a violation of the standard to use 0 length arrays, especially
when not at the end of a structure (not a FAM GNU extension). Compiler
generally accept it, but it's probably better to have a conforming
implementation.
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 06c331163e779875ad9e74dd2da99d6b90f6e5bd
https://github.com/llvm/llvm-project/commit/06c331163e779875ad9e74dd2da99d6b90f6e5bd
Author: Qiu Chaofan <qcf at ecnelises.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/test/CodeGen/PowerPC/frounds.ll
Log Message:
-----------
[PowerPC] Implement llvm.set.rounding intrinsic (#67302)
Commit: bece0d7517bd0a036dc8a319514e4a8a5c497dee
https://github.com/llvm/llvm-project/commit/bece0d7517bd0a036dc8a319514e4a8a5c497dee
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/docs/GlobalISel/MIRPatterns.rst
Log Message:
-----------
[GlobalIsel] Update MIR gallery (#107903)
add more patterns
clarify wip_match_opcode usage
Commit: 1c334debecd70bd28e61a36c40c3f96cf5467331
https://github.com/llvm/llvm-project/commit/1c334debecd70bd28e61a36c40c3f96cf5467331
Author: Brad Smith <brad at comstyle.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Support/Unix/Threading.inc
Log Message:
-----------
[llvm][Support] Determine the max thread length on Haiku (#107801)
Haiku has pthread_setname_np() / pthread_getname_np().
Commit: 1581183d59b87760521e7223df3ff25c57e72fb3
https://github.com/llvm/llvm-project/commit/1581183d59b87760521e7223df3ff25c57e72fb3
Author: Martin Storsjö <martin at martin.st>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/test/tools/llvm-ml/rip_relative_addressing.asm
Log Message:
-----------
Revert "[llvm-ml] Fix RIP-relative addressing for ptr operands (#107618)"
This reverts commit 7543d09b852695187d08aa5d56d50016fea8f706.
This change caused failed asserts when building the openmp assembly
sources, reproducible with:
$ llvm-ml -m64 -D_M_AMD64 -c -Fo out.obj openmp/runtime/src/z_Windows_NT-586_asm.asm
llvm-ml: ../lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp:624: void {anonymous}::X86MCCodeEmitter::emitMemModRMByte(const llvm::MCInst&, unsigned int, unsigned int, uint64_t, {anonymous}::PrefixKind, uint64_t, llvm::SmallVectorImpl<char>&, llvm::SmallVectorImpl<llvm::MCFixup>&, const llvm::MCSubtargetInfo&, bool) const: Assertion `IndexReg.getReg() == 0 && !ForceSIB && "Invalid rip-relative address"' failed.
The assert can also be triggered with one lone instruction:
lea rdx, QWORD PTR [rax*8+16]
Commit: 958f59d90fbc1cb2ae186246c8a64fec9e3ecd6e
https://github.com/llvm/llvm-project/commit/958f59d90fbc1cb2ae186246c8a64fec9e3ecd6e
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M mlir/include/mlir/Interfaces/CallInterfaces.h
M mlir/include/mlir/Interfaces/CallInterfaces.td
M mlir/lib/Analysis/CallGraph.cpp
M mlir/lib/Analysis/DataFlow/DeadCodeAnalysis.cpp
M mlir/lib/Analysis/DataFlow/DenseAnalysis.cpp
M mlir/lib/Analysis/DataFlow/SparseAnalysis.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation.cpp
M mlir/lib/Interfaces/CallInterfaces.cpp
Log Message:
-----------
[MLIR] Make `resolveCallable` customizable in `CallOpInterface` (#100361)
Allow customization of the `resolveCallable` method in the
`CallOpInterface`. This change allows for operations implementing this
interface to provide their own logic for resolving callables.
- Introduce the `resolveCallable` method, which does not include the
optional symbol table parameter. This method replaces the previously
existing extra class declaration `resolveCallable`.
- Introduce the `resolveCallableInTable` method, which incorporates the
symbol table parameter. This method replaces the previous extra class
declaration `resolveCallable` that used the optional symbol table
parameter.
Commit: 831236e78ce90526832da00804511ca35e3b527d
https://github.com/llvm/llvm-project/commit/831236e78ce90526832da00804511ca35e3b527d
Author: Pradeep Kumar <pradeepku at nvidia.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[MLIR][NVVM] Add support for nvvm.breakpoint Op (#107193)
This commit adds support for `nvvm.breakpoint` Op which lowers to the
PTX brkpt instruction. Also, added the respective tests in `nvvmir.mlir`
Commit: 53d35c4e86ba85703a70b02f736bc31d3268bd34
https://github.com/llvm/llvm-project/commit/53d35c4e86ba85703a70b02f736bc31d3268bd34
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M compiler-rt/lib/orc/coff_platform.cpp
M compiler-rt/lib/orc/elfnix_platform.cpp
R compiler-rt/lib/orc/jit_dispatch.h
M compiler-rt/lib/orc/macho_platform.cpp
M compiler-rt/lib/orc/wrapper_function_utils.h
Log Message:
-----------
Revert "[ORC-RT] Replace FnTag arg of WrapperFunction::call with generic dispatch arg."
This reverts commit 462251b80b7ba51dc6c2ef3676cf50ee92867d34.
This reverts commit 9b67c99dc5b0d669a28b714e10e257d3988d1066.
Build fails for compiler-rt/lib/orc/tests/unit/wrapper_function_utils_test.cpp
https://buildkite.com/llvm-project/upstream-bazel/builds/109731#0191da59-6710-4420-92ef-aa6e0355cb2c
Commit: 7574042e2a5887e09d740adf9f4ed605f8f00ec5
https://github.com/llvm/llvm-project/commit/7574042e2a5887e09d740adf9f4ed605f8f00ec5
Author: Matthias Springer <me at m-sp.org>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M mlir/include/mlir/Interfaces/CallInterfaces.h
M mlir/include/mlir/Interfaces/CallInterfaces.td
M mlir/lib/Analysis/CallGraph.cpp
M mlir/lib/Analysis/DataFlow/DeadCodeAnalysis.cpp
M mlir/lib/Analysis/DataFlow/DenseAnalysis.cpp
M mlir/lib/Analysis/DataFlow/SparseAnalysis.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation.cpp
M mlir/lib/Interfaces/CallInterfaces.cpp
Log Message:
-----------
Revert "[MLIR] Make `resolveCallable` customizable in `CallOpInterface`" (#107984)
Reverts llvm/llvm-project#100361
This commit caused some linker errors. (Missing `MLIRCallInterfaces`
dependency.)
Commit: 8aeb104ce4d0907f2f1f5286611d6c2202d4ce53
https://github.com/llvm/llvm-project/commit/8aeb104ce4d0907f2f1f5286611d6c2202d4ce53
Author: Hugo Trachino <hugo.trachino at huawei.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul-transpose-a.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul.mlir
Log Message:
-----------
[mlir][SME] Update E2E test to show optional loop optimisation (NFC) (#107585)
Introduces loop hoisting to ARM SME E2E tests to allow the hoisting of
the tile load offering very important speedup.
Discussed here :
https://discourse.llvm.org/t/mlir-for-arm-sme-reducing-tile-data-transfers/80065/2
Commit: 7e07c1df678825c6a57d5fb1d36cdfc1584de9dc
https://github.com/llvm/llvm-project/commit/7e07c1df678825c6a57d5fb1d36cdfc1584de9dc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[DAG] expandAVG - consistently use getShiftAmountConstant for constant shift amounts. NFC
Commit: 918222ba43f6e56208ad347ed10a3e0025d8ed38
https://github.com/llvm/llvm-project/commit/918222ba43f6e56208ad347ed10a3e0025d8ed38
Author: Sergey Kozub <skozub at nvidia.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/unittests/ADT/APFloatTest.cpp
M mlir/include/mlir-c/BuiltinTypes.h
M mlir/include/mlir/IR/Builders.h
M mlir/include/mlir/IR/BuiltinTypes.h
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/include/mlir/IR/Types.h
M mlir/lib/AsmParser/TokenKinds.def
M mlir/lib/AsmParser/TypeParser.cpp
M mlir/lib/Bindings/Python/IRTypes.cpp
M mlir/lib/CAPI/IR/BuiltinTypes.cpp
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/lib/Dialect/Arith/Transforms/EmulateUnsupportedFloats.cpp
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/IR/Builders.cpp
M mlir/lib/IR/BuiltinTypes.cpp
M mlir/lib/IR/MLIRContext.cpp
M mlir/lib/IR/Types.cpp
M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
M mlir/python/mlir/extras/types.py
M mlir/test/IR/attribute.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
M mlir/test/python/ir/builtin_types.py
M mlir/utils/lldb-scripts/mlirDataFormatters.py
M mlir/utils/tree-sitter-mlir/grammar.js
Log Message:
-----------
[MLIR] Add f6E3M2FN type (#105573)
This PR adds `f6E3M2FN` type to mlir.
`f6E3M2FN` type is proposed in [OpenCompute MX
Specification](https://www.opencompute.org/documents/ocp-microscaling-formats-mx-v1-0-spec-final-pdf).
It defines a 6-bit floating point number with bit layout S1E3M2. Unlike
IEEE-754 types, there are no infinity or NaN values.
```c
f6E3M2FN
- Exponent bias: 3
- Maximum stored exponent value: 7 (binary 111)
- Maximum unbiased exponent value: 7 - 3 = 4
- Minimum stored exponent value: 1 (binary 001)
- Minimum unbiased exponent value: 1 − 3 = −2
- Has Positive and Negative zero
- Doesn't have infinity
- Doesn't have NaNs
Additional details:
- Zeros (+/-): S.000.00
- Max normal number: S.111.11 = ±2^(4) x (1 + 0.75) = ±28
- Min normal number: S.001.00 = ±2^(-2) = ±0.25
- Max subnormal number: S.000.11 = ±2^(-2) x 0.75 = ±0.1875
- Min subnormal number: S.000.01 = ±2^(-2) x 0.25 = ±0.0625
```
Related PRs:
- [PR-94735](https://github.com/llvm/llvm-project/pull/94735) [APFloat]
Add APFloat support for FP6 data types
- [PR-97118](https://github.com/llvm/llvm-project/pull/97118) [MLIR] Add
f8E4M3 type - was used as a template for this PR
Commit: 083e25c1d4d9f1af1c4d62109067aecbb4dd2564
https://github.com/llvm/llvm-project/commit/083e25c1d4d9f1af1c4d62109067aecbb4dd2564
Author: Sergey Kozub <skozub at nvidia.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M mlir/lib/IR/BuiltinTypes.cpp
Log Message:
-----------
[MLIR] [NFC] Use APFloat semantics to get floating type width (#107372)
As suggested in the comments of
https://github.com/llvm/llvm-project/pull/105573
Commit: 0f47e3aebdd2a4a938468a272ea4224552dbf176
https://github.com/llvm/llvm-project/commit/0f47e3aebdd2a4a938468a272ea4224552dbf176
Author: hev <wangrui at loongson.cn>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchOptWInstrs.cpp
M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem.ll
Log Message:
-----------
[LoongArch] Eliminate the redundant sign extension of division (#107971)
If all incoming values of `div.d` are sign-extended and all users only
use the lower 32 bits, then convert them to W versions.
Fixes: #107946
Commit: bf694841f5b986f677e4fbe2a7ee93c77690d765
https://github.com/llvm/llvm-project/commit/bf694841f5b986f677e4fbe2a7ee93c77690d765
Author: Igor Kirillov <igor.kirillov at arm.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/Transforms/VectorCombine/AArch64/shrink-types.ll
Log Message:
-----------
[VectorCombine] Add type shrinking and zext propagation for fixed-width vector types (#104606)
Check that `binop(zext(value)`, other) is possible and profitable to transform
into: `zext(binop(value, trunc(other)))`.
When CPU architecture has illegal scalar type iX, but vector type <N * iX> is
legal, scalar expressions before vectorisation may be extended to a legal
type iY. This extension could result in underutilization of vector lanes,
as more lanes could be used at one instruction with the lower type.
Vectorisers may not always recognize opportunities for type shrinking, and
this patch aims to address that limitation.
Commit: edbe8faba12dd27e48411e3e0b57b19b0dc03929
https://github.com/llvm/llvm-project/commit/edbe8faba12dd27e48411e3e0b57b19b0dc03929
Author: MichelleCDjunaidi <michellechrisalyn at gmail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/docs/TestSuiteGuide.md
Log Message:
-----------
[llvm][Docs] Update guide to include ``pip install lit`` (#106526)
Also updates and clarifies which version would be installed.
As per
https://discourse.llvm.org/t/information-on-lit-is-outdated/76498.
Commit: a99d666713ebfedf65e56bed5e87312eba6e5b11
https://github.com/llvm/llvm-project/commit/a99d666713ebfedf65e56bed5e87312eba6e5b11
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[MLIR][OpenMP] Replace index-based loop (NFC) (#107878)
Commit: a794ee455999ed02671808c2c0ef08d753e811a1
https://github.com/llvm/llvm-project/commit/a794ee455999ed02671808c2c0ef08d753e811a1
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-10 (Tue, 10 Sep 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/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/mask-index-type.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/icmp-uniforms.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[VPlan] Add VPValue for VF, use it for VPWidenIntOrFpInductionRecipe. (#95305)
Similar to VFxUF, also add a VF VPValue to VPlan and use it to get the
runtime VF in VPWidenIntOrFpInductionRecipe. Code for VF is only
generated if there are users of VF, to avoid unnecessary test changes.
PR: https://github.com/llvm/llvm-project/pull/95305
Commit: 2778d9d63bcb6eb7d58bbab1131b4e711c1f60c4
https://github.com/llvm/llvm-project/commit/2778d9d63bcb6eb7d58bbab1131b4e711c1f60c4
Author: Dmitriy Smirnov <dmitriy.smirnov at arm.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Log Message:
-----------
[TOSA] tosa.negate operator lowering update (#107924)
This PR makes tosa.negate op for integer types to use the simplified
calculation branch if input_zp and output_zp values are also zero.
Signed-off-by: Dmitriy Smirnov <dmitriy.smirnov at arm.com>
Commit: 69f8923efa61034b57805a8d6d859e9c1ca976eb
https://github.com/llvm/llvm-project/commit/69f8923efa61034b57805a8d6d859e9c1ca976eb
Author: Lang Hames <lhames at gmail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M compiler-rt/lib/orc/coff_platform.cpp
M compiler-rt/lib/orc/elfnix_platform.cpp
A compiler-rt/lib/orc/jit_dispatch.h
M compiler-rt/lib/orc/macho_platform.cpp
M compiler-rt/lib/orc/tests/unit/wrapper_function_utils_test.cpp
M compiler-rt/lib/orc/wrapper_function_utils.h
Log Message:
-----------
Re-apply "[ORC-RT] Replace FnTag arg of WrapperFunction::call..." with fixes.
This reapplies commits 462251b80b7 and 9b67c99dc5b, which were reverted in
53d35c4e86b due to bot failures for the wrapper_function_utils_test.cpp unit
test.
Commit: 23595d1b9621067e5354924e2ca78e866a85690e
https://github.com/llvm/llvm-project/commit/23595d1b9621067e5354924e2ca78e866a85690e
Author: adprasad-nvidia <adprasad at nvidia.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/bswap.ll
Log Message:
-----------
[AArch64] Lower __builtin_bswap16 to rev16 if bswap followed by any_extend (#105375)
GCC compiles the built-in function `__builtin_bswap16`, to the ARM
instruction rev16, which reverses the byte order of 16-bit data. On the
other Clang compiles the same built-in function to e.g.
```
rev w8, w0
lsr w0, w8, #16
```
i.e. it performs a byte reversal of a 32-bit register, (which moves the
lower half, which contains the 16-bit data, to the upper half) and then
right shifts the reversed 16-bit data back to the lower half of the
register.
We can improve Clang codegen by generating `rev16` instead of `rev` and
`lsr`, like GCC.
Commit: 516f08b4158c2dbe71766ac0b12f457761d1ed37
https://github.com/llvm/llvm-project/commit/516f08b4158c2dbe71766ac0b12f457761d1ed37
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/MC/AArch64/SVE2p1/bfadd.s
M llvm/test/MC/AArch64/SVE2p1/bfclamp.s
M llvm/test/MC/AArch64/SVE2p1/bfmax.s
M llvm/test/MC/AArch64/SVE2p1/bfmaxnm.s
M llvm/test/MC/AArch64/SVE2p1/bfmin.s
M llvm/test/MC/AArch64/SVE2p1/bfminnm.s
M llvm/test/MC/AArch64/SVE2p1/bfmla.s
M llvm/test/MC/AArch64/SVE2p1/bfmls.s
M llvm/test/MC/AArch64/SVE2p1/bfmul.s
M llvm/test/MC/AArch64/SVE2p1/bfsub.s
Log Message:
-----------
[LLVM][AArch64] Refactor sve-b16b16 instruction definitions. (#107265)
Update the predicate protecting bfloat instructions to only reference
FEAT_SVE_B16B16, which matches the specification.
Rename and move instruction classes to match the names of the encoding
groups the bfloat arithmetic instructions belong.
Commit: 433ca3ebbef50002bec716ef2c6d6a82db71048d
https://github.com/llvm/llvm-project/commit/433ca3ebbef50002bec716ef2c6d6a82db71048d
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M flang/include/flang/Lower/SymbolMap.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[Flang][Lower] Introduce SymMapScope helper class (NFC) (#107866)
This patch creates a simple RAII wrapper class for `SymMap` to make it
easier to use and prevent a missing matching `popScope()` for a
`pushScope()` call on simple use cases.
Some push-pop pairs are replaced with instances of the new class by this
patch.
Commit: fffdd9ed4293f89a1680333fbf17cbab204d0050
https://github.com/llvm/llvm-project/commit/fffdd9ed4293f89a1680333fbf17cbab204d0050
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
Log Message:
-----------
[bazel] Port 69f8923efa61034b57805a8d6d859e9c1ca976eb
Commit: 925b220ee424f8489bc8d7b1a247f2c5f3edde5d
https://github.com/llvm/llvm-project/commit/925b220ee424f8489bc8d7b1a247f2c5f3edde5d
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
A lldb/test/Shell/SymbolFile/DWARF/x86/type-unit-same-basename.cpp
Log Message:
-----------
[lldb] Recurse through DW_AT_signature when looking for attributes (#107241)
This allows e.g. DWARFDIE::GetName() to return the name of the type when
looking at its declaration (which contains only
DW_AT_declaration+DW_AT_signature). This is similar to how we recurse
through DW_AT_specification when looking for a function name. Llvm dwarf
parser has obtained the same functionality through #99495.
This fixes a bug where we would confuse a type like NS::Outer::Struct
with NS::Struct (because NS::Outer (and its name) was in a type unit).
Commit: 44556e64f21c1e21dd0e8329bc0e54e1887261c5
https://github.com/llvm/llvm-project/commit/44556e64f21c1e21dd0e8329bc0e54e1887261c5
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w32.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w64.ll
M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain.mir
A llvm/test/CodeGen/AMDGPU/si-init-whole-wave.mir
M llvm/test/CodeGen/MIR/AMDGPU/long-branch-reg-all-sgpr-used.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-after-pei.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll
Log Message:
-----------
[amdgpu] Add llvm.amdgcn.init.whole.wave intrinsic (#105822)
This intrinsic is meant to be used in functions that have a "tail" that
needs to be run with all the lanes enabled. The "tail" may contain
complex control flow that makes it unsuitable for the use of the
existing WWM intrinsics. Instead, we will pretend that the function
starts with all the lanes enabled, then branches into the actual body of
the function for the lanes that were meant to run it, and then finally
all the lanes will rejoin and run the tail.
As such, the intrinsic will return the EXEC mask for the body of the
function, and is meant to be used only as part of a very limited pattern
(for now only in amdgpu_cs_chain functions):
```
entry:
%func_exec = call i1 @llvm.amdgcn.init.whole.wave()
br i1 %func_exec, label %func, label %tail
func:
; ... stuff that should run with the actual EXEC mask
br label %tail
tail:
; ... stuff that runs with all the lanes enabled;
; can contain more than one basic block
```
It's an error to use the result of this intrinsic for anything
other than a branch (but unfortunately checking that in the verifier is
non-trivial because SIAnnotateControlFlow will introduce an amdgcn.if
between the intrinsic and the branch).
The intrinsic is lowered to a SI_INIT_WHOLE_WAVE pseudo, which for now
is expanded in si-wqm (which is where SI_INIT_EXEC is handled too);
however the information that the function was conceptually started in
whole wave mode is stored in the machine function info
(hasInitWholeWave). This will be useful in prolog epilog insertion,
where we can skip saving the inactive lanes for CSRs (since if the
function started with all the lanes active, then there are no inactive
lanes to preserve).
Commit: 46870175c5425997154245cfa5b1bc31c29bdba4
https://github.com/llvm/llvm-project/commit/46870175c5425997154245cfa5b1bc31c29bdba4
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
Log Message:
-----------
[clang][bytecode][NFC] Fix CallBI function signature
This doesn't modify the PC, so pass OpPC as a copy.
Commit: daf208598b06a0b8b3dc3c30b023334182bdf170
https://github.com/llvm/llvm-project/commit/daf208598b06a0b8b3dc3c30b023334182bdf170
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M lld/ELF/Arch/AArch64.cpp
M lld/test/ELF/aarch64-reloc-implicit-addend.test
Log Message:
-----------
[lld][AArch64] Fix getImplicitAddend in big-endian mode. (#107845)
In AArch64, the endianness of instruction encodings is always little,
whereas the endianness of data swaps between LE and BE modes. So
getImplicitAddend must use the right one of read32() and read32le(), for
data and code respectively. It was using read32() throughout, causing
instructions to be read as big-endian in BE mode, getting the wrong
addend.
Fixed, and updated the existing test to check both endiannesses. The
expected results for data must be byte-swapped, but the ones for code
need no adjustment.
Commit: 6a56f15211f034ad668d24dfec5d7f722e33a7a2
https://github.com/llvm/llvm-project/commit/6a56f15211f034ad668d24dfec5d7f722e33a7a2
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M clang/test/AST/ByteCode/cxx20.cpp
Log Message:
-----------
[clang][bytecode][NFC] Fix a commented-out test
Commit: b0ffaa79050460d724eec1b12363c439b43d5ae5
https://github.com/llvm/llvm-project/commit/b0ffaa79050460d724eec1b12363c439b43d5ae5
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/test/CodeGen/AArch64/build-one-lane.ll
M llvm/test/CodeGen/AArch64/insertextract.ll
A llvm/test/CodeGen/AArch64/no-reorder-cfi-merge-back-load.mir
A llvm/test/CodeGen/AArch64/no-reorder-cfi-merge-back-store.mir
A llvm/test/CodeGen/AArch64/no-reorder-cfi-merge-fwd-load.mir
A llvm/test/CodeGen/AArch64/no-reorder-cfi-merge-fwd.mir
A llvm/test/CodeGen/AArch64/no-reorder-cfi-no-merge.mir
A llvm/test/CodeGen/AArch64/no-reorder-cfi.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
M llvm/test/CodeGen/AArch64/vector-compress.ll
Log Message:
-----------
[AArch64] Prevent the AArch64LoadStoreOptimizer from reordering CFI instructions (#101317)
When AArch64LoadStoreOptimizer pass merges an SP update with a
load/store instruction and needs to adjust unwind information either:
* create the merged instruction at the location of the SP update
(so no CFI instructions are moved), or
* only move a CFI instruction if the move would not reorder it across
other CFI instructions
If neither of the above is possible, don't perform the optimisation.
Commit: 306b08c3a9fea7d9a547478e013999938debfa47
https://github.com/llvm/llvm-project/commit/306b08c3a9fea7d9a547478e013999938debfa47
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
Log Message:
-----------
[AMDGPU] Remove unused SITargetLowering::isMemOpUniform
Commit: cb30169422446b79d99df12b4cf5ab3d9d46d54c
https://github.com/llvm/llvm-project/commit/cb30169422446b79d99df12b4cf5ab3d9d46d54c
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/test/Fir/struct-passing-x86-64-one-field-inreg.fir
M flang/test/Fir/struct-passing-x86-64-several-fields-inreg.fir
M flang/test/Fir/target-rewrite-complex16.fir
Log Message:
-----------
[flang] Use LLVM dialect ops for stack save/restore in target-rewrite (#107879)
Mostly NFC, I was bothered by the declaration that were always made even
if unsued, and I think using LLVM Ops is nicer anyway with regards to
side effects here.
```
func.func private @llvm.stacksave.p0() -> !fir.ref<i8>
func.func private @llvm.stackrestore.p0(!fir.ref<i8>)
```
There are other places in lowering that are using the calls instead of
the LLVM intrinsics, but I will deal with them another time (the issue
there is mostly to get the proper address space for the llvm.ptr type).
Commit: 930915a27a5bc8079de211c96bce15eb2bb18d22
https://github.com/llvm/llvm-project/commit/930915a27a5bc8079de211c96bce15eb2bb18d22
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/libcxx/transitive_includes_to_csv.py
R libcxx/utils/graph_header_deps.py
Log Message:
-----------
[libc++] Include the full set of libc++ transitive includes in the CSV files (#107911)
When we introduced the machinery for transitive includes validation, at
some point we stopped including the full set of transitive includes in
the CSV files and instead only tracked the set of public headers
included *directly* by a top-level header.
The reason for doing that was so that the CSV files containing
"transitive" includes could be used to draw the dependency graph of
libc++ headers. However, the downside was that it made the contents of
the CSV files much harder to interpret.
In particular, many changes that modify the CSV files do not in fact
modify the effective set of transitive includes, which is confusing.
This patch goes back to storing the full set of transitive includes in
the CSV files and removes the ability to graph the libc++ includes
directly from those CSV files, which we never actually used.
Commit: bda9474f57340ad4043e3740707498f606b827a5
https://github.com/llvm/llvm-project/commit/bda9474f57340ad4043e3740707498f606b827a5
Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/include/llvm/ADT/SmallVectorExtras.h
M llvm/lib/Target/ARM/ARMCallLowering.cpp
M mlir/include/mlir/Dialect/Transform/IR/Utils.h
M mlir/lib/Transforms/PrintIR.cpp
Log Message:
-----------
Add missing newlines at EOF; NFC
Commit: 0ccc6092d2d45a44bb6c20976fe85843d145795a
https://github.com/llvm/llvm-project/commit/0ccc6092d2d45a44bb6c20976fe85843d145795a
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/Transforms/VectorCombine/RISCV/shuffle-of-intrinsics.ll
A llvm/test/Transforms/VectorCombine/X86/shuffle-of-intrinsics.ll
Log Message:
-----------
[VectorCombine] Add foldShuffleOfIntrinsics. (#106502)
Commit: 4a63d62f686546f5d7329a5e48def09ba817e42a
https://github.com/llvm/llvm-project/commit/4a63d62f686546f5d7329a5e48def09ba817e42a
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/asan/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/lib/sanitizer_common/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/lib/ubsan/BUILD.gn
Log Message:
-----------
[gn] attempt to port 53a81d4d26f0 (win/asan dynamic runtime)
Based on the output of llvm/utils/gn/build/sync_source_lists_from_cmake.py
and reading the diff, but not actually tested on Windows.
Commit: 4d55f0bf254517cfbdd1acb4297a9f9ff5c12303
https://github.com/llvm/llvm-project/commit/4d55f0bf254517cfbdd1acb4297a9f9ff5c12303
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/asan/BUILD.gn
Log Message:
-----------
[gn] attempt to port 53a81d4d26f0 more (win/asan dynamic runtime)
Commit: d1cad2290c10712ea27509081f50769ed597ee0f
https://github.com/llvm/llvm-project/commit/d1cad2290c10712ea27509081f50769ed597ee0f
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M mlir/include/mlir/Interfaces/CallInterfaces.h
M mlir/include/mlir/Interfaces/CallInterfaces.td
M mlir/lib/Analysis/CallGraph.cpp
M mlir/lib/Analysis/DataFlow/DeadCodeAnalysis.cpp
M mlir/lib/Analysis/DataFlow/DenseAnalysis.cpp
M mlir/lib/Analysis/DataFlow/SparseAnalysis.cpp
M mlir/lib/Dialect/Async/IR/CMakeLists.txt
M mlir/lib/Dialect/Bufferization/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation.cpp
M mlir/lib/Interfaces/CallInterfaces.cpp
M mlir/lib/Transforms/Utils/CMakeLists.txt
Log Message:
-----------
Reland [MLIR] Make resolveCallable customizable in CallOpInterface (#107989)
Relands #100361 with fixed dependencies.
Commit: e610a0efc36ed9499eaba51178708dbc5ef8a6d7
https://github.com/llvm/llvm-project/commit/e610a0efc36ed9499eaba51178708dbc5ef8a6d7
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Log Message:
-----------
[gn] port eb0e4b1415800
Commit: 5dd1c82778f418b3de832dc4af3cf5449f2f18ed
https://github.com/llvm/llvm-project/commit/5dd1c82778f418b3de832dc4af3cf5449f2f18ed
Author: Amit Kumar Pandey <137622562+ampandey-1995 at users.noreply.github.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPU.h
M clang/lib/Driver/ToolChains/HIPAMD.cpp
Log Message:
-----------
[NFC][AMDGPU][Driver] Move 'shouldSkipSanitizeOption' utility to AMDGPU. (#107997)
HIPAMDToolChain and AMDGPUOpenMPToolChain both depends on the
"shouldSkipSanitizeOption" api to sanitize/not sanitize device code.
Commit: f58312ef561fb6f8bb0af85737e396fc9d093294
https://github.com/llvm/llvm-project/commit/f58312ef561fb6f8bb0af85737e396fc9d093294
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/test/Transforms/ConstraintElimination/monotonic-pointer-phis-chain-of-exits.ll
Log Message:
-----------
[ConstraintElim] Add tests with exiting latch.
Commit: 4290e34ebdddaa62210745c84ac3e6703cadfa34
https://github.com/llvm/llvm-project/commit/4290e34ebdddaa62210745c84ac3e6703cadfa34
Author: Jan Leyonberg <jan_sjodin at yahoo.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
A flang/test/Lower/OpenMP/math-amdgpu.f90
Log Message:
-----------
[flang][AMDGPU] Convert math ops to AMD GPU library calls instead of libm calls (#99517)
This patch invokes a pass when compiling for an AMDGPU target to lower
math operations to AMD GPU library calls library calls instead of libm
calls.
Commit: 69828c4230c6845be853c09fec1ba6325e6737b4
https://github.com/llvm/llvm-project/commit/69828c4230c6845be853c09fec1ba6325e6737b4
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memset.mir
Log Message:
-----------
[GlobalIsel][NFC] update inline-memset.mir test (#108006)
Commit: bca2b6d23f69c21d933f461ea69a2add9ae6a623
https://github.com/llvm/llvm-project/commit/bca2b6d23f69c21d933f461ea69a2add9ae6a623
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Target/SPIRV/CMakeLists.txt
A llvm/lib/Target/SPIRV/SPIRVAPI.cpp
A llvm/lib/Target/SPIRV/SPIRVAPI.h
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.h
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
M llvm/unittests/Target/SPIRV/CMakeLists.txt
A llvm/unittests/Target/SPIRV/SPIRVAPITest.cpp
Log Message:
-----------
[SPIR-V] Expose an API call to initialize SPIRV target and translate input LLVM IR module to SPIR-V (#107216)
The goal of this PR is to facilitate integration of SPIRV Backend into
misc 3rd party tools and libraries by means of exposing an API call that
translate LLVM module to SPIR-V and write results into a string as
binary SPIR-V output, providing diagnostics on fail and means of
configuring translation in a style of command line options.
An example of a use case may be Khronos Translator that provides
bidirectional translation LLVM IR <=> SPIR-V, where LLVM IR => SPIR-V
step may be substituted by the call to SPIR-V Backend API, implemented
by this PR.
Commit: 46a76c33343c34c0eb5fa7ec849d0de42cfed412
https://github.com/llvm/llvm-project/commit/46a76c33343c34c0eb5fa7ec849d0de42cfed412
Author: A. Jiang <de34 at live.cn>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/test/std/containers/associative/map/map.cons/move.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/move.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/move.pass.cpp
M libcxx/test/std/containers/container.requirements/container.requirements.general/allocator_move.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/move.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/move.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/move.pass.cpp
M libcxx/test/support/test_allocator.h
Log Message:
-----------
[libc++][test] LWG2593: Moved-from state of Allocators (#107344)
The resolution of LWG2593 didn't require the standard library
implementation to change. It merely strengthened requirements on
user-defined allocator types and allowed the implementation to make
stronger assumptions. The status is tentatively set to Nothing To Do.
However, `test_allocator` in libc++'s test suit needs to be fixed to
conform to the strengthened requirements.
Closes #100220.
Commit: 0f525452896771cc8c579eb362dc7645e38fd0b9
https://github.com/llvm/llvm-project/commit/0f525452896771cc8c579eb362dc7645e38fd0b9
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/include/llvm/ADT/StableHashing.h
M llvm/include/llvm/CodeGen/MachineOutliner.h
M llvm/lib/CGData/CodeGenData.cpp
M llvm/lib/CodeGen/CMakeLists.txt
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/test/CodeGen/AArch64/O3-pipeline.ll
A llvm/test/CodeGen/AArch64/cgdata-global-hash.ll
A llvm/test/CodeGen/AArch64/cgdata-outlined-name.ll
A llvm/test/CodeGen/AArch64/cgdata-read-double-outline.ll
A llvm/test/CodeGen/AArch64/cgdata-read-lto-outline.ll
A llvm/test/CodeGen/AArch64/cgdata-read-priority.ll
A llvm/test/CodeGen/AArch64/cgdata-read-single-outline-suffix.ll
A llvm/test/CodeGen/AArch64/cgdata-read-single-outline.ll
A llvm/test/CodeGen/AArch64/cgdata-write-outline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/unittests/MIR/MachineStableHashTest.cpp
Log Message:
-----------
[CGData][MachineOutliner] Global Outlining (#90074)
This commit introduces support for outlining functions across modules
using codegen data generated from previous codegen. The codegen data
currently manages the outlined hash tree, which records outlining
instances that occurred locally in the past.
The machine outliner now operates in one of three modes:
1. CGDataMode::None: This is the default outliner mode that uses the
suffix tree to identify (local) outlining candidates within a module.
This mode is also used by (full)LTO to maintain optimal behavior with
the combined module.
2. CGDataMode::Write (`-codegen-data-generate`): This mode is identical
to the default mode, but it also publishes the stable hash sequences of
instructions in the outlined functions into a local outlined hash tree.
It then encodes this into the `__llvm_outline` section, which will be
dead-stripped at link time.
3. CGDataMode::Read (`-codegen-data-use-path={.cgdata}`): This mode
reads a codegen data file (.cgdata) and initializes a global outlined
hash tree. This tree is used to generate global outlining candidates.
Note that the codegen data file has been post-processed with the raw
`__llvm_outline` sections from all native objects using the
`llvm-cgdata` tool (or a linker, `LLD`, or a new ThinLTO pipeline
later).
This depends on https://github.com/llvm/llvm-project/pull/105398. After
this PR, LLD (https://github.com/llvm/llvm-project/pull/90166) and Clang
(https://github.com/llvm/llvm-project/pull/90304) will follow for each
client side support.
This is a patch for
https://discourse.llvm.org/t/rfc-enhanced-machine-outliner-part-2-thinlto-nolto/78753.
Commit: 719036887d31a40c7b951513f0f4c0281b78f6d1
https://github.com/llvm/llvm-project/commit/719036887d31a40c7b951513f0f4c0281b78f6d1
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Target/SPIRV/BUILD.gn
Log Message:
-----------
[gn build] Port bca2b6d23f69
Commit: 2459679c7b233d332215c2463b81df9c203b3367
https://github.com/llvm/llvm-project/commit/2459679c7b233d332215c2463b81df9c203b3367
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/SandboxIR/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/SandboxIR/BUILD.gn
Log Message:
-----------
[gn build] Port f12e10b51368
Commit: 53b59022b07317fa01bf8601d12915dce424baf0
https://github.com/llvm/llvm-project/commit/53b59022b07317fa01bf8601d12915dce424baf0
Author: David Truby <david.truby at arm.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/test/Lower/OpenMP/copyin.f90
Log Message:
-----------
[flang][OpenMP] Implement copyin for pointers and allocatables. (#107425)
The copyin clause currently forbids pointer and allocatable variables,
which are allowed by the OpenMP 1.1 and 3.0 specifications respectively.
Commit: 5823ac0a6534403c4e74e062180b61048ba6ee99
https://github.com/llvm/llvm-project/commit/5823ac0a6534403c4e74e062180b61048ba6ee99
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
M llvm/tools/llvm-exegesis/lib/LlvmState.cpp
M llvm/tools/llvm-exegesis/lib/LlvmState.h
M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
Log Message:
-----------
[llvm-exegesis] Refactor getting register number from name to LLVMState (#107895)
This patch refactors the procedure of getting the register number from a
register name to LLVMState rather than having individual users get the
values themselves by getting a reference to the map from LLVMState. This
is primarily intended to make some downstream usage in Gematria simpler,
but also cleans up a little bit upstream by pulling the actual map
searching out and just leaving error handling to the clients.
The original getter is left to enable downstream migration in Gematria,
particularly before it gets imported into google internal.
Commit: dfd7284c094bf42b76fdb6ff5cc1517f0b09e6fd
https://github.com/llvm/llvm-project/commit/dfd7284c094bf42b76fdb6ff5cc1517f0b09e6fd
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Log Message:
-----------
[gn] port 0f525452896
Commit: 33f1235b80255c585b1d16fe3c5769ee695f7ed5
https://github.com/llvm/llvm-project/commit/33f1235b80255c585b1d16fe3c5769ee695f7ed5
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
Log Message:
-----------
[libc][bazel] fix accidental rename
for 277371943fa48f2550df02870951f5e5a77efef5
Commit: 13c14c61cd0d3ce1684270ff001e50dcc125c17a
https://github.com/llvm/llvm-project/commit/13c14c61cd0d3ce1684270ff001e50dcc125c17a
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M clang/lib/APINotes/APINotesWriter.cpp
Log Message:
-----------
[APINotes] Avoid repeated hash lookups (NFC) (#107959)
Commit: 8530329994789fe495a5a472ec6f1e5ea24263a9
https://github.com/llvm/llvm-project/commit/8530329994789fe495a5a472ec6f1e5ea24263a9
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
Log Message:
-----------
[Tablegen] Avoid repeated hash lookps (NFC) (#107961)
Commit: 19a2f178da513399ad54c34dec94d616002d9686
https://github.com/llvm/llvm-project/commit/19a2f178da513399ad54c34dec94d616002d9686
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M clang/lib/Format/ObjCPropertyAttributeOrderFixer.cpp
Log Message:
-----------
[Format] Avoid repeated hash lookups (NFC) (#107962)
Co-authored-by: Owen Pan <owenpiano at gmail.com>
Commit: 97100855479027ccda30b17b1172ad49043b3338
https://github.com/llvm/llvm-project/commit/97100855479027ccda30b17b1172ad49043b3338
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M clang/include/clang/Lex/Preprocessor.h
Log Message:
-----------
[Lex] Avoid repeated hash lookups (NFC) (#107963)
MacroAnnotations has three std::optional fields.
Functions makeDeprecation, makeRestrictExpansion, and makeFinal
construct an instance of MacroAnnotations with one field initialized
with a non-default value (that is, some value other than
std::nullopt).
Functions addMacroDeprecationMsg, addRestrictExpansionMsg, and
addFinalLoc either create a new map entry with one field initialized
with a non-default value or replaces one field of an existing map
entry.
We can do all this with a simple statement of the form:
AnnotationInfos[II].FieldName = NonDefaultValue;
which takes care of default initialization of the fields with
std::nullopt when a requested map entry does not exist.
Commit: e982d7fd7c127f5be7b92c1c073e32816c266b7d
https://github.com/llvm/llvm-project/commit/e982d7fd7c127f5be7b92c1c073e32816c266b7d
Author: Max191 <44243577+Max191 at users.noreply.github.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/test/Dialect/Linalg/transform-lower-pack.mlir
Log Message:
-----------
[mlir] Reuse pack dest in tensor.pack decomposition (#108025)
In the `lowerPack` transform, there is a special case for lowering into
a simple `tensor.pad` + `tensor.insert_slice`, but the destination
becomes a newly created `tensor.empty`. This PR fixes the transform to
reuse the original destination of the `tensor.pack`.
Commit: 2bcab9ba7139cfa96c85433fa85b29c8a6d7008b
https://github.com/llvm/llvm-project/commit/2bcab9ba7139cfa96c85433fa85b29c8a6d7008b
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/TestDbgInfoContentVectorFromStdModule.py
Log Message:
-----------
[lldb][test] TestDbgInfoContentVectorFromStdModule.py: skip test on Darwin (#108003)
This started failing on the macOS CI after
https://github.com/llvm/llvm-project/pull/106885:
```
lldb-api :: commands/expression/import-std-module/vector-dbg-info-content/TestDbgInfoContentVectorFromStdModule.py
"/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/bin/clang" -std=c++11 -g -O0 -isysroot "/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk" -arch arm64 -I/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/make/../../../../..//include -I/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/tools/lldb/include -I/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content -I/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/make -include /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/make/test_common.h -fno-limit-debug-info -nostdlib++ -nostdinc++ -cxx-isystem /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/include/c++/v1 --driver-mode=g++ -MT main.o -MD -MP -MF main.d -c -o main.o /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/main.cpp
"/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/bin/clang" main.o -g -O0 -isysroot "/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk" -arch arm64 -I/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/make/../../../../..//include -I/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/tools/lldb/include -I/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content -I/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/make -include /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/make/test_common.h -fno-limit-debug-info -L/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/lib -Wl,-rpath,/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/lib -lc++ --driver-mode=g++ -o "a.out"
ld: warning: ignoring duplicate libraries: '-lc++'
codesign --entitlements /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/make/entitlements-macos.plist -s - "a.out"
"/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/./bin/dsymutil" -o "a.out.dSYM" "a.out"
runCmd: settings set target.import-std-module true
output:
runCmd: expr std::reverse(a.begin(), a.end())
Assertion failed: (isa<InjectedClassNameType>(Decl->TypeForDecl)), function getInjectedClassNameType, file ASTContext.cpp, line 5057.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. HandleCommand(command = "expr std::reverse(a.begin(), a.end())")
1. <eof> parser at end of file
2. /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/include/c++/v1/__algorithm/reverse.h:54:1: instantiating function definition 'std::reverse<std::__wrap_iter<Foo *>>'
3. /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/include/c++/v1/__algorithm/reverse.h:47:58: instantiating function definition 'std::__reverse<std::_ClassicAlgPolicy, std::__wrap_iter<Foo *>, std::__wrap_iter<Foo *>>'
4. /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/include/c++/v1/__algorithm/reverse.h:40:1: instantiating function definition 'std::__reverse_impl<std::_ClassicAlgPolicy, std::__wrap_iter<Foo *>>'
```
Commit: 56a033462ed28083042e8a99f3a0fb16c1933ba4
https://github.com/llvm/llvm-project/commit/56a033462ed28083042e8a99f3a0fb16c1933ba4
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll
M llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll
Log Message:
-----------
[Attributor] Keep track of reached returns in AAPointerInfo (#107479)
Instead of visiting call sites in Attribute::checkForAllUses, we now
keep track of returns in AAPointerInfo and use the call site return
information as required. This way, the user of
AAPointerInfo(CallSite)Argument can determine if the call return should
be visited. We do not collect them as "may accesses" in the
AAPointerInfo(CallSite)Argument itself in case a return user is found.
Commit: d778689fdc812033e7142ed87e4ee13c4997b3f9
https://github.com/llvm/llvm-project/commit/d778689fdc812033e7142ed87e4ee13c4997b3f9
Author: Dmitry Polukhin <34227995+dmpolukhin at users.noreply.github.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
A clang/test/Headers/crash-instantiated-in-scope-cxx-modules.cpp
A clang/test/Headers/crash-instantiated-in-scope-cxx-modules2.cpp
Log Message:
-----------
[RFC][C++20][Modules] Fix crash when function and lambda inside loaded from different modules (#104512)
Summary:
Because AST loading code is lazy and happens in unpredictable order it
could happen that function and lambda inside function can be loaded from
different modules. In this case, captured DeclRefExpr won’t match the
corresponding VarDecl inside function. In AST it looks like this:
```
FunctionDecl 0x555564f4aff0 <Conv.h:33:1, line:41:1> line:33:35 imported in ./thrift_cpp2_base.h hidden tryTo 'Expected<Tgt, const char *> ()' inline
|-also in ./folly-conv.h
`-CompoundStmt 0x555564f7cfc8 <col:43, line:41:1>
|-DeclStmt 0x555564f7ced8 <line:34:3, col:17>
| `-VarDecl 0x555564f7cef8 <col:3, col:16> col:7 imported in ./thrift_cpp2_base.h hidden referenced result 'Tgt' cinit
| `-IntegerLiteral 0x555564f7d080 <col:16> 'int' 0
|-CallExpr 0x555564f7cea8 <line:39:3, col:76> '<dependent type>'
| |-UnresolvedLookupExpr 0x555564f7bea0 <col:3, col:19> '<overloaded function type>' lvalue (no ADL) = 'then_' 0x555564f7bef0
| |-CXXTemporaryObjectExpr 0x555564f7bcb0 <col:25, col:45> 'Expected<bool, int>':'folly::Expected<bool, int>' 'void () noexcept' zeroing
| `-LambdaExpr 0x555564f7bc88 <col:48, col:75> '(lambda at Conv.h:39:48)'
| |-CXXRecordDecl 0x555564f76b88 <col:48> col:48 imported in ./folly-conv.h hidden implicit <undeserialized declarations> class definition
| | |-also in ./thrift_cpp2_base.h
| | `-DefinitionData lambda empty standard_layout trivially_copyable literal can_const_default_init
| | |-DefaultConstructor defaulted_is_constexpr
| | |-CopyConstructor simple trivial has_const_param needs_implicit implicit_has_const_param
| | |-MoveConstructor exists simple trivial needs_implicit
| | |-CopyAssignment trivial has_const_param needs_implicit implicit_has_const_param
| | |-MoveAssignment
| | `-Destructor simple irrelevant trivial constexpr needs_implicit
| `-CompoundStmt 0x555564f7d1a8 <col:58, col:75>
| `-ReturnStmt 0x555564f7d198 <col:60, col:67>
| `-DeclRefExpr 0x555564f7d0a0 <col:67> 'Tgt' lvalue Var 0x555564f7d0c8 'result' 'Tgt' refers_to_enclosing_variable_or_capture
`-ReturnStmt 0x555564f7bc78 <line:40:3, col:11>
`-InitListExpr 0x555564f7bc38 <col:10, col:11> 'void'
```
This diff changes AST deserialization to load lambdas inside canonical
function declaration earlier right after the function to make sure that
their canonical decl is loaded from the same module.
Test Plan: check-clang
Commit: bf684034844c660b778f0eba103582f582b710c9
https://github.com/llvm/llvm-project/commit/bf684034844c660b778f0eba103582f582b710c9
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/MachineOutliner.cpp
Log Message:
-----------
Attempt to fix [CGData][MachineOutliner] Global Outlining (#90074) (#108037)
Commit: ba2aa1dcf3e18aa9bd40c7016d7fb500c77959dc
https://github.com/llvm/llvm-project/commit/ba2aa1dcf3e18aa9bd40c7016d7fb500c77959dc
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/O3-pipeline.ll
Log Message:
-----------
Fix for Attempt to fix [CGData][MachineOutliner] Global Outlining (#90074) #108037 (#108047)
The previous `attempt to fix [CGData][MachineOutliner] Global Outlining
(#90074) #108037` was incomplete because the
`ImmutableModuleSummaryIndexWrapperPass` is now optional for the
MachineOutliner pass.
With this fix, the test file `CodeGen/AArch64/O3-pipeline.ll` shows no
changes compared to its state before `[CGData][MachineOutliner] Global
Outlining (#90074)`.
Co-authored-by: Kyungwoo Lee <kyulee at fb.com>
Commit: 2cfdcfb490ab3003caf336affd53575c9155b89b
https://github.com/llvm/llvm-project/commit/2cfdcfb490ab3003caf336affd53575c9155b89b
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
Log Message:
-----------
Fix for llvm/test/CodeGen/RISCV/O3-pipeline.ll (#108050)
The previous `Fix for Attempt to fix [CGData][MachineOutliner] Global
Outlining (#90074) #108037 (#108047)` somehow dropped this file.
Commit: 14b43563d1618c71385f3ac15a475adf9d0ef5f9
https://github.com/llvm/llvm-project/commit/14b43563d1618c71385f3ac15a475adf9d0ef5f9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
Log Message:
-----------
[RISCV] Separate more of scalar FP in CC_RISCV. NFC (#107908)
Scalar FP calling convention has gotten more complicated with recent
changes to Zfinx/Zdinx, proposed addition of a GPRF16 register class,
and using customReg for f16/bf16 and other FP types small than XLen.
The previous code tried to share a single getReg and getMem call for
many different cases. This patch separates all the FP register handling
to the top of the function with their own getReg calls. The only
exception is f64 with XLen==32, when we are out of FPRs or not able to
use FPRs due to ABI.
The way I've structured this, we no longer need to correct the LocVT for
FP back to ValVT before the call to getMem.
Commit: c7a7767fca736d0447832ea4d4587fb3b9e797c2
https://github.com/llvm/llvm-project/commit/c7a7767fca736d0447832ea4d4587fb3b9e797c2
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
R llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w32.ll
R llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w64.ll
M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain.mir
R llvm/test/CodeGen/AMDGPU/si-init-whole-wave.mir
M llvm/test/CodeGen/MIR/AMDGPU/long-branch-reg-all-sgpr-used.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-after-pei.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll
Log Message:
-----------
Revert "[amdgpu] Add llvm.amdgcn.init.whole.wave intrinsic" (#108054)
Breaks bots, see #105822.
Reverts llvm/llvm-project#105822
Commit: 22144e20cbd237a432fdc4106abe3960555aff42
https://github.com/llvm/llvm-project/commit/22144e20cbd237a432fdc4106abe3960555aff42
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M lldb/include/lldb/DataFormatters/TypeSummary.h
M lldb/include/lldb/Target/Statistics.h
M lldb/include/lldb/Target/Target.h
M lldb/source/Core/ValueObject.cpp
M lldb/source/DataFormatters/TypeSummary.cpp
M lldb/source/Target/Statistics.cpp
M lldb/source/Target/Target.cpp
A lldb/test/API/commands/statistics/basic/BoxFormatter.py
M lldb/test/API/commands/statistics/basic/Makefile
M lldb/test/API/commands/statistics/basic/TestStats.py
R lldb/test/API/commands/statistics/basic/main.c
A lldb/test/API/commands/statistics/basic/main.cpp
M lldb/unittests/Target/CMakeLists.txt
A lldb/unittests/Target/SummaryStatisticsTest.cpp
Log Message:
-----------
[LLDB][Data Formatters] Calculate average and total time for summary providers within lldb (#102708)
This PR adds a statistics provider cache, which allows an individual
target to keep a rolling tally of it's total time and number of
invocations for a given summary provider. This information is then
available in statistics dump to help slow summary providers, and gleam
more into insight into LLDB's time use.
Commit: ce9f9872950090eae9104ff49b77469e3dc0a3c5
https://github.com/llvm/llvm-project/commit/ce9f9872950090eae9104ff49b77469e3dc0a3c5
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M libc/include/CMakeLists.txt
Log Message:
-----------
[libc] fix locale dependency for stdlib (#108042)
Address the following issue:
```
❯ ninja libc.test.src.__support.OSUtil.linux.vdso_test.__unit__
[91/127] Building CXX object libc/test/src/__support/OSUtil/linux/CMakeFiles/libc.test.src.__support.OSUtil.linux.vdso_test.__unit__.__build__.dir/vdso_test.cpp.o
FAILED: libc/test/src/__support/OSUtil/linux/CMakeFiles/libc.test.src.__support.OSUtil.linux.vdso_test.__unit__.__build__.dir/vdso_test.cpp.o
sccache /usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/schrodingerzy/Documents/llvm-project/libc -isystem /home/schrodingerzy/Documents/llvm-project/build/libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -std=gnu++17 -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -MD -MT libc/test/src/__support/OSUtil/linux/CMakeFiles/libc.test.src.__support.OSUtil.linux.vdso_test.__unit__.__build__.dir/vdso_test.cpp.o -MF libc/test/src/__support/OSUtil/linux/CMakeFiles/libc.test.src.__support.OSUtil.linux.vdso_test.__unit__.__build__.dir/vdso_test.cpp.o.d -o libc/test/src/__support/OSUtil/linux/CMakeFiles/libc.test.src.__support.OSUtil.linux.vdso_test.__unit__.__build__.dir/vdso_test.cpp.o -c /home/schrodingerzy/Documents/llvm-project/libc/test/src/__support/OSUtil/linux/vdso_test.cpp
In file included from /home/schrodingerzy/Documents/llvm-project/libc/test/src/__support/OSUtil/linux/vdso_test.cpp:21:
In file included from /home/schrodingerzy/Documents/llvm-project/libc/test/UnitTest/ErrnoSetterMatcher.h:13:
In file included from /home/schrodingerzy/Documents/llvm-project/libc/src/__support/FPUtil/fpbits_str.h:12:
In file included from /home/schrodingerzy/Documents/llvm-project/libc/src/__support/CPP/string.h:20:
/home/schrodingerzy/Documents/llvm-project/build/libc/include/stdlib.h:13:10: fatal error: 'llvm-libc-types/locale_t.h' file not found
13 | #include "llvm-libc-types/locale_t.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
[123/127] Building CXX object libc/test/UnitTest/CMakeFiles/LibcTest.unit.dir/LibcTestMain.cpp.o
ninja: build stopped: subcommand failed.
```
Commit: 524a028f69cdf25503912c396ebda7ebf0065ed2
https://github.com/llvm/llvm-project/commit/524a028f69cdf25503912c396ebda7ebf0065ed2
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[MemProf] Streamline and avoid unnecessary context id duplication (#107918)
Sort the list of calls such that those with the same stack ids are also
sorted by function. This allows processing of all matching calls (that
can share a context node) in bulk as they are all adjacent.
This has 2 benefits:
1. It reduces unnecessary work, specifically the handling to intersect
the context ids with those along the graph edges for the stack ids,
for calls that we know can share a node.
2. It simplifies detecting when we have matching stack ids but don't
need to duplicate context ids. Specifically, we were previously
still duplicating context ids whenever we saw another call with the
same stack ids, but that isn't necessary if they will share a context
node. With this change we now only duplicate context ids if we see
some that not only have the same ids but also are in different
functions.
This change reduced the amount of context id duplication and provided
reductions in both both peak memory (~8%) and time (~%5) for a large
target.
Commit: 7fb19cb24ca154dfffa300eaac1f037b74a9539e
https://github.com/llvm/llvm-project/commit/7fb19cb24ca154dfffa300eaac1f037b74a9539e
Author: Andrei Golubev <andrey.golubev at intel.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
Log Message:
-----------
[ADT] Require base equality in indexed_accessor_iterator::operator==() (#107856)
Similarly to operator<(), equality-comparing iterators from different
ranges must really be forbidden. The preconditions for being able to do
`it1 < it2` and `it1 != it2` (or `it1 == it2` for the matter) ought to
be the same. Thus, there's little sense in keeping explicit base object
comparison in operator==() whilst having this is a precondition in
operator<() and operator-() (e.g. used for std::distance() and such).
Commit: 90e841131aa82560b6c7d1c1840bdfc79c091b37
https://github.com/llvm/llvm-project/commit/90e841131aa82560b6c7d1c1840bdfc79c091b37
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/docs/DirectX/DXILResources.rst
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
A llvm/test/CodeGen/DirectX/BufferStore-errors.ll
A llvm/test/CodeGen/DirectX/BufferStore.ll
Log Message:
-----------
[DirectX] Lower `@llvm.dx.typedBufferStore` to DXIL ops
The `@llvm.dx.typedBufferStore` intrinsic is lowered to `@dx.op.bufferStore`.
Pull Request: https://github.com/llvm/llvm-project/pull/104253
Commit: c8ed2b8733790926071940e41cd122b34e184660
https://github.com/llvm/llvm-project/commit/c8ed2b8733790926071940e41cd122b34e184660
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
M llvm/test/MC/WebAssembly/type-checker-errors.s
Log Message:
-----------
[WebAssembly] Add a colon to type error message (#107980)
Commit: 22067a8eb43a7194e65913b47a9c724fde3ed68f
https://github.com/llvm/llvm-project/commit/22067a8eb43a7194e65913b47a9c724fde3ed68f
Author: Zaara Syeda <syzaara at ca.ibm.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/f128-bitcast.ll
Log Message:
-----------
[PowerPC] Fix assert exposed by PR 95931 in LowerBITCAST (#108062)
Hit Assertion failed: Num < NumOperands && "Invalid child # of SDNode!"
Fix by checking opcode and value type before calling getOperand.
Commit: 02c943a7ea7b798026baf34f108c18a5cde3821a
https://github.com/llvm/llvm-project/commit/02c943a7ea7b798026baf34f108c18a5cde3821a
Author: Pranav Kant <prka at google.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
R llvm/test/CodeGen/NVPTX/copysign.ll
M llvm/test/CodeGen/NVPTX/math-intrins.ll
Log Message:
-----------
Revert "[NVPTX] Support copysign PTX instruction (#107800)" (#108066)
This reverts commit b0d2411b53a0b55baf6d6dc7986d285ce59807fa.
Reverting because the original commit misses case of copysign from a
constant.
Commit: 7a91af4f87d697c69274bfce9bfa57b743614ce5
https://github.com/llvm/llvm-project/commit/7a91af4f87d697c69274bfce9bfa57b743614ce5
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/test/Transforms/Coroutines/swift-async-dbg.ll
Log Message:
-----------
Add DIExpression::foldConstantMath to CoroSplit (#107933)
The CoroSplit pass has it's own salvageDebugInfo implementation and it's
DIExpressions do not get folded. Add a call to
DIExpression::foldConstantMath in the CoroSplit pass to reduce the size
of those DIExpressions.
[The compile time tracker shows no significant increase in compile time
either.](https://llvm-compile-time-tracker.com/compare.php?from=bdf02249e7f8f95177ff58c881caf219699acb98&to=e1c1c1759c06bc4c42f79eebdb0e3cd45219cef4&stat=instructions:u)
rdar://134675402
Commit: feeb6aa3039872a2202e6813c81235b7d7455942
https://github.com/llvm/llvm-project/commit/feeb6aa3039872a2202e6813c81235b7d7455942
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/driver.bzl
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Add CGData targets/deps (#108070)
This is newly used as of 0f525452896771cc8c579eb362dc7645e38fd0b9.
The bulk of the targets were added earlier in
9bb555688caf6ae4ba89fee5baa3dc29fec6a9b1.
Commit: 5537ae87b3a87b3abeb4e6983cecd9b103648243
https://github.com/llvm/llvm-project/commit/5537ae87b3a87b3abeb4e6983cecd9b103648243
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
M llvm/test/MC/RISCV/rv32zdinx-invalid.s
M llvm/test/MC/RISCV/rv32zfinx-invalid.s
M llvm/test/MC/RISCV/rvzdinx-aliases-valid.s
M llvm/test/MC/RISCV/rvzfinx-aliases-valid.s
M llvm/test/MC/RISCV/rvzhinx-aliases-valid.s
Log Message:
-----------
[RISCV] Fix fneg.d/fabs.d aliasing handling for Zdinx. Add missing fmv.s/d aliases.
We were missing test coverage for fneg.d/fabs.d for Zdinx. When I
added it revealed it only worked on RV64. The assembler was not
creating a GPRPair register class on RV32 so the alias couldn't match.
The disassembler was also not using GPRPair registers preventing the
aliases from printing in disassembly too.
I've fixed the assembler by adding new parsing methods in an attempt
to get decent diagnostics. This is hard since the mnemonics are
ambiguous between D and Zdinx. Tests have been adjusted for some
differences in what errors are reported first.
Commit: 5b4100cc354148a1140546e7f5ac2bf380bc5eff
https://github.com/llvm/llvm-project/commit/5b4100cc354148a1140546e7f5ac2bf380bc5eff
Author: John Harrison <harjohn at google.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/tools/lldb-dap/exception/Makefile
M lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py
A lldb/test/API/tools/lldb-dap/exception/cpp/Makefile
A lldb/test/API/tools/lldb-dap/exception/cpp/TestDAP_exception_cpp.py
A lldb/test/API/tools/lldb-dap/exception/cpp/main.cpp
A lldb/test/API/tools/lldb-dap/exception/main.c
R lldb/test/API/tools/lldb-dap/exception/main.cpp
A lldb/test/API/tools/lldb-dap/exception/objc/Makefile
A lldb/test/API/tools/lldb-dap/exception/objc/TestDAP_exception_objc.py
A lldb/test/API/tools/lldb-dap/exception/objc/main.m
A lldb/test/API/tools/lldb-dap/extendedStackTrace/Makefile
A lldb/test/API/tools/lldb-dap/extendedStackTrace/TestDAP_extendedStackTrace.py
A lldb/test/API/tools/lldb-dap/extendedStackTrace/main.m
M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
M lldb/test/API/tools/lldb-dap/stackTrace/main.c
M lldb/test/API/tools/lldb-dap/stackTraceMissingFunctionName/TestDAP_stackTraceMissingFunctionName.py
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/README.md
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Improve `stackTrace` and `exceptionInfo` DAP request handlers (#105905)
Refactoring `stackTrace` to perform frame look ups in a more on-demand
fashion to improve overall performance.
Additionally adding additional information to the `exceptionInfo`
request to report exception stacks there instead of merging the
exception stack into the stack trace. The `exceptionInfo` request is
only called if a stop event occurs with `reason='exception'`, which
should mitigate the performance of `SBThread::GetCurrentException`
calls.
Adding unit tests for exception handling and stack trace supporting.
Commit: becb03f3c624a9570fdb3f2d5dee1ed75922e70b
https://github.com/llvm/llvm-project/commit/becb03f3c624a9570fdb3f2d5dee1ed75922e70b
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/TargetInfo.h
A clang/lib/CodeGen/Targets/DirectX.cpp
A clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
M llvm/lib/IR/Type.cpp
Log Message:
-----------
[DirectX] Add DirectXTargetCodeGenInfo (#104856)
Adds target codegen info class for DirectX. For now it always translates
`__hlsl_resource_t` handle to `target("dx.TypedBuffer", i32, 1, 0, 1)`
(`RWBuffer<int>`). More work is needed to determine the actual target
exp type and parameters based on the resource handle attributes.
Part 1/2 of #95952
Commit: f4e2d7bfc14324e0009154db57a589b5f252cfea
https://github.com/llvm/llvm-project/commit/f4e2d7bfc14324e0009154db57a589b5f252cfea
Author: Tyler Nowicki <tyler.nowicki at amd.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CMakeLists.txt
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
A llvm/lib/Transforms/Coroutines/SpillUtils.cpp
A llvm/lib/Transforms/Coroutines/SpillUtils.h
Log Message:
-----------
[Coroutines] Move spill related methods to a Spill utils (#107884)
* Move code related to spilling into SpillUtils to help cleanup
CoroFrame
See RFC for more info:
https://discourse.llvm.org/t/rfc-abi-objects-for-coroutines/81057
Commit: 61372fc5db9b14fd612be8a58a76edd7f0ee38aa
https://github.com/llvm/llvm-project/commit/61372fc5db9b14fd612be8a58a76edd7f0ee38aa
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/ParserHLSL/hlsl_is_rov_attr.hlsl
M clang/test/ParserHLSL/hlsl_is_rov_attr_error.hlsl
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
Log Message:
-----------
[HLSL] Warn on duplicate is_rov attribute; remove unnecessary parentheses (#107973)
We should issue a warning whenever a duplicate resource type attribute
is found. Currently we do that only for `resource_class`. This PR fixes
that by checking for duplicate `is_rov` attributes as well.
Also removes unnecessary parenthesis on `is_rov`.
Commit: 0b12cd227e593f5518da5170a399730bb314223e
https://github.com/llvm/llvm-project/commit/0b12cd227e593f5518da5170a399730bb314223e
Author: Chris Apple <cja-private at pm.me>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors.cpp
Log Message:
-----------
[rtsan] Ensure pthread is initialized in test (#108040)
Commit: b9703cb1a535b72f6f0812322225e50f9e325850
https://github.com/llvm/llvm-project/commit/b9703cb1a535b72f6f0812322225e50f9e325850
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port becb03f3c624
Commit: cb3eb068e6b008b4784a93ac181516ae69350bf1
https://github.com/llvm/llvm-project/commit/cb3eb068e6b008b4784a93ac181516ae69350bf1
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Coroutines/BUILD.gn
Log Message:
-----------
[gn build] Port f4e2d7bfc143
Commit: 6dacc382f5158b28550c25cd452848f4ab3ecd63
https://github.com/llvm/llvm-project/commit/6dacc382f5158b28550c25cd452848f4ab3ecd63
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/SemaOpenACC/compute-construct-ast.cpp
Log Message:
-----------
[OpenACC] Properly ignore side-effects in clause arguments
The OpenACC standard makes depending on side effects to be effectively
UB, so this patch ensures we handle them reaonably by making it a potentially
evaluated context, and ignoring cleanups.
Commit: 27a01f6b4c47baefc347e47e4d38ea26bb721b2d
https://github.com/llvm/llvm-project/commit/27a01f6b4c47baefc347e47e4d38ea26bb721b2d
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/SemaTemplate/GH18291.cpp
Log Message:
-----------
[clang] correct argument offset for function template partial ordering (#107972)
Commit: 3363760f9a00c5d4dac1e08d44f9d79b8e322511
https://github.com/llvm/llvm-project/commit/3363760f9a00c5d4dac1e08d44f9d79b8e322511
Author: vporpo <vporpodas at google.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/Pass.h
A llvm/include/llvm/SandboxIR/PassManager.h
M llvm/lib/SandboxIR/CMakeLists.txt
A llvm/lib/SandboxIR/PassManager.cpp
M llvm/unittests/SandboxIR/PassTest.cpp
Log Message:
-----------
[SandboxIR] PassManager (#107932)
This patch implements a simple pass manager for Sandbox IR.
Commit: 99fb1506a869fa5e82dbd36e1a63cd21450f1502
https://github.com/llvm/llvm-project/commit/99fb1506a869fa5e82dbd36e1a63cd21450f1502
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/SandboxIR/BUILD.gn
Log Message:
-----------
[gn build] Port 3363760f9a00
Commit: e3c537ff903af9a92ff43bab6d21c0ea759d65e5
https://github.com/llvm/llvm-project/commit/e3c537ff903af9a92ff43bab6d21c0ea759d65e5
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
Log Message:
-----------
[VPlan] Consider non-header phis in planContainsAdditionalSimp.
Update planContainsAdditionalSimplifications to also check phis not in
the loop header. This ensures we don't miss cases where VPBlendRecipes
(which correspond to such phis) have been simplified.
Fixes https://github.com/llvm/llvm-project/issues/107473.
Commit: 0f56ba13bff7ab72bfafcf7c5cf9e5b8bd16d895
https://github.com/llvm/llvm-project/commit/0f56ba13bff7ab72bfafcf7c5cf9e5b8bd16d895
Author: Henrik G. Olsson <hnrklssn at gmail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/utils/lit/lit/TestRunner.py
A llvm/utils/lit/tests/Inputs/escape-color/color-escaped.txt
A llvm/utils/lit/tests/Inputs/escape-color/color.txt
A llvm/utils/lit/tests/Inputs/escape-color/lit.cfg
A llvm/utils/lit/tests/escape-color.py
Log Message:
-----------
[llvm-lit] Process ANSI color codes in test output when formatting (#106776)
Test output that carried color across newlines previously resulted in
the formatting around the output also being colored. Detect the current
ANSI color and reset it when printing formatting, and then reapply it.
As an added bonus an unterminated color code is also detected,
preventing it from leaking out into the rest of the terminal.
Fixes #106633
Commit: b5ce7a9fbd898767d0c1fa13ef5c33bbbe67981f
https://github.com/llvm/llvm-project/commit/b5ce7a9fbd898767d0c1fa13ef5c33bbbe67981f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M flang/lib/Evaluate/tools.cpp
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
Log Message:
-----------
[flang][cuda] Avoid generating data transfer when calling size intrinsic (#108081)
cuf.data_transfer was wrongly generated when calling the `size`
intrinsic on a device allocatable variable. Since the descriptor is
available on the host, there is no transfer needed.
Add `DescriptorInquiry` in the `CollectCudaSymbolsHelper` to filter out
symbols that are not needed for the transfer decision to be made.
Commit: d8a8eae6daa6523b28526e2b8f65879e74858f68
https://github.com/llvm/llvm-project/commit/d8a8eae6daa6523b28526e2b8f65879e74858f68
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M libcxx/include/string
Log Message:
-----------
Revert "[libc++][string] Remove potential non-trailing 0-length array" (#108091)
Reverts llvm/llvm-project#105865
This breaks a pair of LLDB tests in CI.
Commit: ce392471c0d9cb3ef88d05fcbcff59de8ea0c1e1
https://github.com/llvm/llvm-project/commit/ce392471c0d9cb3ef88d05fcbcff59de8ea0c1e1
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M flang/include/flang/Semantics/type.h
M flang/lib/Evaluate/type.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/type.cpp
A flang/test/Semantics/Inputs/modfile66.cuf
A flang/test/Semantics/modfile66.f90
Log Message:
-----------
[flang] Silence spurious error on non-CUDA use of CUDA module (#107444)
When a module file has been compiled with CUDA enabled, don't emit
spurious errors about non-interoperable types when that module is read
by a USE statement in a later non-CUDA compilation.
Commit: 5a229dbca19f5ad7ebd15c85b432cd54e70fd09a
https://github.com/llvm/llvm-project/commit/5a229dbca19f5ad7ebd15c85b432cd54e70fd09a
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M flang/docs/Extensions.md
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/resolve24.f90
Log Message:
-----------
[flang] Relax error into a warning (#107489)
The standard requires that a generic interface with the same name as a
derived type contain only functions. We generally allow a generic
interface to contain both functions and subroutines, since there's never
any ambiguity at the point of call; these is helpful when the specific
procedures of two generics are combined during USE association. Emit a
warning instead of a hard error when a generic interface with the same
name as a derived type contains a subroutine to improve portability of
code from compilers that don't check for this condition.
Commit: d2126ec1af543b23817c742c283ec441f21bf42b
https://github.com/llvm/llvm-project/commit/d2126ec1af543b23817c742c283ec441f21bf42b
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M flang/include/flang/Evaluate/expression.h
M flang/include/flang/Evaluate/tools.h
M flang/lib/Evaluate/expression.cpp
M flang/lib/Evaluate/fold-implementation.h
A flang/test/Semantics/Inputs/modfile67.mod
A flang/test/Semantics/modfile67.f90
Log Message:
-----------
[flang] Fix bogus error about procedure incompatbility (#107645)
This was a subtle problem. When the shape of a function result is
explicit but not constant, it is characterized with bounds expressions
that use Extremum<SubscriptInteger> operations to force extents to 0
rather than be negative. These Extremum operations are formatted as
"max()" intrinsic functions in the module file. Upon being read from the
module file, they are not folded back into Extremum operations, but
remain as function references; and this then leads to expressions not
comparing equal when the procedure characteristics are compared to those
of a local procedure declared identically.
The real fix here would be for folding to just always change max and min
function references into Extremum<> operations, constant operands or
not, and I tried that, but it lead to test failures and crashes in
lowering that I couldn't resolve. So, until those can be fixed, here's a
change that will read max/min operations in module file declarations
back into Extremum operations to solve the compatibility checking
problem, but leave other non-constant max/min operations as function
calls.
Commit: fe58527305d86df8bd9770f3d41a6de420958af7
https://github.com/llvm/llvm-project/commit/fe58527305d86df8bd9770f3d41a6de420958af7
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M flang/runtime/time-intrinsic.cpp
Log Message:
-----------
[flang] Relax ETIME(VALUES=) runtime checking (#107647)
Don't require the "VALUES=" argument to the extension intrinsic
procedure ETIME to have exactly two elements. Other compilers that
support ETIME do not, and it's easy to adapt the behavior to whatever
the dynamic size turns out to be.
Commit: 26ac30bcec71ae97ba740fb6cf473eac3ac37887
https://github.com/llvm/llvm-project/commit/26ac30bcec71ae97ba740fb6cf473eac3ac37887
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M flang/docs/Extensions.md
M flang/include/flang/Common/Fortran-features.h
M flang/lib/Evaluate/check-expression.cpp
M flang/test/Semantics/resolve69.f90
M flang/test/Semantics/resolve77.f90
M flang/test/Semantics/spec-expr.f90
Log Message:
-----------
[flang] Accept initialized SAVE local in specification expression (#107656)
Specification expressions may contain references to dummy arguments,
host objects, module variables, and variables in COMMON blocks, since
they will have values on entry to the scope. A local variable with a
initializer and the SAVE attribute (which will always be implied by an
explicit initialization) will also always work, and is accepted by at
least one other compiler, so accept it with a warning.
Commit: cd92c4255582299b9a55fa0dc485982b8f54c49a
https://github.com/llvm/llvm-project/commit/cd92c4255582299b9a55fa0dc485982b8f54c49a
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M flang/runtime/format-implementation.h
Log Message:
-----------
[flang][runtime] Don't emit runtime error for "AA" editing (#107714)
Commas are optional between edit descriptors in a format, so treat "AA"
as if it were "A,A".
Commit: ea858e39bf5b1d09021d142f0c82ef1d4a82d367
https://github.com/llvm/llvm-project/commit/ea858e39bf5b1d09021d142f0c82ef1d4a82d367
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M flang/runtime/io-stmt.h
Log Message:
-----------
[flang][runtime] Accept '\n' as space in internal list-directed input (#107716)
When scanning ahead for the first character in the next input item in
list-directed internal input, allow a newline character to appear and
treat it as a space, matching the behavior of nearly all other Fortran
compilers.
Commit: 15106c26662a573df31e8dfdd9350c313b8bfd84
https://github.com/llvm/llvm-project/commit/15106c26662a573df31e8dfdd9350c313b8bfd84
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/runtime-type-info.cpp
M flang/module/__fortran_type_info.f90
M flang/runtime/assign.cpp
M flang/runtime/descriptor-io.h
M flang/runtime/namelist.cpp
M flang/runtime/type-info.cpp
M flang/runtime/type-info.h
M flang/test/Semantics/typeinfo01.f90
M flang/test/Semantics/typeinfo02.f90
M flang/test/Semantics/typeinfo04.f90
A flang/test/Semantics/typeinfo12.f90
Log Message:
-----------
[flang][runtime] Fix odd "invalid descriptor" runtime crash (#107785)
A defined assignment generic interface for a given LHS/RHS type & rank
combination may have a specific procedure with LHS dummy argument that
is neither allocatable nor pointer, or specific procedure(s) whose LHS
dummy arguments are allocatable or pointer. It is possible to have two
specific procedures if one's LHS dummy argument is allocatable and the
other's is pointer.
However, the runtime doesn't work with LHS dummy arguments that are
allocatable, and will crash with a mysterious "invalid descriptor" error
message.
Extend the list of special bindings to include
ScalarAllocatableAssignment and ScalarPointerAssignment, use them when
appropriate in the runtime type information tables, and handle them in
Assign() in the runtime support library.
Commit: 37f94cd99a5bc4b186651d6967d8595c4786d8ed
https://github.com/llvm/llvm-project/commit/37f94cd99a5bc4b186651d6967d8595c4786d8ed
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M flang/lib/Evaluate/intrinsics.cpp
A flang/test/Evaluate/fold-assumed-rank-kind.f90
Log Message:
-----------
[flang] Accept KIND(x) when x is assumed-rank (#107787)
Don't emit a bogus error about being unable to forward an assumed-rank
dummy argument as an actual argument in the case of the KIND intrinsic
function.
Fixes https://github.com/llvm/llvm-project/issues/107782.
Commit: d418a03e01e6a31b51b0c9dd42ba46da6c47f89d
https://github.com/llvm/llvm-project/commit/d418a03e01e6a31b51b0c9dd42ba46da6c47f89d
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M flang/include/flang/Semantics/scope.h
M flang/lib/Semantics/compute-offsets.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/symbol.cpp
A flang/test/Semantics/generic10.f90
Log Message:
-----------
[flang] Fix error from semantics on use associated procedure pointer (#107928)
Use associated procedure pointers were eliciting bogus errors from
semantics if their modules also contained generic procedure interfaces
of the same name. (The compiler handles this case correctly when the
specific procedure of the same name is not a pointer.)
With this fix, the test case in
https://github.com/llvm/llvm-project/issues/107784
no longer experiences semantic errors; however, it now crashes
unexpectedly in lowering.
Commit: 5a2071b184e00f086f5b538f2209bcdb8aba3078
https://github.com/llvm/llvm-project/commit/5a2071b184e00f086f5b538f2209bcdb8aba3078
Author: Chris Apple <cja-private at pm.me>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_context.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_utilities.h
M compiler-rt/test/rtsan/basic.cpp
M compiler-rt/test/rtsan/disabler.cpp
Log Message:
-----------
[compiler-rt][rtsan] Improve error message wording to match ASan style (#107620)
Commit: 5495c36104103c4172808a28e8b2df3c806b1d85
https://github.com/llvm/llvm-project/commit/5495c36104103c4172808a28e8b2df3c806b1d85
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.h
Log Message:
-----------
[WebAssembly] Misc. refactoring in AsmTypeCheck (NFC) (#107978)
Existing methods in AsmTypeCheck assumes symbol operand is the 0th
operand; they take a `MCInst` and take `getOperand(0)` on it. I think
passing a `MCOperand` removes this assumption and also is more
intuitive. This was motivated by a new `try_table` instruction, whose
support is going to be added to AsmTypeCheck soon, which has tag symbol
operands in any position, depending on the number and the kinds of catch
clauses. This PR changes all methods' signature that assumes the 0th
operand is the relevant one, even if it's not the symbol operand.
This also adds `getSignature` method, which factors out the common task
when getting a `WasmSignature` from a `MCOperand`.
Commit: ace6d5f2ce53ae88205fc39dafa45e5682fd9a52
https://github.com/llvm/llvm-project/commit/ace6d5f2ce53ae88205fc39dafa45e5682fd9a52
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/lib/SandboxIR/SandboxIR.cpp
Log Message:
-----------
[SandboxIR] Fix base class of FenceInst. Verify instructions when building a BB in debug mode. (#108078)
@vporpo suggested in an offline conversation that verifying all
instructions during `BasicBlock::buildBasicBlockFromLLVMIR` would be a
good way to get coverage for errors like this during testing. He also
suggested not gating it on `SBVEC_EXPENSIVE_CHECKS` for now as the
checks are pretty basic at the moment and they only affect Debug builds.
Commit: 0fc4147c6d0c5bfb1fd9ed2a9f1c3a70e9281813
https://github.com/llvm/llvm-project/commit/0fc4147c6d0c5bfb1fd9ed2a9f1c3a70e9281813
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Add test coverage for mul X, C where C=2^N*(3,5,9)*(3,5,9)
Commit: 2ddf21bc702de25a34bb4a13b3610d8cc6bf3ca0
https://github.com/llvm/llvm-project/commit/2ddf21bc702de25a34bb4a13b3610d8cc6bf3ca0
Author: vporpo <vporpodas at google.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/PassManager.h
M llvm/lib/SandboxIR/Pass.cpp
M llvm/lib/SandboxIR/PassManager.cpp
M llvm/unittests/SandboxIR/PassTest.cpp
Log Message:
-----------
[SandboxIR] Pass registry (#108084)
This patch implements a simple Pass Registry class, which takes
ownership of the passes registered with it and provides an interface to
get the pass pointer by its name.
Commit: d452429821d3263a73b27387324bc272b47ed1bf
https://github.com/llvm/llvm-project/commit/d452429821d3263a73b27387324bc272b47ed1bf
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M flang/lib/Evaluate/check-expression.cpp
Log Message:
-----------
[flang] Fix shared library flang build (#108101)
I broke the shared library builds a few minutes ago by introducing a
cyclic dependency between two parts of the compiler. Fix.
Commit: 957af7373881e62eec34ca87106fa2a2c2391d8e
https://github.com/llvm/llvm-project/commit/957af7373881e62eec34ca87106fa2a2c2391d8e
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp
Log Message:
-----------
[sanitizer] Add CHECKs to validate calculated TLS range (#107941)
Commit: 10c04d9873dbbbca26f4d996396da297b9144add
https://github.com/llvm/llvm-project/commit/10c04d9873dbbbca26f4d996396da297b9144add
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M lldb/test/API/commands/statistics/basic/TestStats.py
Log Message:
-----------
[LLDB]Skip Summary Statistics Tests for Windows (#108079)
Follow up to #102708, the tests are failing for windows. There is a
large variance in these tests between summary strings and built in
types. I'm disabling these test for windows, and will add windows
specific tests as a follow up to this.
Commit: 6007ad79afeffb1288781b4a7241290386293aff
https://github.com/llvm/llvm-project/commit/6007ad79afeffb1288781b4a7241290386293aff
Author: Henrik G. Olsson <hnrklssn at gmail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/utils/lit/lit/TestRunner.py
R llvm/utils/lit/tests/Inputs/escape-color/color-escaped.txt
R llvm/utils/lit/tests/Inputs/escape-color/color.txt
R llvm/utils/lit/tests/Inputs/escape-color/lit.cfg
R llvm/utils/lit/tests/escape-color.py
Log Message:
-----------
Revert "[llvm-lit] Process ANSI color codes in test output when formatting" (#108104)
Reverts llvm/llvm-project#106776 because of a test failure on Windows.
Commit: d14a600b1eb650f05fcd56a7b790e30f1f52e751
https://github.com/llvm/llvm-project/commit/d14a600b1eb650f05fcd56a7b790e30f1f52e751
Author: vporpo <vporpodas at google.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement BlockAddress (#107940)
This patch implements sandboxir::BlockAddress mirroring
llvm:BlockAddress.
Commit: bb7286515c0b285382f370232f97ffa7cfcbc550
https://github.com/llvm/llvm-project/commit/bb7286515c0b285382f370232f97ffa7cfcbc550
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/Type.h
M llvm/lib/SandboxIR/Type.cpp
M llvm/unittests/SandboxIR/TypesTest.cpp
Log Message:
-----------
[SandboxIR] Implement FixedVectorType (#107930)
Commit: 5804193e38680683b370cb3ced46c018d4dbd1b2
https://github.com/llvm/llvm-project/commit/5804193e38680683b370cb3ced46c018d4dbd1b2
Author: Florian Mayer <fmayer at google.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp
Log Message:
-----------
Revert "[sanitizer] Add CHECKs to validate calculated TLS range" (#108112)
Reverts llvm/llvm-project#107941
Broke PPC bot
Commit: 829ea59ddaf0ddfa1d9316a9260bd3ba17562ffe
https://github.com/llvm/llvm-project/commit/829ea59ddaf0ddfa1d9316a9260bd3ba17562ffe
Author: Reid Kleckner <rnk at google.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/docs/DeveloperPolicy.rst
M llvm/docs/FAQ.rst
Log Message:
-----------
[docs] Add a section on AI-generated content to the developer policy (#91014)
Governments around the world are starting to require labelling for
AI-generated content, and some LLVM stakeholders have asked if LLVM
contains AI-generated content. Defining a policy on the use of AI tools
allows us to answer that question affirmatively, one way of the other.
The policy proposed here allows the use of AI tools in LLVM
contributions, flowing from the idea that any contribution is fine
regardless of how it is made, as long as the contributor has the right
to license it under the project license.
I gathered input from the community in this RFC and incorporated it into the policy:
https://discourse.llvm.org/t/rfc-define-policy-on-ai-tool-usage-in-contributions/78758
Commit: ae5f1a78d3a930466f927989faac8e0b9d820a7b
https://github.com/llvm/llvm-project/commit/ae5f1a78d3a930466f927989faac8e0b9d820a7b
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[MemProf] Convert CallContextInfo to a struct (NFC) (#108086)
As suggested in #107918, improve readability by converting this tuple to
a struct.
Commit: d2f25e5405cce348913994db71a5efb0c1cf7f28
https://github.com/llvm/llvm-project/commit/d2f25e5405cce348913994db71a5efb0c1cf7f28
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/lanai_isel.ll.expected
Log Message:
-----------
[LegalizeTypes] Avoid creating an unused node in ExpandIntRes_ADDSUB. NFC
The Hi result is sometimes calculated a different way and this
node goes unused. Defer creation until we know for sure it is neeeded.
The test changes is because the node creation order changed the names
in the debug output.
Commit: db7e8f2ae81fe10170dc202e45ee8b784e75c74c
https://github.com/llvm/llvm-project/commit/db7e8f2ae81fe10170dc202e45ee8b784e75c74c
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
Log Message:
-----------
[compiler-rt] Hardcode uptr/sptr typedefs on Linux Arm (#108105)
After #106155, Android arm32 asan builds stopped working with missing
definition linker errors. This is due to inconsistent definitions of
`uptr` of either `unsigned long` or `unsigned int` even between TUs in
compiler-rt. This is caused by Linux arm32 headers redefining
`__UINTPTR_TYPE__` (see `arch/arm/include/uapi/asm/types.h` in the Linux
kernel repo), meaning include order/whether or not the Linux header is
included changes compiler-rt symbol mangling.
As a workaround, this hardcodes `uptr`/`sptr` in compiler-rt to
`unsigned int`/`int` on Linux arm32, matching clang/gcc.
Commit: 6e854a6a01d310689a8b5d50126decd46b3880ea
https://github.com/llvm/llvm-project/commit/6e854a6a01d310689a8b5d50126decd46b3880ea
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
Log Message:
-----------
[scudo] Fix the logic of MaxAllowedFragmentedPages (#107927)
MTE doesn't support MaxReleasedCachePages which may break the assumption
that only the first 4 pages will have memory tagged.
Commit: 68f31aaae95f9824e58001c7f9115034df51039e
https://github.com/llvm/llvm-project/commit/68f31aaae95f9824e58001c7f9115034df51039e
Author: SahilPatidar <patidarsahil2001 at gmail.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M compiler-rt/lib/orc/dlfcn_wrapper.cpp
M compiler-rt/lib/orc/macho_platform.cpp
M compiler-rt/lib/orc/macho_platform.h
M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
Log Message:
-----------
[ORC][Runtime] Add `dlupdate` for MachO (#97441)
With the help of @lhames, This pull request introduces the `dlupdate`
function in the ORC runtime. `dlupdate` enables incremental execution of
new initializers introduced in the REPL environment. Unlike traditional
`dlopen`, which manages initializers, code mapping, and library
reference counts, `dlupdate` focuses exclusively on running new
initializers.
Commit: 77fc8dae22ff1fa38c0271abc5521db76351f1fd
https://github.com/llvm/llvm-project/commit/77fc8dae22ff1fa38c0271abc5521db76351f1fd
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/rvv/ctpop-vp.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/remat.ll
Log Message:
-----------
[RISCV] Rematerialize vmv.v.x (#107993)
Even though vmv.v.x has a non constant scalar operand, we can still
rematerialize it because we have split register allocation between
vectors and scalars.
InlineSpiller will check to make sure that the scalar operand is live at
the point where the rematerialization occurs, so this won't extend any
scalar live ranges. However this also means we may not be able to
rematerialize in some cases, as shown in @vmv.v.x_needs_extended.
It might be worthwhile teaching InlineSpiller to extend scalar live
ranges in a future patch. I experimented with this locally and it
reduced spills on 531.deepsjeng_r by a further 3%.
Commit: 69ed73380b9a1ec2d09d9b443a52b3ccd141334d
https://github.com/llvm/llvm-project/commit/69ed73380b9a1ec2d09d9b443a52b3ccd141334d
Author: Jim Lin <jim at andestech.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
A clang/test/Driver/riscv-mcmodel.c
Log Message:
-----------
[RISCV] Add testcase for -mcmodel= (#107816)
This is a pre-commit test for #107817
Commit: c641b611f86a846a51763a54a196375aba3e6e4e
https://github.com/llvm/llvm-project/commit/c641b611f86a846a51763a54a196375aba3e6e4e
Author: YunQiang Su <syq at debian.org>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Target/Mips/Mips32r6InstrInfo.td
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsInstrInfo.h
A llvm/test/CodeGen/Mips/is_fpclass.ll
Log Message:
-----------
MIPSr6: Add llvm.is.fpclasss intrinsic support (#107857)
MIPSr6 has class.s/class.d instructions.
Let's use them for llvm.is.fpclass intrinsic.
Commit: 21a0176c584c47218f20322641af8a855b8ce5e2
https://github.com/llvm/llvm-project/commit/21a0176c584c47218f20322641af8a855b8ce5e2
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/rvv/remat.ll
Log Message:
-----------
[RISCV] Rematerialize vfmv.v.f (#108007)
This is the same principle as vmv.v.x in #107993, but for floats.
Commit: 933fc63a1d230896bc09a08cf08dde4ac5b51703
https://github.com/llvm/llvm-project/commit/933fc63a1d230896bc09a08cf08dde4ac5b51703
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/remat.ll
Log Message:
-----------
[RISCV] Rematerialize vmv.s.x and vfmv.s.f (#108012)
Continuing with #107993 and #108007, this handles the last of the main
rematerializable vector instructions.
There's an extra spill in one of the test cases, but it's likely noise
from the spill weights and isn't an issue in practice.
Commit: 901006f238aae8dd7e75d173bf9429e8e44f6385
https://github.com/llvm/llvm-project/commit/901006f238aae8dd7e75d173bf9429e8e44f6385
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
[flang] Make flang module hidden dependency explicit to correct build… (#108129)
… failure
Any flang module with a derived type definition implicitly depends on
flang/module/__fortran_type_info.f90. Make this dependency explicit so
that an unlucky build order doesn't cause a crash.
Commit: 12530015a45accd6cf9dd6d565c89b1d7e562be5
https://github.com/llvm/llvm-project/commit/12530015a45accd6cf9dd6d565c89b1d7e562be5
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/test/CodeGen/RISCV/redundant-copy-from-tail-duplicate.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll
Log Message:
-----------
[RISCV] Add reductions to list of roots in tryToReduceVL (#107595)
This allows us to reduce VLs feeding reduction instructions. In
particular, this means that <3 x Ty> reduce(load) like sequences no
longer require a VL toggle.
This was waiting on 3d72957; now that the latent correctness issue is
fixed, we can expand this transform.
Commit: 5773adb0bfb72249fde00f1e4a02dc3f583d41c3
https://github.com/llvm/llvm-project/commit/5773adb0bfb72249fde00f1e4a02dc3f583d41c3
Author: YunQiang Su <syq at debian.org>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
SelectionDAG: Remove unneeded getSelectCC in expandFMINIMUMNUM_FMAXIMUMNUM (#107416)
ISD::FCANONICALIZE is enough, which can process NaN or non-NaN
correctly, thus getSelectCC is not needed here.
Commit: 76151c449080b7239c8b442291514a4300d51cba
https://github.com/llvm/llvm-project/commit/76151c449080b7239c8b442291514a4300d51cba
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
Log Message:
-----------
Revert "[scudo] Fix the logic of MaxAllowedFragmentedPages" (#108130)
Reverts llvm/llvm-project#107927
We are supposed to check the MaxAllowedFragmentedPages instead.
Commit: c5711130be758ca82216abb81c6b870a830e8f82
https://github.com/llvm/llvm-project/commit/c5711130be758ca82216abb81c6b870a830e8f82
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
[flang] Fix cycle of build dependencies (#108132)
While trying to fix one build problem, I made things worse. This should
clear things up.
Commit: 3b4e7c9c4502d41ece4ef3431bbc12f055adabb5
https://github.com/llvm/llvm-project/commit/3b4e7c9c4502d41ece4ef3431bbc12f055adabb5
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/Type.h
M llvm/lib/SandboxIR/Type.cpp
M llvm/unittests/SandboxIR/TypesTest.cpp
Log Message:
-----------
[SandboxIR] Implement ScalableVectorType (#108124)
As in the heading.
Commit: e67a6667dc2b46ece983321af89ae40ca7986b16
https://github.com/llvm/llvm-project/commit/e67a6667dc2b46ece983321af89ae40ca7986b16
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/test/Lower/CUDA/cuda-devptr.cuf
Log Message:
-----------
[flang][cuda] Avoid extra load in c_f_pointer lowering with c_devptr (#108090)
Remove unnecessary load of the `cptr` component when getting the
`__address`. `fir.coordinate_of` operation can be chained so the load is
not needed.
Commit: 3dad29b677e427bf69c035605a16efd065576829
https://github.com/llvm/llvm-project/commit/3dad29b677e427bf69c035605a16efd065576829
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/include/llvm/LTO/LTO.h
M llvm/include/llvm/Transforms/IPO/FunctionImport.h
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
Log Message:
-----------
[LTO] Remove unused includes (NFC) (#108110)
clangd reports these as unused headers. My manual inspection agrees
with the findings.
Commit: 6bbf7f06d8e4e84bbda9027252b26a0d9ae10cde
https://github.com/llvm/llvm-project/commit/6bbf7f06d8e4e84bbda9027252b26a0d9ae10cde
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.h
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTypeUtilities.h
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td
M llvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
M llvm/test/CodeGen/WebAssembly/exception-legacy.ll
A llvm/test/CodeGen/WebAssembly/exception.ll
Log Message:
-----------
[WebAssembly] Add assembly support for final EH proposal (#107917)
This adds the basic assembly generation support for the final EH
proposal, which was newly adopted in Sep 2023 and advanced into Phase 4
in Jul 2024:
https://github.com/WebAssembly/exception-handling/blob/main/proposals/exception-handling/Exceptions.md
This adds support for the generation of new `try_table` and `throw_ref`
instruction in .s asesmbly format. This does NOT yet include
- Block annotation comment generation for .s format
- .o object file generation
- .s assembly parsing
- Type checking (AsmTypeCheck)
- Disassembler
- Fixing unwind mismatches in CFGStackify
These will be added as follow-up PRs.
---
The format for `TRY_TABLE`, both for `MachineInstr` and `MCInst`, is as
follows:
```
TRY_TABLE type number_of_catches catch_clauses*
```
where `catch_clause` is
```
catch_opcode tag+ destination
```
`catch_opcode` should be one of 0/1/2/3, which denotes
`CATCH`/`CATCH_REF`/`CATCH_ALL`/`CATCH_ALL_REF` respectively. (See
`BinaryFormat/Wasm.h`) `tag` exists when the catch is one of `CATCH` or
`CATCH_REF`.
The MIR format is printed as just the list of raw operands. The
(stack-based) assembly instruction supports pretty-printing, including
printing `catch` clauses by name, in InstPrinter.
In addition to the new instructions `TRY_TABLE` and `THROW_REF`, this
adds four pseudo instructions: `CATCH`, `CATCH_REF`, `CATCH_ALL`, and
`CATCH_ALL_REF`. These are pseudo instructions to simulate block return
values of `catch`, `catch_ref`, `catch_all`, `catch_all_ref` clauses in
`try_table` respectively, given that we don't support block return
values except for one case (`fixEndsAtEndOfFunction` in CFGStackify).
These will be omitted when we lower the instructions to `MCInst` at the
end.
LateEHPrepare now will have one more stage to covert
`CATCH`/`CATCH_ALL`s to `CATCH_REF`/`CATCH_ALL_REF`s when there is a
`RETHROW` to rethrow its exception. The pass also converts `RETHROW`s
into `THROW_REF`. Note that we still use `RETHROW` as an interim pseudo
instruction until we convert them to `THROW_REF` in LateEHPrepare.
CFGStackify has a new `placeTryTableMarker` function, which places
`try_table`/`end_try_table` markers with a necessary `catch` clause and
also `block`/`end_block` markers for the destination of the `catch`
clause.
In MCInstLower, now we need to support one more case for the multivalue
block signature (`catch_ref`'s destination's `(i32, exnref)` return
type).
InstPrinter has a new routine to print the `catch_list` type, which is
used to print `try_table` instructions.
The new test, `exception.ll`'s source is the same as
`exception-legacy.ll`, with the FileCheck expectations changed. One
difference is the commands in this file have `-wasm-enable-exnref` to
test the new format, and don't have `-wasm-disable-explicit-locals
-wasm-keep-registers`, because the new custom InstPrinter routine to
print `catch_list` only works for the stack-based instructions (`_S`),
and we can't use `-wasm-keep-registers` for them.
As in `exception-legacy.ll`, the FileCheck lines for the new tests do
not contain the whole program; they mostly contain only the control flow
instructions for readability.
Commit: d03822d8887adc9312e65abf8d8ce1a16007f2a0
https://github.com/llvm/llvm-project/commit/d03822d8887adc9312e65abf8d8ce1a16007f2a0
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Fix lookup of source locations in implicit ctors (#107992)
Implicit functions may still have a body. The !hasBody() check is
enough.
Commit: 323911de277087b4898a96760c065a28f5d1bfa7
https://github.com/llvm/llvm-project/commit/323911de277087b4898a96760c065a28f5d1bfa7
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
Log Message:
-----------
Reapply "[scudo] Fix the logic of MaxAllowedFragmentedPages" (#108130) (#108134)
This reverts commit 76151c449080b7239c8b442291514a4300d51cba.
Also changed to check MaxAllowedFragmentedPages.
Commit: 203a2ca8cd6af505e11a38aebceeaf864271042c
https://github.com/llvm/llvm-project/commit/203a2ca8cd6af505e11a38aebceeaf864271042c
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
A clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
Log Message:
-----------
[webkit.RefCntblBaseVirtualDtor] Make ThreadSafeRefCounted not generate warnings (#107676)
This PR makes WebKit's RefCntblBaseVirtualDtor checker not generate a
warning for ThreadSafeRefCounted when the destruction thread is a
specific thread.
Prior to this PR, we only allowed CRTP classes without a virtual
destructor if its deref function had an explicit cast to the derived
type, skipping any lambda declarations which aren't invoked. This ends
up generating a warning for ThreadSafeRefCounted when a specific thread
is used to destruct the object because there is no inline body /
definition for ensureOnMainThread and ensureOnMainRunLoop and
DerefFuncDeleteExprVisitor concludes that there is no explicit delete of
the derived type.
This PR relaxes the condition DerefFuncDeleteExprVisitor checks by
allowing a delete expression to appear within a lambda declaration if
it's an argument to an "opaque" function; i.e. a function without
definition / body.
Commit: 3c9022c965b85951f30af140da591f819acef8a0
https://github.com/llvm/llvm-project/commit/3c9022c965b85951f30af140da591f819acef8a0
Author: AdityaK <hiraditya at msn.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
A llvm/test/Transforms/SimplifyCFG/switch-branch-fold-indirectbr-102351.ll
Log Message:
-----------
Bail out jump threading on indirect branches (#103688)
The bug was introduced by
https://github.com/llvm/llvm-project/pull/68473
Fixes: #102351
Commit: bc152fbf43157659f8b6817e8510e1fbe6e175b5
https://github.com/llvm/llvm-project/commit/bc152fbf43157659f8b6817e8510e1fbe6e175b5
Author: Prabhuk <prabhukr at google.com>
Date: 2024-09-10 (Tue, 10 Sep 2024)
Changed paths:
M llvm/tools/llvm-debuginfod-find/CMakeLists.txt
A llvm/tools/llvm-debuginfod-find/Opts.td
M llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
Log Message:
-----------
[llvm-debuginfod-find] Enable multicall driver (#108082)
Migrate llvm-debuginfod-find tool to use GenericOptTable.
Enable multicall driver.
Commit: 6dbdb8430b492959c399a7809247424c6962902f
https://github.com/llvm/llvm-project/commit/6dbdb8430b492959c399a7809247424c6962902f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
[Clang] Fix crash due to invalid source location in __is_trivially_equality_comparable (#107815)
Fixes #107777
Commit: cd0e867756dbab6184d2f250f768a60bc60a0849
https://github.com/llvm/llvm-project/commit/cd0e867756dbab6184d2f250f768a60bc60a0849
Author: David Green <david.green at arm.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-vector-imm.ll
Log Message:
-----------
[AArch64] Update and cleanup arm64-vector-imm.ll test. NFC
Commit: 748023dc3210533df2c1c6efc8af1b5954493701
https://github.com/llvm/llvm-project/commit/748023dc3210533df2c1c6efc8af1b5954493701
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M libcxx/.clang-format
M libcxx/include/__chrono/exception.h
M libcxx/include/__config
M libcxx/include/__exception/exception_ptr.h
M libcxx/include/__exception/nested_exception.h
M libcxx/include/__exception/operations.h
M libcxx/include/__exception/terminate.h
M libcxx/include/__filesystem/filesystem_error.h
M libcxx/include/__format/format_error.h
M libcxx/include/__format/parser_std_format_spec.h
M libcxx/include/__functional/function.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__system_error/system_error.h
M libcxx/include/__utility/unreachable.h
M libcxx/include/__verbose_abort
M libcxx/include/any
M libcxx/include/future
M libcxx/include/ios
M libcxx/include/new
M libcxx/include/optional
M libcxx/include/regex
M libcxx/include/stdexcept
M libcxx/include/string
M libcxx/include/typeinfo
M libcxx/include/variant
M libcxx/include/vector
M libcxx/src/stdexcept.cpp
M libcxx/src/string.cpp
M libcxx/src/support/runtime/exception_fallback.ipp
M libcxx/src/support/runtime/exception_msvc.ipp
M libcxx/src/support/runtime/exception_pointer_cxxabi.ipp
M libcxx/src/support/runtime/exception_pointer_glibcxx.ipp
M libcxx/src/support/runtime/exception_pointer_msvc.ipp
M libcxx/src/support/runtime/exception_pointer_unimplemented.ipp
M libcxx/src/vector.cpp
M libcxx/test/support/assert_macros.h
M libcxx/test/support/check_assertion.h
M libcxx/test/support/count_new.h
M libcxx/test/support/test_macros.h
Log Message:
-----------
[libc++][NFC] Replace _LIBCPP_NORETURN and TEST_NORETURN with [[noreturn]] (#80455)
`[[__noreturn__]]` is now always available, so we can simply use the
attribute directly instead of through a macro.
Commit: 1e3a24d2e4eb63c17b962161ae6588d1b2c178f8
https://github.com/llvm/llvm-project/commit/1e3a24d2e4eb63c17b962161ae6588d1b2c178f8
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/InitUndef.cpp
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.h
M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
M llvm/test/CodeGen/RISCV/rvv/subregister-undef-early-clobber.mir
Log Message:
-----------
[InitUndef] Don't use largest super class (#107885)
The InitUndef pass currently uses the getLargestSuperClass() hook (which
is only used by that pass) to chose the register to initialize. This was done
to reduce the number of undef init pseudos needed, e.g. so that the vrnov0
regclass would use the same pseudo as v0. After #106744 we use a single
generic pseudo, so this is no longer necessary.
Commit: 19f604edfc015b35999b3b95e94f18389e4b392d
https://github.com/llvm/llvm-project/commit/19f604edfc015b35999b3b95e94f18389e4b392d
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py
Log Message:
-----------
[lldb][test] Add test for printing std::string through expression evaluator
This would've caught the failures in
https://github.com/llvm/llvm-project/pull/105865 in the libc++
data-formatter CI.
Commit: 2afe678f0a246387977a8ca694d4489e2c868991
https://github.com/llvm/llvm-project/commit/2afe678f0a246387977a8ca694d4489e2c868991
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/MemCpyOpt/memcpy.ll
Log Message:
-----------
[MemCpyOpt] Allow memcpy elision for non-noalias arguments (#107860)
We currently elide memcpys for readonly nocapture noalias arguments.
noalias is checked to make sure that there are no other ways to write
the memory, e.g. through a different argument or an escaped pointer.
In addition to the current noalias check, also query alias analysis, in
case it can prove that modification is not possible through other means.
This fixes the problem reported in
https://discourse.llvm.org/t/problem-about-memcpy-elimination/81121.
Commit: 34cab2ed82a63ecf3d0ebf790def6d21bd4b87af
https://github.com/llvm/llvm-project/commit/34cab2ed82a63ecf3d0ebf790def6d21bd4b87af
Author: Weining Lu <luweining at loongson.cn>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/test/Driver/mcmodel.c
Log Message:
-----------
[Driver][test] Remove useless LoongArch test checks in mcmodel.c
Commit: c9aa55da62b2a9e482c1877897152fb3c47719d2
https://github.com/llvm/llvm-project/commit/c9aa55da62b2a9e482c1877897152fb3c47719d2
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Transforms/loop-invariant-code-motion.mlir
M mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp
Log Message:
-----------
[mlir][Linalg] Add speculation for LinalgStructuredOps (#108032)
This patch adds speculation behavior for linalg structured ops, allowing
them to be hoisted out of loops using LICM.
Commit: db64e69fa250ea3a8d7a761220a7922fbdad0f2c
https://github.com/llvm/llvm-project/commit/db64e69fa250ea3a8d7a761220a7922fbdad0f2c
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/test/Integration/debug-module-2.f90
M flang/test/Transforms/debug-90683.fir
M flang/test/Transforms/debug-fn-info.fir
A flang/test/Transforms/debug-imported-entity.fir
M flang/test/Transforms/debug-line-table-inc-file.fir
M flang/test/Transforms/debug-local-global-storage-1.fir
Log Message:
-----------
[flang][debug] Handle 'used' module. (#107626)
As described in #98883, we have to qualify a module variable name in
debugger to get its value. This PR tries to remove this limitation.
LLVM provides `DIImportedEntity` to handle such cases but the PR is made
more complicated due to the following 2 issues.
1. The MLIR attributes are readonly and we have a circular dependency
here. This has to be handled using the recursive interface provided by
the MLIR. This requires us to first create a place holder
`DISubprogramAttr` which is used in creating `DIImportedEntityAttr`.
Later another `DISubprogramAttr` is created which replaces the place
holder.
2. The flang IR does not provide any information about the 'used' module
so this has to be extracted by doing a pass over the
`DeclareOp` in the function. This presents certain limitation as 'only'
and module variable renaming may not be handled properly.
Due to the change in `DISubprogramAttr`, some tests also needed to be
adjusted.
Fixes #98883.
Commit: 300161761df54f5f85630a8ad0e170d09d119ee3
https://github.com/llvm/llvm-project/commit/300161761df54f5f85630a8ad0e170d09d119ee3
Author: David Green <david.green at arm.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/load-insert-undef.ll
M llvm/test/CodeGen/AArch64/load-insert-zero.ll
Log Message:
-----------
[AArch64] Add tests for scalar_to_vector(load) and extend load into zero tests. NFC
Commit: b4bb2f8aef01aeab8bf4fd164ed14a2c083d2858
https://github.com/llvm/llvm-project/commit/b4bb2f8aef01aeab8bf4fd164ed14a2c083d2858
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/IR/User.cpp
A llvm/test/Transforms/LoopDeletion/noalias.ll
Log Message:
-----------
[LoopDeletion] Unblock loop deletion with `llvm.experimental.noalias.scope.decl` (#108144)
Since `llvm.experimental.noalias.scope.decl` is marked as
`memory(inaccessiblemem: readwrite)`, we cannot treat this annotation
intrinsic as having no side effects. It will block loop deletion when
this intrinsic exists inside a dead loop:
https://github.com/llvm/llvm-project/blob/3dad29b677e427bf69c035605a16efd065576829/llvm/lib/Transforms/Scalar/LoopDeletion.cpp#L103-L110
This patch marks `llvm.experimental.noalias.scope.decl` as droppable to
address the issue.
Fixes https://github.com/llvm/llvm-project/issues/108052.
Commit: 596e7ccd30655faae9c4f35a1913dc23d08f3857
https://github.com/llvm/llvm-project/commit/596e7ccd30655faae9c4f35a1913dc23d08f3857
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/docs/RISCVUsage.rst
Log Message:
-----------
[RISCV][doc] Add note to RISCVUsage about supported atomics ABIs (#103879)
I've tried to avoid giving too much detailed explanation as the psABI docs are the
better source for this.
Commit: a8f3d303122d049e65b699870615d464b77b489f
https://github.com/llvm/llvm-project/commit/a8f3d303122d049e65b699870615d464b77b489f
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
Log Message:
-----------
[mlir] Add dependent TensorDialect to ConvertVectorToLLVM pass (#108045)
This patch registers the tensor dialect as dependent of the
ConvertVectorToLLVM.
This which fixes a crash when `vector.transfer_write` is used with
dynamic tensor type.
The MaterializeTransferMask pattern would call
`vector::createOrFoldDimOp` which
creates a `tensor.dim` operation.
Fixes #107805.
Commit: a4b0153c4f5f0d6bcf42fb2cb97dbdfad9c59e2c
https://github.com/llvm/llvm-project/commit/a4b0153c4f5f0d6bcf42fb2cb97dbdfad9c59e2c
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
Log Message:
-----------
[mlir][vector] Support for extracting 1-element vectors in VectorExtractOpConversion (#107549)
This patch adds support for converting `vector.extract` that extract
1-element vectors into LLVM, fixing a crash in such cases.
E.g., `vector.extract %1[0]: vector<1xf32> from vector<2xf32>`. Fix
#61372.
Commit: f4dd1bc8fc625d3938f95b9d06aaaeebd2e90dca
https://github.com/llvm/llvm-project/commit/f4dd1bc8fc625d3938f95b9d06aaaeebd2e90dca
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
Log Message:
-----------
[AMDGPU] Fix leak and self-assignment in copy assignment operator (#107847)
A static analyzer identified that this operator was unsafe in the case
of self-assignment.
In the placement new statement, StringValue's copy constructor was being
implicitly called, which received a reference to "itself". In fact, it
was being passed an old StringValue at the same address - one whose
lifetime had already ended. The copy constructor was thus copying fields
from a dead object.
We need to be careful when switching active union members, and calling
the destructor on the old StringValue will avoid memory leaks which I
believe the old code exhibited.
Commit: 2e4e918bf03868bb4cd0d0415766cfba8dc1d899
https://github.com/llvm/llvm-project/commit/2e4e918bf03868bb4cd0d0415766cfba8dc1d899
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/driver.bzl
Log Message:
-----------
[bazel] Port bc152fbf43157659f8b6817e8510e1fbe6e175b5
Commit: c4a00be08aa10b5e51ee5db426d61ac87d9dc6fd
https://github.com/llvm/llvm-project/commit/c4a00be08aa10b5e51ee5db426d61ac87d9dc6fd
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency for a8f3d303122d049e65b699870615d464b77b489f
Commit: 935b9f6274b39b35f6b391aaf4c87c0605421fb3
https://github.com/llvm/llvm-project/commit/935b9f6274b39b35f6b391aaf4c87c0605421fb3
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
Log Message:
-----------
[AMDGPU] Make use of multiclass inheritance. NFC.
Commit: 704116373ae91a1b829dc3d3d269874fb27b579c
https://github.com/llvm/llvm-project/commit/704116373ae91a1b829dc3d3d269874fb27b579c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.format.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.format.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.store.format.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.store.format.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.store.ll
Log Message:
-----------
[AMDGPU] Regenerate buffer intrinsic tests with update_llc_test_checks. NFC.
Commit: 7e0008d5ad5ea7df0b9586f07e5af4a7225dac96
https://github.com/llvm/llvm-project/commit/7e0008d5ad5ea7df0b9586f07e5af4a7225dac96
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Symbols.cpp
M lld/COFF/Symbols.h
Log Message:
-----------
[LLD][COFF][NFC] Create import thunks in ImportFile::parse. (#107929)
Commit: e1ee07d0ff7a37bf5f52d560a52925c0507471e1
https://github.com/llvm/llvm-project/commit/e1ee07d0ff7a37bf5f52d560a52925c0507471e1
Author: Akshat Oke <76596238+Akshat-Oke at users.noreply.github.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
A llvm/lib/Target/AMDGPU/SIPeepholeSDWA.h
M llvm/test/CodeGen/AMDGPU/sdwa-gfx9.mir
M llvm/test/CodeGen/AMDGPU/sdwa-ops.mir
M llvm/test/CodeGen/AMDGPU/sdwa-preserve.mir
Log Message:
-----------
[AMDGPU][NewPM] Port SIPeepholeSDWA pass to NPM (#107049)
Commit: da6944912baffa430468078c38f65d55fb83dd43
https://github.com/llvm/llvm-project/commit/da6944912baffa430468078c38f65d55fb83dd43
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
A lldb/test/Shell/SymbolFile/DWARF/no_unique_address-with-bitfields.cpp
Log Message:
-----------
[lldb][test] Add test for no_unique_address when mixed with bitfields (#108155)
This is the root-cause for the LLDB failures that started occurring
after https://github.com/llvm/llvm-project/pull/105865.
The DWARFASTParserClang has logic to try derive unnamed bitfields from
DWARF offsets. In this case we treat `padding` as a 1-byte size field
that would overlap with `flag`, and decide we need to introduce an
unnamed bitfield into the AST, which is incorrect.
Commit: 2f3d061918ece414d6db544a34b2e44a9950bc23
https://github.com/llvm/llvm-project/commit/2f3d061918ece414d6db544a34b2e44a9950bc23
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M mlir/include/mlir/Dialect/OpenMP/CMakeLists.txt
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
A mlir/test/mlir-tblgen/openmp-clause-ops.td
M mlir/tools/mlir-tblgen/OmpOpGen.cpp
Log Message:
-----------
[MLIR][OpenMP] Automate operand structure definition (#99508)
This patch adds the "gen-openmp-clause-ops" `mlir-tblgen` generator to
produce the structure definitions previously in OpenMPClauseOperands.h
automatically from the information contained in OpenMPOps.td and
OpenMPClauses.td.
The original header is maintained to enable the definition of similar
structures that are not directly related to any single `OpenMP_Clause`
or `OpenMP_Op` tablegen definition.
Commit: e50131aa068f74daa70d4135c92020aadae3af33
https://github.com/llvm/llvm-project/commit/e50131aa068f74daa70d4135c92020aadae3af33
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
Log Message:
-----------
[clang] Diagnose dangling issues for the "Container<GSLPointer>" case. (#107213)
This pull request enhances the GSL lifetime analysis to detect
situations where a dangling `Container<GSLPointer>` object is
constructed:
```cpp
std::vector<std::string_view> bad = {std::string()}; // dangling
```
The assignment case is not yet supported, but they will be addressed in
a follow-up.
Fixes #100526 (excluding the `push_back` case).
Commit: 334873fe2df27a4fa613e8744f29e502d3358397
https://github.com/llvm/llvm-project/commit/334873fe2df27a4fa613e8744f29e502d3358397
Author: Amy Wang <kai.ting.wang at huawei.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M mlir/include/mlir-c/BuiltinAttributes.h
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/CAPI/IR/BuiltinAttributes.cpp
M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
M mlir/python/mlir/ir.py
M mlir/test/python/ir/attributes.py
Log Message:
-----------
[MLIR][Python] Python binding support for IntegerSet attribute (#107640)
Support IntegerSet attribute python binding.
Commit: 7c25ae87f7378f38aa49a92b9cf8092deb95a1f4
https://github.com/llvm/llvm-project/commit/7c25ae87f7378f38aa49a92b9cf8092deb95a1f4
Author: Frederik Carlier <frederik.carlier at keysight.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/test/CodeGenObjC/dllstorage.m
M clang/test/SemaObjC/ivar-access-tests.m
Log Message:
-----------
Set dllimport on Objective C ivar offsets (#107604)
Ensures that offsets for instance variables are marked with `dllimport`
if the interface to which they belong has this attribute.
Commit: b35bb7b797e81e1d972c8e6d60e20e39c1917b99
https://github.com/llvm/llvm-project/commit/b35bb7b797e81e1d972c8e6d60e20e39c1917b99
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M mlir/tools/mlir-tblgen/OmpOpGen.cpp
Log Message:
-----------
[mlir] Fix 'StringSet' may not intend to support class template argument deduction (NFC)
/llvm-project/mlir/tools/mlir-tblgen/OmpOpGen.cpp:202:3:
error: 'StringSet' may not intend to support class template argument deduction [-Werror,-Wctad-maybe-unsupported]
llvm::StringSet superClasses;
^
/llvm-project/llvm/include/llvm/ADT/StringSet.h:23:7: note: add a deduction guide to suppress this warning
class StringSet : public StringMap<std::nullopt_t, AllocatorTy> {
^
Commit: 0856f12bb0a9829a282bef7c26ad536ff3b1e0a5
https://github.com/llvm/llvm-project/commit/0856f12bb0a9829a282bef7c26ad536ff3b1e0a5
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M mlir/tools/mlir-tblgen/OmpOpGen.cpp
Log Message:
-----------
[mlir] Fix -Wunused-variable in OmpOpGen.cpp (NFC)
/llvm-project/mlir/tools/mlir-tblgen/OmpOpGen.cpp:239:8:
error: unused variable 'isAttr' [-Werror,-Wunused-variable]
bool isAttr = superClasses.contains("Attr");
^
Commit: ed22029eea12b37c2a58f2c6b8d67f12009102a0
https://github.com/llvm/llvm-project/commit/ed22029eea12b37c2a58f2c6b8d67f12009102a0
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/opt-gepoperator-of-gvar.ll
Log Message:
-----------
[SPIR-V] Address the case when optimization uses GEP operator and GenCode creates G_PTR_ADD to convey the semantics (#107880)
When running SPIR-V Backend with optimization levels higher than 0, we
observe GEP Operator's as a new factor, massively used to convey the
semantics of the original LLVM IR. Previously, an issue related to GEP
Operator was mentioned and fixed on the consumer side of toolchains
(see, for example, Khronos Trandslator Issue
https://github.com/KhronosGroup/SPIRV-LLVM-Translator/issues/2486 and PR
https://github.com/KhronosGroup/SPIRV-LLVM-Translator/pull/2487).
However, there is a case when GenCode creates G_PTR_ADD to convey the
original semantics under optimization levels higher than 0 where it's
SPIR-V Backend that fails to translate source LLVM IR correctly.
Consider the following reproducer:
```
%struct = type { i32, [257 x i8], [257 x i8], [129 x i8], i32, i64, i64, i64, i64, i64, i64 }
@Mem = linkonce_odr dso_local addrspace(1) global %struct zeroinitializer, align 8
define weak dso_local spir_func void @__devicelib_assert_fail(ptr addrspace(4) noundef %expr, i32 noundef %line, i1 %fl) {
entry:
%cmp = icmp eq i32 %line, 0
br i1 %cmp, label %lbl, label %exit
lbl:
store i32 %line, ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) @Mem, i64 648), align 8
br i1 %fl, label %lbl, label %exit
exit:
ret void
}
```
converted to the following machine instructions by SPIR-V Backend:
```
%4:type(s64) = OpTypeInt 32, 0
%22:type(s64) = OpTypePointer 5, %4:type(s64)
%2:type(s64) = OpTypeInt 8, 0
%28:type(s64) = OpTypePointer 5, %2:type(s64)
%10:pid(p1) = G_GLOBAL_VALUE @Mem
%36:type(s64) = OpTypeStruct %4:type(s64), %32:type(s64), %32:type(s64), %34:type(s64), %4:type(s64), %35:type(s64), %35:type(s64), %35:type(s64), %35:type(s64), %35:type(s64), %35:type(s64)
%37:iid(s32) = G_INTRINSIC_W_SIDE_EFFECTS intrinsic(@llvm.spv.const.composite)
%8:iid(s32) = ASSIGN_TYPE %37:iid(s32), %36:type(s64)
G_INTRINSIC_W_SIDE_EFFECTS intrinsic(@llvm.spv.init.global), %10:pid(p1), %8:iid(s32)
%29:pid(p1) = nuw G_PTR_ADD %10:pid, %16:iid(s64)
%15:pid(p1) = nuw ASSIGN_TYPE %29:pid(p1), %28:type(s64)
%27:pid(p2) = G_BITCAST %15:pid(p1)
%17:pid(p2) = ASSIGN_TYPE %27:pid(p2), %22:type(s64)
G_STORE %1:iid(s32), %17:pid(p2) :: (store (s32) into %ir.3, align 8, addrspace 1)
```
On the next stage of instruction selection this `G_PTR_ADD`-related
pattern would be interpreted as an initialization of a global variable
and converted to an invalid constant GEP pattern that, in its turn,
would fail to be verified by LLVM during back translation from SPIR-V to
LLVM IR.
This PR introduces a fix for the problem by adding one more case of
`G_PTR_ADD` translation, when we use a non-const GEP to convey the
meaning. The reproducer is attached as a new test case.
Commit: 1b0400eed8613108d9f293b9ddd3380e3241ac60
https://github.com/llvm/llvm-project/commit/1b0400eed8613108d9f293b9ddd3380e3241ac60
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/abds-neg.ll
M llvm/test/CodeGen/X86/abdu-neg.ll
Log Message:
-----------
[X86] combineSubABS - handle NEG(ABD()) expanded patterns
combineSubABS already handles the "(sub Y, cmovns X, -X) -> (add Y, cmovns -X, X)" fold by flipping the cmov operands.
We can do something similar for the negation of ABDS/U patterns which have been expanded to a CMOVL/CMOVB with a pair of commuted subtractions: "NEG(ABD(X,Y)) -> NEG(CMOV(SUB(X,Y),SUB(Y,X))) -> CMOV(SUB(Y,X),SUB(X,Y))"
Commit: b9c2e2e3e910f8283f52c574fd8b6a7981d6cb0d
https://github.com/llvm/llvm-project/commit/b9c2e2e3e910f8283f52c574fd8b6a7981d6cb0d
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] port 2f3d061918ece414d6db544a34b2e44a9950bc23
Commit: 80fcab8c26129a98f01ce4f8d9cc90f3653bf693
https://github.com/llvm/llvm-project/commit/80fcab8c26129a98f01ce4f8d9cc90f3653bf693
Author: MichelleCDjunaidi <michellechrisalyn at gmail.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/Contributing.rst
Log Message:
-----------
[Docs][clang-query] disclose Windows linetab bug on clang-query tab auto-complete (#107956)
As per
https://github.com/llvm/llvm-project/pull/106672/#issuecomment-2325577815
and https://github.com/llvm/llvm-project/issues/107377, the
documentation should be updated to note that the current bug on Windows
involving ``LineEditor`` causing Tab key related features to not work.
Fixes #107377
Commit: 49b57df16144450331b4f90332d6918168b2a306
https://github.com/llvm/llvm-project/commit/49b57df16144450331b4f90332d6918168b2a306
Author: Tim Besard <tim.besard at gmail.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/test/tools/dxil-dis/metadata.ll
M llvm/tools/dxil-dis/CMakeLists.txt
Log Message:
-----------
DXIL: Use correct type ID when writing ValueAsMetadata. (#94337)
When emitting references to functions as part of `ValueAsMetadata`,
we currently emit the incorrect (typed) pointer, resulting in
crashes during deserialization. Avoid this by correctly mapping the
type during serialization.
Commit: 99a235499337aff27d087c31916d6785d2e9a263
https://github.com/llvm/llvm-project/commit/99a235499337aff27d087c31916d6785d2e9a263
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
M lld/COFF/MarkLive.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Writer.cpp
M lld/test/COFF/Inputs/loadconfig-arm64ec.s
M lld/test/COFF/arm64ec-import.test
Log Message:
-----------
[LLD][COFF] Add support for ARM64EC import call thunks. (#107931)
These thunks can be accessed using `__impchk_*` symbols, though they
are typically not called directly. Instead, they are used to populate the
auxiliary IAT. When the imported function is x86_64 (or an ARM64EC
function with a patched export thunk), the thunk is used to call it.
Otherwise, the OS may replace the thunk at runtime with a direct
pointer to the ARM64EC function to avoid the overhead.
Commit: 5904448ceb67d6a7bd752aa4b54d9acb64bcc533
https://github.com/llvm/llvm-project/commit/5904448ceb67d6a7bd752aa4b54d9acb64bcc533
Author: Tulio Magno Quites Machado Filho <tuliom at redhat.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/cmake/modules/VersionFromVCS.cmake
Log Message:
-----------
Avoid exposing password and token from git repositories (#105220)
Try to detect if the git remote URL has a password or a Github token and
return an error teaching the user how to avoid leaking their password or
token.
Commit: 5f25b89513954b00e045b9fdf1a16f3a34e04c52
https://github.com/llvm/llvm-project/commit/5f25b89513954b00e045b9fdf1a16f3a34e04c52
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/utils/TableGen/Common/OptEmitter.cpp
M llvm/utils/TableGen/Common/OptEmitter.h
M llvm/utils/TableGen/ExegesisEmitter.cpp
M llvm/utils/TableGen/OptParserEmitter.cpp
M llvm/utils/TableGen/OptRSTEmitter.cpp
Log Message:
-----------
[TableGen] Migrate Option Emitters to const RecordKeeper (#107696)
Migrate Opt/OptRST Emitters to const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 6043321127fa3c51481beaee683a34c2d2ca468d
https://github.com/llvm/llvm-project/commit/6043321127fa3c51481beaee683a34c2d2ca468d
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/llvm-debuginfod-find/BUILD.gn
Log Message:
-----------
[gn] port bc152fbf4315 (llvm-debuginfod-find driver_exe)
Commit: 135bd31975192654629c9bd453533ba705af1dba
https://github.com/llvm/llvm-project/commit/135bd31975192654629c9bd453533ba705af1dba
Author: Alex Rice <alexrice999 at hotmail.co.uk>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/test/tblgen-to-irdl/CMathDialect.td
M mlir/test/tblgen-to-irdl/TestDialect.td
M mlir/tools/tblgen-to-irdl/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir] [tblgen-to-irdl] Refactor tblgen-to-irdl script and support more types (#105505)
Refactors the tblgen-to-irdl script slightly and adds support for
- Various integer types
- Various Float types
- Confined types
- Complex types (with fixed element type)
Also doesn't add the operand and result ops if they are empty.
I could potentially split this into smaller PRs if that'd be helpful
(refactor + integer/float/complex, confined type, optional
operand/result).
@math-fehr
Commit: 2a130f1a140613445b8f387d3fa54328c1b94cde
https://github.com/llvm/llvm-project/commit/2a130f1a140613445b8f387d3fa54328c1b94cde
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/include/clang/Basic/AArch64SVEACLETypes.def
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
Log Message:
-----------
[NFC][Clang][SVE] Refactor AArch64SVEACLETypes.def to enabled more uses. (#107599)
Some switch statements require all SVE builtin types to be manually
specified. This patch refactors the SVE_*_TYPE macros so that such code
can be generated during preprocessing.
I've tried to establish a minimal interface that covers all types where
no special information is required and then created a set of macros that
are dedicated to specific datatypes (i.e. int, float).
This patch is groundwork to simplify the changing of SVE tuple types to
become struct based as well as work to support the FP8 ACLE.
Commit: 44fc987ed174e32544a577387ab0df6886495e82
https://github.com/llvm/llvm-project/commit/44fc987ed174e32544a577387ab0df6886495e82
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/builders/builder.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/test/API/functionalities/breakpoint/breakpoint_ids/Makefile
M lldb/test/API/functionalities/breakpoint/breakpoint_locations/Makefile
M lldb/test/API/functionalities/breakpoint/consecutive_breakpoints/Makefile
M lldb/test/API/functionalities/breakpoint/cpp/Makefile
M lldb/test/API/functionalities/breakpoint/dummy_target_breakpoints/Makefile
M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/Makefile
M lldb/test/API/functionalities/breakpoint/step_over_breakpoint/Makefile
M lldb/test/API/functionalities/breakpoint/thread_plan_user_breakpoint/Makefile
M lldb/test/API/functionalities/data-formatter/data-formatter-objc/ObjCDataFormatterTestCase.py
M lldb/test/API/functionalities/data-formatter/nsdictionarysynth/TestNSDictionarySynthetic.py
M lldb/test/API/functionalities/data-formatter/nssetsynth/TestNSSetSynthetic.py
M lldb/test/API/functionalities/data-formatter/poarray/TestPrintObjectArray.py
M lldb/test/API/functionalities/inline-stepping/Makefile
M lldb/test/API/functionalities/postmortem/minidump-new/makefile.txt
M lldb/test/API/lang/objc/orderedset/TestOrderedSet.py
M lldb/test/API/lang/objc/single-entry-dictionary/TestObjCSingleEntryDictionary.py
M lldb/test/API/macosx/macCatalyst/Makefile
M lldb/test/API/macosx/macCatalystAppMacOSFramework/Makefile
M lldb/test/API/macosx/simulator/TestSimulatorPlatform.py
M lldb/test/API/python_api/frame/inlines/Makefile
M lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py
Log Message:
-----------
[lldb][test] Toolchain detection rewrite in Python (#102185)
This fix is based on a problem with cxx_compiler and cxx_linker macros
on Windows.
There was an issue with compiler detection in paths containing "icc". In
such case, Makefile.rules thought it was provided with icc compiler.
To solve that, utilities detection has been rewritten in Python.
The last element of compiler's path is separated, taking into account
the platform path delimiter, and compiler type is extracted, with regard
of possible cross-toolchain prefix.
---------
Co-authored-by: Pavel Labath <pavel at labath.sk>
Commit: ba4bcce5f5ffa9e7d4af72c20fe4f1baf97075fc
https://github.com/llvm/llvm-project/commit/ba4bcce5f5ffa9e7d4af72c20fe4f1baf97075fc
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/combine-narrow-binop.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memset.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-divrem-insertpt-conflict.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-itofp.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-zext-trunc.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
M llvm/test/CodeGen/AMDGPU/constrained-shift.ll
M llvm/test/CodeGen/AMDGPU/ctlz.ll
Log Message:
-----------
[GlobalIsel] Combine trunc of binop (#107721)
trunc (binop X, C) --> binop (trunc X, trunc C) --> binop (trunc X, C`)
Try to narrow the width of math or bitwise logic instructions by pulling
a truncate ahead of binary operators.
Vx and Nx cores consider 32-bit and 64-bit basic arithmetic equal in
costs.
Commit: b88aced1abd8280e305d176c3cc5d85ae720ae50
https://github.com/llvm/llvm-project/commit/b88aced1abd8280e305d176c3cc5d85ae720ae50
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M flang/lib/Lower/PFTBuilder.cpp
A flang/test/Lower/HLFIR/procedure-pointer-in-generics.f90
Log Message:
-----------
[flang][lowering] handle procedure pointers with generic name (#108043)
Handle procedure pointer with the same name as generics in lowering to avoid crashes after #107928.
Commit: 7be6ea124430c3461fb85588d6eb1af70930cfe7
https://github.com/llvm/llvm-project/commit/7be6ea124430c3461fb85588d6eb1af70930cfe7
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
Log Message:
-----------
[Dialect] Avoid repeated hash lookups (NFC) (#108137)
Commit: 7dfaedf86127620821da7d31bf08fe1403f19ffe
https://github.com/llvm/llvm-project/commit/7dfaedf86127620821da7d31bf08fe1403f19ffe
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#108138)
Commit: 4b1b450ae4b8fb9185f337c15315f4f473c3b429
https://github.com/llvm/llvm-project/commit/4b1b450ae4b8fb9185f337c15315f4f473c3b429
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[Transforms] Avoid repeated hash lookups (NFC) (#108139)
Commit: 6ffa7cd8b04ab4b771925d329d7ee8788a3b00ca
https://github.com/llvm/llvm-project/commit/6ffa7cd8b04ab4b771925d329d7ee8788a3b00ca
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
Log Message:
-----------
[Interfaces] Avoid repeated hash lookups (NFC) (#108140)
Commit: 01967e265889a9e242122087c41a97139e84bdc0
https://github.com/llvm/llvm-project/commit/01967e265889a9e242122087c41a97139e84bdc0
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
Log Message:
-----------
[AMDGPU] Shrink a live interval instead of recomputing it. NFCI. (#108171)
Commit: 7a30b9c0f0c9523e29b449d80c695e6d8df0f176
https://github.com/llvm/llvm-project/commit/7a30b9c0f0c9523e29b449d80c695e6d8df0f176
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
Log Message:
-----------
[AMDGPU] Make more use of getWaveMaskRegClass. NFC. (#108186)
Commit: ccc4fa18423f097a9f04d3198cacf094445ffd71
https://github.com/llvm/llvm-project/commit/ccc4fa18423f097a9f04d3198cacf094445ffd71
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/utils/TableGen/Common/OptEmitter.cpp
Log Message:
-----------
[TableGen] Fix MacOS failure in Option Emitter. (#108225)
Handle the case of same pointer used as both inputs to the
`CompareOptionRecords`, to avoid emitting errors for equivalent options.
Follow-up to #107696.
Commit: 35f7cfb22420a7c94b48e54fa28195ada9863d1a
https://github.com/llvm/llvm-project/commit/35f7cfb22420a7c94b48e54fa28195ada9863d1a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/EvaluationResult.cpp
M clang/test/AST/ByteCode/initializer_list.cpp
Log Message:
-----------
[clang][bytecode] Check for Pointer dereference in EvaluationResult (#108207)
We will deref<>() it later, so this is the right check.
Commit: 43da8a7a10237e8cb89e6d776bec81d97b5326d1
https://github.com/llvm/llvm-project/commit/43da8a7a10237e8cb89e6d776bec81d97b5326d1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/abds.ll
M llvm/test/CodeGen/AArch64/abdu.ll
M llvm/test/CodeGen/RISCV/abds.ll
M llvm/test/CodeGen/RISCV/abdu.ll
M llvm/test/CodeGen/X86/abds.ll
M llvm/test/CodeGen/X86/abdu.ll
Log Message:
-----------
[DAG] Add test coverage for ABD "sub of selects" patterns based off #53045
Add tests for "sub(select(icmp(a,b),a,b),select(icmp(a,b),b,a)) -> abd(a,b)" patterns that still fail to match to abd nodes
This will hopefully be helped by #108218
Commit: ee61a4db3c6d21fcbdccd74606e3c050052b8e7c
https://github.com/llvm/llvm-project/commit/ee61a4db3c6d21fcbdccd74606e3c050052b8e7c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
A llvm/test/CodeGen/AMDGPU/maximumnum.ll
A llvm/test/CodeGen/AMDGPU/minimumnum.ll
Log Message:
-----------
AMDGPU: Add tests for minimumnum/maximumnum intrinsics
Vector cases are broken, so leave those for later.
Commit: 1741b9c3d75ee34550210fadb9c6156419c3c892
https://github.com/llvm/llvm-project/commit/1741b9c3d75ee34550210fadb9c6156419c3c892
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-5.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-7.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-8.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-2.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-3.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-4.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-5.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-6.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-7.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-8.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-5.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-7.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-8.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-4-indices-01uu.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-5.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-7.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-8.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-2.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-3.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-4.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-5.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-6.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-7.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-8.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-5.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-6.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-7.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-8.ll
M llvm/test/Analysis/CostModel/X86/interleaved-store-f32-stride-8.ll
M llvm/test/Analysis/CostModel/X86/interleaved-store-f64-stride-8.ll
M llvm/test/Analysis/CostModel/X86/interleaved-store-i64-stride-8.ll
M llvm/test/Analysis/CostModel/X86/masked-interleaved-store-i16.ll
Log Message:
-----------
[LV] Generalize check lines for interleave group costs.
Check cost of all instructions in an interleave group, to prepare for
follow-up changes.
Commit: 9a9f155df1ed13fdc690d713242b13508f6d725e
https://github.com/llvm/llvm-project/commit/9a9f155df1ed13fdc690d713242b13508f6d725e
Author: Tyler Nowicki <tyler.nowicki at amd.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroInternal.h
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
Log Message:
-----------
[Coroutines] Split buildCoroutineFrame into normalization and frame building (#108076)
* Split buildCoroutineFrame into code related to normalization and code
related to actually building the coroutine frame.
* This will enable future specialization of buildCoroutineFrame for
different ABIs while the normalization can be done by splitCoroutine
prior to calling buildCoroutineFrame.
See RFC for more info:
https://discourse.llvm.org/t/rfc-abi-objects-for-coroutines/81057
Commit: 65e0574076b86fd5adb432387c23ce9954fb95c4
https://github.com/llvm/llvm-project/commit/65e0574076b86fd5adb432387c23ce9954fb95c4
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Expand mul X, C where C=2^N*(3,5,9)*(3,5,9) (#108100)
This is a three deep expression which is deeper than we've otherwise
gone for multiple expansions, but I think it's reasonable to do so. This
covers mul by 50, 100, and 200 which are reasonably common naturally
arising numbers.
Commit: 050f785e2c57ce4ad4d788660c898b985a25ffe7
https://github.com/llvm/llvm-project/commit/050f785e2c57ce4ad4d788660c898b985a25ffe7
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/runtime-type-info.cpp
M flang/module/__fortran_type_info.f90
M flang/runtime/assign.cpp
M flang/runtime/descriptor-io.h
M flang/runtime/namelist.cpp
M flang/runtime/type-info.cpp
M flang/runtime/type-info.h
M flang/test/Semantics/typeinfo01.f90
M flang/test/Semantics/typeinfo02.f90
M flang/test/Semantics/typeinfo04.f90
R flang/test/Semantics/typeinfo12.f90
Log Message:
-----------
Revert "[flang][runtime] Fix odd "invalid descriptor" runtime crash (#107785)"
This reverts commit 15106c26662a573df31e8dfdd9350c313b8bfd84. Commit does
not pass check-flang on x86 host.
Commit: 35e27c0ee51f2822415c050c1cc4a73dfaa171d7
https://github.com/llvm/llvm-project/commit/35e27c0ee51f2822415c050c1cc4a73dfaa171d7
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIModeRegister.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w32.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w64.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fptosi.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fptoui.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-sitofp.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-uitofp.mir
A llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-fake16.mir
A llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16.mir
M llvm/test/CodeGen/AMDGPU/mode-register-fptrunc.mir
M llvm/test/CodeGen/AMDGPU/schedule-regpressure-ilp-metric-spills.mir
M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC] 16bit vsrc and vdst support in MC (#104510)
This is a large patch includes the MC level support for V_CVT_F16_F32,
V_CVT_F32_F16 and V_LDEXP_F16 in true16 format.
This patch includes the asm/disasm changes to encode/decode the 16bit
vsrc, vdst and src modifieres for vop and dpp format. This patch is a
dependency for many 16 bit instructions while only three instructions
are updated to make it easier to review.
There will be another patch to support these three instructions in the
codeGen level, this patch just replaces these two instructions with its
fake16 format.
Commit: ccc52a817fb4b7579f2749d4242eff91371040f7
https://github.com/llvm/llvm-project/commit/ccc52a817fb4b7579f2749d4242eff91371040f7
Author: Nicolas Miller <nicolas.miller at codeplay.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Remove dead code in SIISelLowering (NFC) (#108198)
This return is dead code as the return just above will always be taken.
Commit: 2a4992e9e34de6b74aa8c254fea867d1271b3e97
https://github.com/llvm/llvm-project/commit/2a4992e9e34de6b74aa8c254fea867d1271b3e97
Author: ofri frishman <32477595+ofri-frishman at users.noreply.github.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/include/llvm/Support/Casting.h
Log Message:
-----------
Fix mistake in comment regarding dyn_cast_or_null (#108026)
There was a mistake in a comment regarding dyn_cast_or_null deprication.
It was suggested to use cast_if_present instead of dyn_cast_or_null, but
that was probably a copy paste mistake, and dyn_cast_if_present is the
function that should be used instead of dyn_cast_or_null.
Authored-by: Ofri Frishman <ofri.frishman at mobileye.com>
Commit: 512cecad4c384c84b79fea050a755cb7e46c6ac5
https://github.com/llvm/llvm-project/commit/512cecad4c384c84b79fea050a755cb7e46c6ac5
Author: Clement Courbet <courbet at google.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/lib/Tooling/Transformer/Stencil.cpp
M clang/unittests/Tooling/StencilTest.cpp
Log Message:
-----------
[clang][transformer] Make `describe()` terser for `NamedDecl`s. (#108215)
Right now `describe()`ing a `FunctionDecl` dups the whole code of the
function. Dump only its name.
Commit: 7858e14547c509c95503b74ff8ffc7bf2fc5b110
https://github.com/llvm/llvm-project/commit/7858e14547c509c95503b74ff8ffc7bf2fc5b110
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/use-iv-start-value.ll
Log Message:
-----------
[LV] Amend check for IV increments in collectUsersInEntryBlock (#108020)
The check for IV increments in collectUsersInEntryBlock currently
triggers for exit-block PHIs which use the IV start value, resulting in
us failing to add the input value for the middle block to these PHIs.
Fix this by amending the check for IV increments to only include
incoming values that are instructions inside the loop.
Fixes #108004
Commit: 37865681962798a23f877562b44d241457c94bba
https://github.com/llvm/llvm-project/commit/37865681962798a23f877562b44d241457c94bba
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/CodeEmitterGen.cpp
M llvm/utils/TableGen/CodeGenMapTable.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
M llvm/utils/TableGen/Common/CodeGenInstruction.cpp
M llvm/utils/TableGen/Common/CodeGenInstruction.h
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/TableGen/Common/DAGISelMatcher.h
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/Common/VarLenCodeEmitterGen.cpp
M llvm/utils/TableGen/DAGISelEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/FastISelEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
M llvm/utils/TableGen/InstrDocsEmitter.cpp
M llvm/utils/TableGen/X86FoldTablesEmitter.cpp
Log Message:
-----------
[TableGen] Change CodeGenInstruction record members to const (#107921)
Change CodeGenInstruction::{TheDef, InfereredFrom} to const pointers.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: ffa2f539ae2a4e79c01b3d54f8b12c63d8781a0c
https://github.com/llvm/llvm-project/commit/ffa2f539ae2a4e79c01b3d54f8b12c63d8781a0c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M lldb/include/lldb/Core/SourceManager.h
M lldb/source/Core/SourceManager.cpp
A lldb/test/Shell/SymbolFile/Inputs/main.c
A lldb/test/Shell/SymbolFile/checksum-mismatch.test
Log Message:
-----------
[lldb] Print a warning on checksum mismatch (#107968)
Print a warning when the debugger detects a mismatch between the MD5
checksum in the DWARF 5 line table and the file on disk. The warning is
printed only once per file.
Commit: 2b452b455eefa0d91f59fefb8caf063983a72a02
https://github.com/llvm/llvm-project/commit/2b452b455eefa0d91f59fefb8caf063983a72a02
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/Common/SubtargetFeatureInfo.cpp
M llvm/utils/TableGen/Common/SubtargetFeatureInfo.h
M llvm/utils/TableGen/InstrInfoEmitter.cpp
Log Message:
-----------
[TableGen] Change SubtargetFeatureInfo to use const Record pointers (#108013)
Change SubtargetFeatureInfo to use const Record pointers.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 7c6592f5a368e17c2b15469042c33a4e1cb7a0ff
https://github.com/llvm/llvm-project/commit/7c6592f5a368e17c2b15469042c33a4e1cb7a0ff
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
M llvm/utils/TableGen/Common/InfoByHwMode.cpp
M llvm/utils/TableGen/Common/InfoByHwMode.h
Log Message:
-----------
[TableGen] Change CodeGenRegister to use const Record pointer (#108027)
Change CodeGenRegister to use const Record pointer.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 463c9d29664a27e3cb6d07928f44bd50064d3898
https://github.com/llvm/llvm-project/commit/463c9d29664a27e3cb6d07928f44bd50064d3898
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/utils/TableGen/ASTTableGen.cpp
M clang/utils/TableGen/ASTTableGen.h
Log Message:
-----------
[clang][TableGen] Change ASTTableGen to use const Record pointers (#108193)
Change ASTTableGen to use const Record pointers.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 970e2c1fe7e1fffb5de6aeaa18d84db406ba4c29
https://github.com/llvm/llvm-project/commit/970e2c1fe7e1fffb5de6aeaa18d84db406ba4c29
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[clang][TableGen] Change Builtins emitter to use const RecordKeeper (#108195)
Change Builtins emitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: ff7eb1d0e900a6180e300a6f6a88ab3b12d80fc9
https://github.com/llvm/llvm-project/commit/ff7eb1d0e900a6180e300a6f6a88ab3b12d80fc9
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
Log Message:
-----------
[AMDGPU] Simplify API of matchFPExtFromF16. NFC. (#108223)
Commit: 3cfc733c96e67aa7444fd9af4c56c8b8010e6c8f
https://github.com/llvm/llvm-project/commit/3cfc733c96e67aa7444fd9af4c56c8b8010e6c8f
Author: Marc Auberer <marc.auberer at chillibits.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/DenseSet.h
Log Message:
-----------
[ADT][NFC] Clang-format DenseMap and DenseSet (#108162)
This is a preparation for upcoming changes to Dense[Map|Set] regarding
hardening against OOM scenarios (see [this
RFC](https://discourse.llvm.org/t/rfc-malfunction-safe-densemap-denseset/81036/7)).
We have changed a lot of code inside Dense[Map|Set] and this preparation
change helps to isolate the relevant parts from pure formatting stuff.
Commit: d5bc1f4a16194a41585240568c2818d163c6055b
https://github.com/llvm/llvm-project/commit/d5bc1f4a16194a41585240568c2818d163c6055b
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
Log Message:
-----------
[SandboxVec][NFC] Rename a variable
Commit: 30fbfe577efd0f70cf3d745d7d89170666239d67
https://github.com/llvm/llvm-project/commit/30fbfe577efd0f70cf3d745d7d89170666239d67
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-12 (Thu, 12 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Reorder zvfbfmin operation actions to match zvfhmin. NFC
This makes it slightly easier to see what's different between the two.
Commit: e55d6f5ea2656bf842973d8bee86c3ace31bc865
https://github.com/llvm/llvm-project/commit/e55d6f5ea2656bf842973d8bee86c3ace31bc865
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIPreAllocateWWMRegs.cpp
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-no-rtn.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-rtn.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f32-no-rtn.ll
M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f32-rtn.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.chain.arg.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/AMDGPU/wqm.mir
M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
Log Message:
-----------
[AMDGPU] Simplify and improve codegen for llvm.amdgcn.set.inactive (#107889)
Always generate v_cndmask_b32 instead of modifying exec around
v_mov_b32. This is expected to be faster because
modifying exec generally causes pipeline stalls.
Commit: a54efdbdc474e8d3f249ce5f3d7b3bca8edb8f78
https://github.com/llvm/llvm-project/commit/a54efdbdc474e8d3f249ce5f3d7b3bca8edb8f78
Author: Arteen Abrishami <114886331+arteen1000 at users.noreply.github.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/include/mlir/Dialect/Tosa/Utils/ConversionUtils.h
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-pipeline.mlir
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/ops.mlir
Log Message:
-----------
[MLIR][TOSA] add additional verification to TOSA (#108133)
----------
Motivation:
----------
Spec conformance. Allows assumptions to be made in TOSA code.
------------
Changes Made:
------------
Add full permutation tensor verification to tosa.TRANSPOSE. Priorly
would not verify that permuted values were between 0 - (rank - 1).
Update tosa.TRANSPOSE perms data type to be strictly i32.
Verify input/output shapes for tosa.TRANSPOSE.
Add verifier to tosa.CONST, with consideration for quantization.
Fix TOSA conformance of tensor type to disallow dimensions with size 0
for ranked tensors, per spec.
This is not the same as rank 0 tensors. Here is an example of a
disallowed tensor: tensor<3x0xi32>. Naturally, this means that the
number of elements in a TOSA tensor will always be greater than 0.
Signed-off-by: Arteen Abrishami <arteen.abrishami at arm.com>
Commit: 779a444009da190c47a2f820395ca001abc29b62
https://github.com/llvm/llvm-project/commit/779a444009da190c47a2f820395ca001abc29b62
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M libc/src/stdlib/atexit.cpp
M libc/src/stdlib/quick_exit.cpp
M libc/startup/linux/do_start.cpp
Log Message:
-----------
[libc] fix tls teardown while being used (#108229)
The call chain to `Mutex:lock` can be polluted by stack protector. For
completely safe, let's postpone the main TLS tearing down to a separate
phase.
fix #108030
Commit: fa4a631fc63bdd9ffe5598bcc744656cea6fdb56
https://github.com/llvm/llvm-project/commit/fa4a631fc63bdd9ffe5598bcc744656cea6fdb56
Author: Chris B <chris.bieneman at me.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/test/CodeGenHLSL/loops/unroll.hlsl
Log Message:
-----------
[NFC] [HLSL] Update test for HLSL 202x (#108097)
HLSL 202x inherits from C++11, which generates additional loop hint
information for loops that must progress. Since HLSL 202x is going to be
the default for Clang we want to make sure all our tests pass with it.
Required for https://github.com/llvm/llvm-project/issues/108044
Commit: d8e124dffaaea142d17b9911fc4de91039c8d1b1
https://github.com/llvm/llvm-project/commit/d8e124dffaaea142d17b9911fc4de91039c8d1b1
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
A libc/hdr/link_macros.h
A libc/hdr/sys_auxv_macros.h
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/__support/OSUtil/linux/aarch64/CMakeLists.txt
A libc/src/__support/OSUtil/linux/aarch64/vdso.h
M libc/src/__support/OSUtil/linux/arm/CMakeLists.txt
A libc/src/__support/OSUtil/linux/arm/vdso.h
M libc/src/__support/OSUtil/linux/riscv/CMakeLists.txt
A libc/src/__support/OSUtil/linux/riscv/vdso.h
A libc/src/__support/OSUtil/linux/vdso.cpp
A libc/src/__support/OSUtil/linux/vdso.h
A libc/src/__support/OSUtil/linux/vdso_sym.h
M libc/src/__support/OSUtil/linux/x86_64/CMakeLists.txt
A libc/src/__support/OSUtil/linux/x86_64/vdso.h
M libc/src/sys/auxv/getauxval.h
M libc/test/src/__support/OSUtil/linux/CMakeLists.txt
A libc/test/src/__support/OSUtil/linux/vdso_test.cpp
Log Message:
-----------
[libc] implement vdso (#91572)
Commit: 2f321fac722e6c7913825f003c194b923d027354
https://github.com/llvm/llvm-project/commit/2f321fac722e6c7913825f003c194b923d027354
Author: Julian Schmidt <git.julian.schmidt at gmail.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.cpp
Log Message:
-----------
[NFC][clang-tidy] fix tests of deleted functions for missing-std-forward (#106861)
Since #87832, unnamed identifiers are excluded from being diagnosed. As
a result, the tests that were supposed to test that deleted functions
are correctly ignored, are ignored because of the unnamed identifiers
instead of the deleted function. This change simply introduces names for
the parameters of the deleted functions.
Commit: 866b93e6b33fac9a4bc62bbc32199bd98f434784
https://github.com/llvm/llvm-project/commit/866b93e6b33fac9a4bc62bbc32199bd98f434784
Author: Jonathon Penix <jpenix at quicinc.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/machineoutliner-pcrel-lo.mir
Log Message:
-----------
[RISCV] Don't outline pcrel_lo when the function has a section prefix (#107943)
GNU ld will error when encountering a pcrel_lo whose corresponding
pcrel_hi is in a different section. [1] introduced a check to help
prevent this issue by preventing outlining in a few circumstances.
However, we can also hit this same issue when outlining from functions
with prefixes ("hot"/"unlikely"/"unknown" from profile information, for
example) as the outlined function might not have the same prefix,
possibly resulting in a "paired" pcrel_lo and pcrel_hi ending up in
different sections.
To prevent this issue, take a similar approach as [1] and additionally
prevent outlining when we see a pcrel_lo and the function has a prefix.
[1]
https://github.com/llvm/llvm-project/commit/96c85f80f0d615ffde0f85d8270e0a8c9f4e5430
Fixes #107520
Commit: 415288a2a7db0f55f5f6f0866e8f61faf86bf6fd
https://github.com/llvm/llvm-project/commit/415288a2a7db0f55f5f6f0866e8f61faf86bf6fd
Author: Brendan Dahl <brendan.dahl at gmail.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/test/CodeGen/WebAssembly/half-precision.ll
Log Message:
-----------
[WebAssembly] Add load and store patterns for V8F16. (#108119)
Commit: c076638c702b1d43e8f1c4a813deb3c09b748abb
https://github.com/llvm/llvm-project/commit/c076638c702b1d43e8f1c4a813deb3c09b748abb
Author: Brendan Dahl <brendan.dahl at gmail.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/test/CodeGen/WebAssembly/half-precision.ll
Log Message:
-----------
[WebAssembly] Support BUILD_VECTOR with F16x8. (#108117)
Convert BUILD_VECTORS with FP16x8 to I16x8 since there's no FP16 scalar
value to intialize v128.const.
Commit: 7721db489630166a220cfc27051d6259588229e1
https://github.com/llvm/llvm-project/commit/7721db489630166a220cfc27051d6259588229e1
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[WebKit Static Analyzer] Treat WTFReportBacktrace as a trivial function. (#108167)
Treat WTFReportBacktrace, which prints out the backtrace, as trivial.
Commit: 0d48d4d835ec7a2e4d59a8fe4c26dc9823cee56a
https://github.com/llvm/llvm-project/commit/0d48d4d835ec7a2e4d59a8fe4c26dc9823cee56a
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
Log Message:
-----------
[mlir][AMDGPU] Support vector<2xf16> inputs to buffer atomic fadd (#108238)
Extend the lowering of atomic.fadd to support the v2f16 variant
avaliable on some AMDGPU chips.
Co-authored-by: Giuseppe Rossini <giuseppe.rossini at amd.com>
Commit: cb031267bd7a5946dfd6e46e9a5441ddca057b47
https://github.com/llvm/llvm-project/commit/cb031267bd7a5946dfd6e46e9a5441ddca057b47
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
Log Message:
-----------
Revert "[mlir][AMDGPU] Support vector<2xf16> inputs to buffer atomic fadd (#108238)" (#108256)
This reverts commit 0d48d4d835ec7a2e4d59a8fe4c26dc9823cee56a.
Mistakenly landed without approval
Commit: b7b28e770c461b2513ddc98953c6e019cb2f29a4
https://github.com/llvm/llvm-project/commit/b7b28e770c461b2513ddc98953c6e019cb2f29a4
Author: Artem Belevich <tra at google.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
Log Message:
-----------
[NVPTX] Improve copy avoidance during lowering. (#106423)
On newer GPUs, where `cvta.param` instruction is available we can avoid
making byval arguments when their pointers are used in a few more cases,
even when `__grid_constant__` is not specified.
- phi
- select
- memcpy from the parameter.
Switched pointer traversal from a DIY implementation to PtrUseVisitor.
Commit: 96b7c64b8a874584a9dad44bb8901904c14701c0
https://github.com/llvm/llvm-project/commit/96b7c64b8a874584a9dad44bb8901904c14701c0
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M lldb/include/lldb/API/SBMemoryRegionInfo.h
M lldb/include/lldb/API/SBSaveCoreOptions.h
M lldb/include/lldb/Symbol/SaveCoreOptions.h
A lldb/include/lldb/Target/CoreFileMemoryRanges.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Utility/RangeMap.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/include/lldb/lldb-forward.h
M lldb/include/lldb/lldb-private-interfaces.h
M lldb/source/API/SBSaveCoreOptions.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
M lldb/source/Symbol/SaveCoreOptions.cpp
M lldb/source/Target/CMakeLists.txt
A lldb/source/Target/CoreFileMemoryRanges.cpp
M lldb/source/Target/Process.cpp
M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
M lldb/unittests/Process/Utility/CMakeLists.txt
A lldb/unittests/Process/Utility/CoreFileMemoryRangesTest.cpp
Log Message:
-----------
[LLDB] Reapply SBSaveCore Add Memory List (#107937)
Recently in #107731 this change was revereted due to excess memory size
in `TestSkinnyCore`. This was due to a bug where a range's end was being
passed as size. Creating massive memory ranges.
Additionally, and requiring additional review, I added more unit tests
and more verbose logic to the merging of save core memory regions.
@jasonmolenda as an FYI.
Commit: f02c72f9f996b2ef99886d345d87f6c62a3ee897
https://github.com/llvm/llvm-project/commit/f02c72f9f996b2ef99886d345d87f6c62a3ee897
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn
Log Message:
-----------
[gn build] Port 96b7c64b8a87
Commit: 943182e3112756de8982babad6b5c8e74fdf8d02
https://github.com/llvm/llvm-project/commit/943182e3112756de8982babad6b5c8e74fdf8d02
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[clang][TableGen] Change comment command emitter to const RecordKeeper (#108199)
Change comment command emitter to const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: dca9f21724c2206973b78ddc3ab3327b85f1e3ec
https://github.com/llvm/llvm-project/commit/dca9f21724c2206973b78ddc3ab3327b85f1e3ec
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[clang][TableGen] Change HTML Emitter to use const RecordKeeper (#108201)
Change HTMLNamedCharacterReferenceEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: e382b0c9972b4a3cf6c4bc21be50e12b76a488bd
https://github.com/llvm/llvm-project/commit/e382b0c9972b4a3cf6c4bc21be50e12b76a488bd
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/utils/TableGen/ClangCommentHTMLTagsEmitter.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[clang][TableGen] Change HTML Tags emitter to use const RecordKeeper (#108202)
Change HTML Tags emitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 07dc9b838efc32647aeafbf7325e3d710412a0bf
https://github.com/llvm/llvm-project/commit/07dc9b838efc32647aeafbf7325e3d710412a0bf
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/utils/TableGen/ClangDataCollectorsEmitter.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[clang][TableGen] Change DataCollector to use const RecordKeeper (#108203)
Change DataCollectors Emitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 0767027f363f81157657549a5db9ff9daf9198a5
https://github.com/llvm/llvm-project/commit/0767027f363f81157657549a5db9ff9daf9198a5
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[clang][TableGen] Change Opcode Emitter to use const RecordKeeper (#108211)
Change Opcode Emitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 7c53a7aae7947bd3a400d6b5713fe31dcfb46648
https://github.com/llvm/llvm-project/commit/7c53a7aae7947bd3a400d6b5713fe31dcfb46648
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[clang][TableGen] Change OpenCL emitter to use const RecordKeeper (#108213)
Change OpenCL builtins emitter to use const RecordKeeper
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 8625eb0b87c86d3ef42a365d7593eed664b379e8
https://github.com/llvm/llvm-project/commit/8625eb0b87c86d3ef42a365d7593eed664b379e8
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[clang][TableGen] Change OptionDoc Emitter to use const RecordKeeper (#108216)
Change OptionDoc Emitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 1896ee38898a73ea9c2894e848884c8999884ab1
https://github.com/llvm/llvm-project/commit/1896ee38898a73ea9c2894e848884c8999884ab1
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/config/config.json
M libc/docs/configure.rst
M libc/src/__support/CMakeLists.txt
M libc/src/__support/macros/CMakeLists.txt
A libc/src/__support/macros/null_check.h
M libc/src/__support/macros/sanitizer.h
M libc/src/__support/str_to_float.h
M libc/test/src/compiler/CMakeLists.txt
M libc/test/src/compiler/stack_chk_guard_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/nan_test.cpp
M libc/test/src/math/smoke/nanf128_test.cpp
M libc/test/src/math/smoke/nanf16_test.cpp
M libc/test/src/math/smoke/nanf_test.cpp
M libc/test/src/math/smoke/nanl_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Fix undefined behavior for nan functions. (#106468)
Currently the nan* functions use nullptr dereferencing to crash with
SIGSEGV if the input is nullptr. Both `nan(nullptr)` and `nullptr`
dereferencing are undefined behaviors according to the C standard.
Employing `nullptr` dereference in the `nan` function implementation is
ok if users only linked against the pre-built library, but it might be
completely removed by the compilers' optimizations if it is built from
source together with the users' code.
See for instance: https://godbolt.org/z/fd8KcM9bx
This PR uses volatile load to prevent the undefined behavior if libc is
built without sanitizers, and leave the current undefined behavior if
libc is built with sanitizers, so that the undefined behavior can be
caught for users' codes.
Commit: be770edee59310b158bf3a30ddc2645007ab8da3
https://github.com/llvm/llvm-project/commit/be770edee59310b158bf3a30ddc2645007ab8da3
Author: Sam Clegg <sbc at chromium.org>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
A lld/test/wasm/static-error.s
M lld/wasm/Driver.cpp
Log Message:
-----------
[lld][WebAssembly] Reject shared libraries when `-static`/`-Bstatic` is used (#108263)
This matches the behaviour of GNU ld and the ELF version of lld.
Commit: e3f936eb755d9ae37019ffcc7f53d71d2d58d188
https://github.com/llvm/llvm-project/commit/e3f936eb755d9ae37019ffcc7f53d71d2d58d188
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/include/llvm/Analysis/MemorySSA.h
M llvm/include/llvm/IR/Constant.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/DerivedUser.h
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/IR/GlobalAlias.h
M llvm/include/llvm/IR/GlobalIFunc.h
M llvm/include/llvm/IR/GlobalObject.h
M llvm/include/llvm/IR/GlobalValue.h
M llvm/include/llvm/IR/GlobalVariable.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/User.h
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/ConstantsContext.h
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/User.cpp
Log Message:
-----------
Don't rely on undefined behavior to store how a `User` object's allocation is laid out (#105714)
In `User::operator new` a single allocation is created to store the
`User` object itself, "intrusive" operands or a pointer for "hung off"
operands, and the descriptor. After allocation, details about the layout
(number of operands, how the operands are stored, if there is a
descriptor) are stored in the `User` object by settings its fields. The
`Value` and `User` constructors are then very careful not to initialize
these fields so that the values set during allocation can be
subsequently read. However, when the `User` object is returned from
`operator new` [its value is technically "indeterminate" and so reading
a field without first initializing it is undefined behavior (and will be
erroneous in
C++26)](https://en.cppreference.com/w/cpp/language/default_initialization#Indeterminate_and_erroneous_values).
We discovered this issue when trying to build LLVM using MSVC's [`/sdl`
flag](https://learn.microsoft.com/en-us/cpp/build/reference/sdl-enable-additional-security-checks?view=msvc-170)
which clears class fields after allocation (the docs say that this
feature shouldn't be turned on for custom allocators and should only
clear pointers, but that doesn't seem to match the implementation).
MSVC's behavior both with and without the `/sdl` flag is standards
conforming since a program is supposed to initialize storage before
reading from it, thus the compiler implementation changing any values
will never be observed in a well-formed program. The standard also
provides no provisions for making storage bytes not indeterminate by
setting them during allocation or `operator new`.
The fix for this is to create a set of types that encode the layout and
provide these to both `operator new` and the constructor:
* The `AllocMarker` types are used to select which `operator new` to
use.
* `AllocMarker` can then be implicitly converted to a `AllocInfo` which
tells the constructor how the type was laid out.
Commit: 666a3f4ed4f62a9b1b732dae6a34a66d31217563
https://github.com/llvm/llvm-project/commit/666a3f4ed4f62a9b1b732dae6a34a66d31217563
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M libc/startup/gpu/amdgpu/start.cpp
M libc/startup/gpu/nvptx/start.cpp
Log Message:
-----------
[libc] Stub TLS functions on the GPU temporarily (#108267)
Summary:
There's an extern weak symbol for this, we should just factor these into
a more common interface. Stub them temporarily to make the bots happy.
PTXAS does not handle extern weak.
Commit: bd4e0dfa945fb7fe73801bcee63c21aa8123b928
https://github.com/llvm/llvm-project/commit/bd4e0dfa945fb7fe73801bcee63c21aa8123b928
Author: vporpo <vporpodas at google.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/benchmarks/SandboxIRBench.cpp
Log Message:
-----------
[SandboxIR][Bench] Benchmark RUOW (#107456)
This patch adds a benchmark for ReplaceUsesOfWith().
Commit: c3d39cbb9a5e76f253c865dd544ccdf8eec95029
https://github.com/llvm/llvm-project/commit/c3d39cbb9a5e76f253c865dd544ccdf8eec95029
Author: Marc Auberer <marc.auberer at chillibits.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
[ADT][NFC] Constexpr-ify if in DenseMap::clear (#108243)
Make if constexpr due to constexpr condition.
Commit: bbff52bfd49336bc0fdc83d8dfc616266bc07cbf
https://github.com/llvm/llvm-project/commit/bbff52bfd49336bc0fdc83d8dfc616266bc07cbf
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M libcxx/include/__pstl/backend.h
M libcxx/include/__pstl/backend_fwd.h
M libcxx/include/__pstl/backends/default.h
M libcxx/include/__pstl/backends/libdispatch.h
M libcxx/include/__pstl/backends/serial.h
M libcxx/include/__pstl/backends/std_thread.h
M libcxx/include/__pstl/cpu_algos/any_of.h
M libcxx/include/__pstl/cpu_algos/cpu_traits.h
M libcxx/include/__pstl/cpu_algos/fill.h
M libcxx/include/__pstl/cpu_algos/find_if.h
M libcxx/include/__pstl/cpu_algos/for_each.h
M libcxx/include/__pstl/cpu_algos/merge.h
M libcxx/include/__pstl/cpu_algos/stable_sort.h
M libcxx/include/__pstl/cpu_algos/transform.h
M libcxx/include/__pstl/cpu_algos/transform_reduce.h
M libcxx/include/__pstl/dispatch.h
M libcxx/include/__pstl/handle_exception.h
Log Message:
-----------
[libc++] Guard PSTL headers with >= C++17 (#108234)
Otherwise we fail to build with modules in C++03 mode once we migrate to
a single top-level module, because those headers get pulled in but they
don't compile as C++03.
Commit: 118f120eaab8d763b28c71f0d2e2c1e0c752832b
https://github.com/llvm/llvm-project/commit/118f120eaab8d763b28c71f0d2e2c1e0c752832b
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__config
R libcxx/include/experimental/__config
M libcxx/include/experimental/__simd/aligned_tag.h
M libcxx/include/experimental/__simd/declaration.h
M libcxx/include/experimental/__simd/reference.h
M libcxx/include/experimental/__simd/scalar.h
M libcxx/include/experimental/__simd/simd.h
M libcxx/include/experimental/__simd/simd_mask.h
M libcxx/include/experimental/__simd/traits.h
M libcxx/include/experimental/__simd/utility.h
M libcxx/include/experimental/__simd/vec_ext.h
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/module.modulemap
M libcxx/src/any.cpp
M libcxx/src/optional.cpp
Log Message:
-----------
[libc++] Get rid of experimental/__config (#108233)
It doesn't serve much of a purpose since we can easily put its contents
inside __config. Removing it simplifies the modulemap once we are trying
to create a single top-level module.
Commit: 882f21ec87abd960b7ce3e10225f2bfeda3e1f74
https://github.com/llvm/llvm-project/commit/882f21ec87abd960b7ce3e10225f2bfeda3e1f74
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[WebKit Checkers] Allow "singleton" suffix to be camelCased. (#108257)
We should allow singleton and fooSingleton as singleton function names.
Commit: aabb0121eece5243aca847cf2962f6464679c3c4
https://github.com/llvm/llvm-project/commit/aabb0121eece5243aca847cf2962f6464679c3c4
Author: Matteo Franciolini <mfranciolini at tesla.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
Log Message:
-----------
[mlir][bufferization] Fix OpFilter::denyDialect (#108249)
The implementation would crash with unloaded dialects.
Commit: b06954a5d02a41a38b72f7914c791428ccd95318
https://github.com/llvm/llvm-project/commit/b06954a5d02a41a38b72f7914c791428ccd95318
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
A clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.mm
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Allow protector functions in Objective-C++ (#108184)
This PR fixes the bug that WebKit checkers didn't recognize the return
value of an Objective-C++ selector which returns Ref or RefPtr to be
safe.
Commit: 0cfa5abd9ddb59bb4dfd8690ba9f8634cfc48e78
https://github.com/llvm/llvm-project/commit/0cfa5abd9ddb59bb4dfd8690ba9f8634cfc48e78
Author: vporpo <vporpodas at google.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/benchmarks/SandboxIRBench.cpp
Log Message:
-----------
[SandboxIR][Bench] Add tests with tracking enabled (#108273)
Benchmarks RAUW and RUOW when tracking is enabled.
Commit: 4570984e7fe7409cec10d2305fb43c0b52806683
https://github.com/llvm/llvm-project/commit/4570984e7fe7409cec10d2305fb43c0b52806683
Author: Saleem Abdulrasool <abdulras at thebrowser.company>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/aarch64.c
Log Message:
-----------
builtins: honour `_M_ARM64` as `__aarch64__`
When clang is used as `clang-cl`, we use MSVC style macros. The spelling
of `__aarch64__` is converted to `_M_ARM64`. Account for this
alternative spelling in the conditional check. While in the area, add a
tertiary spelling of `__arm64__` to ensure that we catch more of the
variants.
Commit: 108ed9d9fe33abc7337350329d048ec3000b1cb6
https://github.com/llvm/llvm-project/commit/108ed9d9fe33abc7337350329d048ec3000b1cb6
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M flang/lib/Semantics/expression.cpp
Log Message:
-----------
[flang] Remove a leftover debugging message. (#108175)
Commit: c31d343857f514dde9146279797ebdcd4010e60b
https://github.com/llvm/llvm-project/commit/c31d343857f514dde9146279797ebdcd4010e60b
Author: Nirvedh Meshram <96096277+nirvedhmeshram at users.noreply.github.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
Log Message:
-----------
Update legalizations for LowerGpuOpsToROCDLOps (#108266)
LLVM::FAbsOp and LLVM::SqrtOp are legal after
https://github.com/llvm/llvm-project/pull/102971
Commit: b8239e1201f5871bed5b633b76fa9536672f287f
https://github.com/llvm/llvm-project/commit/b8239e1201f5871bed5b633b76fa9536672f287f
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/lib/Sema/HLSLExternalSemaSource.cpp
A clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
A clang/test/CodeGenHLSL/builtins/StructuredBuffer-annotations.hlsl
A clang/test/CodeGenHLSL/builtins/StructuredBuffer-constructor.hlsl
A clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/builtins/StructuredBuffer-subscript.hlsl
A clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
Log Message:
-----------
[HLSL] Add StructuredBuffer to external sema source (#106316)
This PR adds `StructuredBuffer` to `HLSLExternalSemaSource.cpp`, by
copying the logic from RWBuffer but just replacing the name with
StructuredBuffer. The change now allows StructuredBuffers to be defined
in HLSL, though they function the same as RWBuffers.
Further work to apply the appropriate attributes that distinguish
StructuredBuffers from other Buffer types will be deferred.
This improves our position on
https://github.com/llvm/llvm-project/issues/106189
Commit: ea83e1c05a5adee5d8f9e680356ee57556ba64a1
https://github.com/llvm/llvm-project/commit/ea83e1c05a5adee5d8f9e680356ee57556ba64a1
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-5.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-7.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-8.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-2.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-3.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-4.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-5.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-6.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-7.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-8.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-5.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-7.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-8.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-4-indices-01uu.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-5.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-7.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-8.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-2.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-3.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-4.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-5.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-6.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-7.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-8.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-5.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-7.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-8.ll
M llvm/test/Analysis/CostModel/X86/interleaved-store-f64-stride-8.ll
M llvm/test/Analysis/CostModel/X86/interleaved-store-i64-stride-8.ll
M llvm/test/Analysis/CostModel/X86/masked-interleaved-store-i16.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaved-vs-scalar.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaved_cost.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-interleaved-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/mem-interleaving-costs-03.ll
Log Message:
-----------
[LV] Assign cost to all interleave members when not interleaving.
At the moment, the full cost of all interleave group members is assigned
to the instruction at the group's insert position, even if the decision
was to not form an interleave group.
This can lead to inaccurate cost estimates, e.g. if the instruction at
the insert position is dead. If the decision is to not vectorize but
scalarize or scather/gather, then the cost will be to total cost for all
members. In those cases, assign individual the cost per member, to more
closely reflect to choice per instruction.
This fixes a divergence between legacy and VPlan-based cost model.
Fixes https://github.com/llvm/llvm-project/issues/108098.
Commit: 956591bec5ffe5d293c4ac8044686f56ba8c118c
https://github.com/llvm/llvm-project/commit/956591bec5ffe5d293c4ac8044686f56ba8c118c
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
Log Message:
-----------
[SandboxIR] Add remaining SelectInst methods and track swapValues() (#108114)
Commit: b3f3c0c63358b412348022d10308b97332d02bcd
https://github.com/llvm/llvm-project/commit/b3f3c0c63358b412348022d10308b97332d02bcd
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/lib/CodeGen/Targets/AArch64.cpp
Log Message:
-----------
[clang][AArch64] Put soft-float ABI checks under isSoftFloat(). NFC
Commit: 9c0ba62010b5850adf6b4c3979128aa6e9189aca
https://github.com/llvm/llvm-project/commit/9c0ba62010b5850adf6b4c3979128aa6e9189aca
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/test/Transforms/PGOProfile/ctx-prof-use-prelink.ll
Log Message:
-----------
[ctx_prof] Relax the "profile use" case around `PGOOpt` (#108265)
`PGOOpt` could have a value if, for instance, debug info for profiling
is requested. Relaxing the requirement, for now, following that
eventually we would factor `PGOOpt` to better capture the supported
interplay between the various profiling options.
Commit: c2b93e0671d8cfd6b1a24c6e1d7be290125b8974
https://github.com/llvm/llvm-project/commit/c2b93e0671d8cfd6b1a24c6e1d7be290125b8974
Author: Xiaofeng Tian <110771974+txff99 at users.noreply.github.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/tools/llvm-dis/llvm-dis.cpp
Log Message:
-----------
update llvm-dis header with available options (#108073)
update llvm-dis header options
Closes #108069
Commit: 5c7957dd4f12e7c9128068c5ed92464cdc59947e
https://github.com/llvm/llvm-project/commit/5c7957dd4f12e7c9128068c5ed92464cdc59947e
Author: David Green <david.green at arm.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/fp-conversion-to-tbl.ll
Log Message:
-----------
[AArch64] Allow i16->f64 uitofp tbl shuffles
Just as we convert i8->f32 uitofp to tbl to perform the zext, we can do the
same for i16->f64.
Commit: 63d8bd27275458ccd5fd4010671ad781b0a3698c
https://github.com/llvm/llvm-project/commit/63d8bd27275458ccd5fd4010671ad781b0a3698c
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/primary64.h
Log Message:
-----------
[scudo] Add thread-safety annotation on getMemoryGroupFragmentationIn… (#108277)
Add thread-safety annotation on getMemoryGroupFragmentationInfoInRegion
Commit: 60efbe99cb2ad19373d07de4806472094258508e
https://github.com/llvm/llvm-project/commit/60efbe99cb2ad19373d07de4806472094258508e
Author: Chris Apple <cja-private at pm.me>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/docs/RealtimeSanitizer.rst
Log Message:
-----------
[NFC][rtsan] Docs of how to disable rtsan (#107707)
Commit: 54c6e1c3f51758469cc06cbcc2ad28af210fc004
https://github.com/llvm/llvm-project/commit/54c6e1c3f51758469cc06cbcc2ad28af210fc004
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] Move a non-power-of-two bailout down slightly
The first part of CheckForShuffledLoads isn't doing any subvector
analysis, so it's perfectly safe for arbitrary VL.
Commit: ec7c8cd45fa3ca8cc5584caee4b1eaf843294af5
https://github.com/llvm/llvm-project/commit/ec7c8cd45fa3ca8cc5584caee4b1eaf843294af5
Author: Chris Apple <cja-private at pm.me>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
Log Message:
-----------
[compiler-rt][NFC] Add preprocessor definitions for 64 bit file interceptors that were missing (#108059)
These are needed in #108057
Commit: 4618b67b48447ed924bc195cfe735a73841e312c
https://github.com/llvm/llvm-project/commit/4618b67b48447ed924bc195cfe735a73841e312c
Author: Michael Jones <michaelrj at google.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/sys/epoll/BUILD.bazel
Log Message:
-----------
[libc][bazel] Enable epoll_pwait2 on bazel (#108254)
The wrapper for epoll_pwait2 has been difficult to enable since it
requires a very new version of the linux kernel (5.11). On cmake we
still need to create a mechanism to check if we can build it, but our
current bazel users are all on a new enough kernel version we can just
enable it.
Commit: a66ce58ac6f338c91cccb9801bca04efae9f3f37
https://github.com/llvm/llvm-project/commit/a66ce58ac6f338c91cccb9801bca04efae9f3f37
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M bolt/include/bolt/Utils/Utils.h
M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
M bolt/lib/Utils/Utils.cpp
Log Message:
-----------
[BOLT] Drop suffixes in parsePseudoProbe GUID assignment (#106243)
Pseudo probe function records contain GUIDs assigned by the compiler
using an IR function name. Thus suffixes added later (e.g. `.llvm.`
for internal symbols, `.destroy`/`.resume` for coroutine fragments,
and `.cold`/`.warm` for split fragments) cause GUID mismatch.
Address that by dropping those suffixes using `getCommonName` which is
a parametrized form of `getLTOCommonName`.
Commit: 1797174ea6adab08474658f9c9748991d172321c
https://github.com/llvm/llvm-project/commit/1797174ea6adab08474658f9c9748991d172321c
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
A compiler-rt/test/sanitizer_common/TestCases/dlsym_alloc.c
Log Message:
-----------
[NFC][sanitizer] Commit test for #106912 (#108289)
Almost all sanitizers already support the test.
* Tsan does not use DlsymAlloc yet.
* Lsan will support with #106912.
memprof,rtsan,nsan are not tested as part of
sanitizer_common, but we should keep them here to
show up when it happen.
---------
Co-authored-by: Xiaofeng Tian <110771974+txff99 at users.noreply.github.com>
Commit: 3a0ef2a2d3113d162d0133d7384df52abb2e3d92
https://github.com/llvm/llvm-project/commit/3a0ef2a2d3113d162d0133d7384df52abb2e3d92
Author: A. Jiang <de34 at live.cn>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M libcxx/docs/Status/Cxx17Issues.csv
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/include/future
M libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor2.compile.pass.cpp
Log Message:
-----------
[libc++] Reland LWG2921 and LWG2976 (#107960)
They were originally implemented in d42db7e083ee0 but reverted later in
a2f3c63282330be0.
This PR implement both LWG issues again, guarding the removed functions
with `_LIBCPP_STD_VER <= 14`, because they should be treated as patches
for P0302R1 which was adopted for C++17.
Fixes #103598
Fixes #103755
Commit: 695cb55ccb34a3cf659c12e1cbca1b916372a199
https://github.com/llvm/llvm-project/commit/695cb55ccb34a3cf659c12e1cbca1b916372a199
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M libcxx/include/__std_clang_module
M libcxx/modules/std.cppm.in
M libcxx/utils/libcxx/header_information.py
Log Message:
-----------
[libc++] Remove obsolete header restrictions for _LIBCPP_HAS_NO_THREADS (#107437)
The _LIBCPP_HAS_NO_THREADS carve-out does not result in hard errors
anymore, but the patch that changed that forgot to update the header
restrictions we use to auto-generate several files.
We can also remove the restrictions for the no-localization build and
no-wide-characters, but doing it is less straightforward so I'm leaving
it out of this patch.
Commit: a85883662ad1904844b1bd5a34bf93d9b383e3b8
https://github.com/llvm/llvm-project/commit/a85883662ad1904844b1bd5a34bf93d9b383e3b8
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[clangl[TableGen] Change Diagnostic Emitter to use const RecordKeeper (#108209)
Change Diagnostic Emitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: a29afb754fb445a2cccc361c556d4e072604b3be
https://github.com/llvm/llvm-project/commit/a29afb754fb445a2cccc361c556d4e072604b3be
Author: Chris B <chris.bieneman at me.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
M clang/test/CodeGenHLSL/builtins/dot.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
M clang/test/CodeGenHLSL/builtins/mad.hlsl
M clang/test/SemaHLSL/TruncationOverloadResolution.hlsl
M clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzleErrors.hlsl
A clang/test/SemaHLSL/Types/BuiltinVector/TruncationConstantExpr.hlsl
Log Message:
-----------
[HLSL] Allow truncation to scalar (#104844)
HLSL allows implicit conversions to truncate vectors to scalar
pr-values. These conversions are scored as vector truncations and should
warn appropriately.
This change allows forming a truncation cast to a pr-value, but not an
l-value. Truncating a vector to a scalar is performed by loading the
first element of the vector and disregarding the remaining elements.
Fixes #102964
Commit: 07a7bdc806961ef63b1fd7bdd63f27c6c803aa7c
https://github.com/llvm/llvm-project/commit/07a7bdc806961ef63b1fd7bdd63f27c6c803aa7c
Author: Brendan Dahl <brendan.dahl at gmail.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
Log Message:
-----------
[WebAssembly] Fix lane index size for f16x8 extract_lane. (#108118)
Commit: 31d48372732bc3fd3606aeb9c5cceb7cce739b4e
https://github.com/llvm/llvm-project/commit/31d48372732bc3fd3606aeb9c5cceb7cce739b4e
Author: vporpo <vporpodas at google.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/benchmarks/SandboxIRBench.cpp
Log Message:
-----------
[SandboxIR][Bench] SandboxIR creation (#108278)
Adds a benchmark for the overhead of SandboxIR creation.
Commit: c98d6c2e4293a4ab352e08d49dac3c1357cbbc6a
https://github.com/llvm/llvm-project/commit/c98d6c2e4293a4ab352e08d49dac3c1357cbbc6a
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/utils/TableGen/ClangASTPropertiesEmitter.cpp
Log Message:
-----------
[NFC] Reformat ClangASTPropertiesEmitter `ASTPropsEmitter` class (#108275)
Commit: 060137038ab9246b377e190ae3c6f272fa57cbfc
https://github.com/llvm/llvm-project/commit/060137038ab9246b377e190ae3c6f272fa57cbfc
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-09-12 (Thu, 12 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/ast-dump-default-init-json.cpp
M clang/test/AST/ast-dump-default-init.cpp
M clang/test/Analysis/lifetime-extended-regions.cpp
M clang/test/CXX/drs/cwg16xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/special/class.temporary/p6.cpp
A clang/test/SemaCXX/PR97308.cpp
M clang/test/SemaCXX/constexpr-default-arg.cpp
M clang/test/SemaCXX/cxx11-default-member-initializers.cpp
M clang/test/SemaCXX/eval-crashes.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
Reapply "[Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer" (#108039)
The PR reapply https://github.com/llvm/llvm-project/pull/97308.
- Implement [CWG1815](https://wg21.link/CWG1815): Support lifetime
extension of temporary created by aggregate initialization using a
default member initializer.
- Fix crash that introduced in
https://github.com/llvm/llvm-project/pull/97308. In
`InitListChecker::FillInEmptyInitForField`, when we enter
rebuild-default-init context, we copy all the contents of the parent
context to the current context, which will cause the `MaybeODRUseExprs`
to be lost. But we don't need to copy the entire context, only the
`DelayedDefaultInitializationContext` was required, which is used to
build `SourceLocExpr`, etc.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 0909e3027004bb710b1d761569eb15452ce10346
https://github.com/llvm/llvm-project/commit/0909e3027004bb710b1d761569eb15452ce10346
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M lldb/test/Shell/SymbolFile/checksum-mismatch.test
Log Message:
-----------
[lldb] Skip checksum-mismatch.test on Windows
Commit: ae0ed3d58600da9ec266bf86d0084775f561ba3a
https://github.com/llvm/llvm-project/commit/ae0ed3d58600da9ec266bf86d0084775f561ba3a
Author: tmiasko <tomasz.miasko at gmail.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M compiler-rt/lib/lsan/lsan_interceptors.cpp
M compiler-rt/test/sanitizer_common/TestCases/dlsym_alloc.c
Log Message:
-----------
[lsan] Fix free(NULL) interception during initialization (#106912)
Previously an attempt to free a null pointer during initialization would
fail on ENSURE_LSAN_INITED assertion (since a null pointer is not owned
by DlsymAlloc).
Commit: 2a9208b0c9ddec4d321bf3af1d06a60210c89da3
https://github.com/llvm/llvm-project/commit/2a9208b0c9ddec4d321bf3af1d06a60210c89da3
Author: Brendan Dahl <brendan.dahl at gmail.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/lib/Headers/wasm_simd128.h
M clang/test/CodeGen/builtins-wasm.c
Log Message:
-----------
[WebAssembly] Change F16x8 extract lane to require constant integer. (#108116)
Building with no optimizations resulted in failures since the lane
constant wasn't a constant in LLVM IR.
Commit: b5fd9463a3b9aecfc132828510f7e2a47b581b14
https://github.com/llvm/llvm-project/commit/b5fd9463a3b9aecfc132828510f7e2a47b581b14
Author: jofrn <jofernau at amd.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/test/CodeGenCUDA/device-stub.cu
Log Message:
-----------
[HIP][Clang][CodeGen] Handle hip bin symbols properly. (#107458)
Remove '_' in fatbin and gpubin symbol suffixes when missing TU hash ID.
Internalize gpubin symbol so that it is not unresolved at link-time when
symbol is not relocatable.
Commit: 7910812414108ed9085548e2704f3ad5c018e970
https://github.com/llvm/llvm-project/commit/7910812414108ed9085548e2704f3ad5c018e970
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
Log Message:
-----------
[SLP] Regen a test to pick up naming changes
Commit: aa60a3e4d0664dedc8ae0ea005459186fdc1aab9
https://github.com/llvm/llvm-project/commit/aa60a3e4d0664dedc8ae0ea005459186fdc1aab9
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
Log Message:
-----------
[mlir][AMDGPU] Support vector<2xf16> inputs to buffer atomic fadd (#108286)
Extend the lowering of atomic.fadd to support the v2f16 variant
avaliable on some AMDGPU chips.
Re-lands #108238 (and addresses review comments from there)
Co-authored-by: Giuseppe Rossini <giuseppe.rossini at amd.com>
Commit: fa8b737a81c310b297d1120dae1f915c63486498
https://github.com/llvm/llvm-project/commit/fa8b737a81c310b297d1120dae1f915c63486498
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
Log Message:
-----------
[SLP][RISCV] Add test for 3 element build vector feeding reduce
Our costs for build vectors are currently a bit off which inhibits
vectorization. Fix forthcoming.
Commit: d32982b6b3753091a532530c7a66f9686deb5233
https://github.com/llvm/llvm-project/commit/d32982b6b3753091a532530c7a66f9686deb5233
Author: Sarah Spall <spall at users.noreply.github.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/test/Sema/builtins-elementwise-math.c
Log Message:
-----------
[HLSL] fix elementwise bitreverse test (#108128)
The test called 'ceil' instead of 'bitreverse', which I assume was a
copy paste leftover.
Commit: 6e4dcbb21dab47e520f2cd19e7017af27328669e
https://github.com/llvm/llvm-project/commit/6e4dcbb21dab47e520f2cd19e7017af27328669e
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
M clang/lib/Basic/FileManager.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
A clang/test/ClangScanDeps/verbose.test
A clang/test/Misc/print-stats-vfs.test
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang][deps] Print tracing VFS data (#108056)
Clang's `-cc1 -print-stats` shows lots of useful internal data including
basic `FileManager` stats. Since this layer caches some results, it is
unclear how that information translates to actual filesystem accesses.
This PR uses `llvm::vfs::TracingFileSystem` to provide that missing
information.
Similar mechanism is implemented for `clang-scan-deps`'s verbose mode
(`-v`). IO contention proved to be a real bottleneck a couple of times
already and this new feature should make those easier to detect in the
future. The tracing VFS is inserted below the caching FS and above the
real FS.
Commit: 1b3e64a9d2a85871a28fc98bcca236df640c64e8
https://github.com/llvm/llvm-project/commit/1b3e64a9d2a85871a28fc98bcca236df640c64e8
Author: Elvis Wang <elvis.wang at sifive.com>
Date: 2024-09-12 (Thu, 12 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
A llvm/test/Analysis/CostModel/RISCV/cmp.ll
Log Message:
-----------
[RISCV][TTI] Add vp.cmp intrinsic cost with functionalOPC. (#107504)
This patch make the instruction cost of VP compare intrinsics as same as
their non-VP counterpart.
Commit: b690cae01af03237f6b5304e00d529227137b53d
https://github.com/llvm/llvm-project/commit/b690cae01af03237f6b5304e00d529227137b53d
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
Log Message:
-----------
Update StructuredBuffer-AST test after removal of HLSLResourceClassAttr (#108292)
In a previous PR, the `HLSLResourceClassAttr` attribute was removed from
the AST, in favor of using an attributed type that stores the same
information instead. This PR fixes test failures that assumed that
`HLSLResourceClassAttr` was still in the AST, and adjusts for the new
AST representation.
Commit: 93e45a69dde16e6a3ac0ddbcc596ac3843d59c43
https://github.com/llvm/llvm-project/commit/93e45a69dde16e6a3ac0ddbcc596ac3843d59c43
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/lldb/LLDB.py
Log Message:
-----------
[Dexter] Adapt to upcoming lldb stepping behavior (#108127)
lldb will change how it reports stop reasons around breakpoints in the
near future. I landed an earlier version of this change and noticed
debuginfo test failures on the CI bots due to the changes. I'm
addressing the issues found by CI at
https://github.com/llvm/llvm-project/pull/105594 and will re-land once
I've done all of them.
Currently, when lldb stops at a breakpoint instruction -- but has not
yet executed the instruction -- it will overwrite the thread's Stop
Reason with "breakpoint-hit". This caused bugs when the original stop
reason was important to the user - for instance, a watchpoint on an
AArch64 system where we have to instruction-step past the watchpoint to
find the new value. Normally we would instruction step, fetch the new
value, then report the user that a watchpoint has been hit with the old
and new values. But if the instruction after this access is a breakpoint
site, we overwrite the "watchpoint hit" stop reason (and related
actions) with "breakpoint hit".
dexter sets breakpoints on all source lines, then steps line-to-line,
hitting the breakpoints. But with this new behavior, we see two steps
per source line: The first step gets us to the start of the next line,
with a "step completed" stop reason. Then we step again and we execute
the breakpoint instruction, stop with the pc the same, and report
"breakpoint hit". Now we can step a second time and move past the
breakpoint.
I've changed the `step` method in LLDB.py to check if we step to a
breakpoint site but have a "step completed" stop reason -- in which case
we have this new breakpoint behavior, and we need to step a second time
to actually hit the breakpoint like the debuginfo tests expect.
Commit: 34e20f18f0a77cece57e13e179dcf5b58992a705
https://github.com/llvm/llvm-project/commit/34e20f18f0a77cece57e13e179dcf5b58992a705
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M llvm/docs/DirectX/DXILResources.rst
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/test/CodeGen/DirectX/BufferLoad.ll
Log Message:
-----------
[DirectX] Implement typedBufferLoad_checkbit (#108087)
This represents a typedBufferLoad that's followed by
"CheckAccessFullyMapped". It returns an extra `i1` representing that
value.
Fixes #108085
Commit: c820bd3e33caf8fb8a2ec984c584d54108430b65
https://github.com/llvm/llvm-project/commit/c820bd3e33caf8fb8a2ec984c584d54108430b65
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
M bolt/lib/Profile/YAMLProfileWriter.cpp
M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
M bolt/test/X86/pseudoprobe-decoding-inline.test
Log Message:
-----------
[BOLT][NFC] Rename profile-use-pseudo-probes
The flag currently controls writing of probe information in YAML
profile. #99891 adds a separate flag to use probe information for stale
profile matching. Thus `profile-use-pseudo-probes` becomes a misnomer
and `profile-write-pseudo-probes` better captures the intent.
Reviewers: maksfb, WenleiHe, ayermolo, rafaelauler, dcci
Reviewed By: rafaelauler
Pull Request: https://github.com/llvm/llvm-project/pull/106364
Commit: eeb2051b12502429e8f2de58d7e27bffab7f9f61
https://github.com/llvm/llvm-project/commit/eeb2051b12502429e8f2de58d7e27bffab7f9f61
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-09-11 (Wed, 11 Sep 2024)
Changed paths:
M .github/new-prs-labeler.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/pr-code-format.yml
M .github/workflows/release-asset-audit.py
M .github/workflows/release-binaries-save-stage/action.yml
M .github/workflows/release-binaries.yml
M .github/workflows/release-doxygen.yml
M .github/workflows/release-lit.yml
M .github/workflows/release-sources.yml
M .github/workflows/release-tasks.yml
M bolt/lib/Profile/YAMLProfileReader.cpp
M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
A bolt/test/X86/yaml-unknown-keys.test
M bolt/tools/merge-fdata/merge-fdata.cpp
M clang-tools-extra/clang-tidy/add_new_check.py
M clang-tools-extra/clang-tidy/bugprone/CastingThroughVoidCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnconventionalAssignOperatorCheck.cpp
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/clangd/CollectMacros.cpp
M clang-tools-extra/clangd/CollectMacros.h
M clang-tools-extra/clangd/DumpAST.cpp
M clang-tools-extra/clangd/Feature.cpp
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/TidyFastChecks.inc
M clang-tools-extra/clangd/unittests/ClangdTests.cpp
M clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
M clang-tools-extra/clangd/unittests/SerializationTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/Contributing.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/casting-through-void.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/const-correctness.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/unconventional-assign-operator.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/avoid-nested-conditional-operator.rst
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/casting-through-void.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/unconventional-assign-operator-cxx23.cpp
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/cmake/caches/Release.cmake
M clang/docs/ExternalClangExamples.rst
M clang/docs/HLSL/ExpectedDifferences.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/Multilib.rst
M clang/docs/RealtimeSanitizer.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/docs/tools/generate_formatted_state.py
M clang/include/clang-c/Index.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTImporter.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/CXXRecordDeclDefinitionBits.def
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclID.h
M clang/include/clang/AST/DependenceFlags.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/TemplateName.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
M clang/include/clang/Basic/AArch64SVEACLETypes.def
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsNVPTX.def
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/include/clang/Basic/BuiltinsX86.def
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/OpenMPKinds.h
M clang/include/clang/Basic/SourceManager.h
M clang/include/clang/Basic/Specifiers.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/TargetCXXABI.def
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/TypeNodes.td
M clang/include/clang/Basic/arm_fp16.td
A clang/include/clang/Basic/arm_immcheck_incl.td
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_neon_incl.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Driver/Multilib.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/Types.def
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/Interpreter/Value.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/ExternalSemaSource.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Sema/Overload.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaARM.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/TypeBitCodes.def
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
M clang/include/clang/Tooling/Inclusions/StandardLibrary.h
M clang/lib/APINotes/APINotesWriter.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
M clang/lib/AST/ByteCode/DynamicAllocator.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/EvaluationResult.cpp
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBlock.cpp
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpFrame.h
M clang/lib/AST/ByteCode/InterpStack.cpp
M clang/lib/AST/ByteCode/InterpStack.h
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/MemberPointer.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/State.h
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprClassification.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Basic/Targets/BPF.cpp
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCUDARuntime.cpp
M clang/lib/CodeGen/CGCUDARuntime.h
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCall.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
A clang/lib/CodeGen/Targets/DirectX.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/Multilib.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPU.h
M clang/lib/Driver/ToolChains/Arch/SystemZ.cpp
M clang/lib/Driver/ToolChains/Arch/SystemZ.h
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/ExtractAPI/API.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/ObjCPropertyAttributeOrderFixer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/__clang_cuda_device_functions.h
A clang/lib/Headers/avx10_2_512bf16intrin.h
A clang/lib/Headers/avx10_2bf16intrin.h
M clang/lib/Headers/hexagon_types.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/immintrin.h
M clang/lib/Headers/wasm_simd128.h
M clang/lib/Lex/Lexer.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/CheckExprLifetime.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPseudoObject.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaSwift.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/SemaX86.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CheckPlacementNew.cpp
M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/StaticAnalyzer/Frontend/CreateCheckerManager.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Tooling/Refactoring/AtomicChange.cpp
M clang/lib/Tooling/Transformer/Stencil.cpp
M clang/test/AST/ByteCode/arrays.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/codegen.cpp
M clang/test/AST/ByteCode/complex.cpp
M clang/test/AST/ByteCode/constexpr-frame-describe.cpp
A clang/test/AST/ByteCode/constexpr-vectors.cpp
A clang/test/AST/ByteCode/cxx11-pedantic.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/cxx2a.cpp
A clang/test/AST/ByteCode/initializer_list.cpp
M clang/test/AST/ByteCode/literals.cpp
M clang/test/AST/ByteCode/ms.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/AST/ByteCode/references.cpp
M clang/test/AST/ByteCode/unions.cpp
M clang/test/AST/ByteCode/weak.cpp
A clang/test/AST/HLSL/OutArgExpr.hlsl
M clang/test/AST/HLSL/RWBuffer-AST.hlsl
A clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
A clang/test/AST/HLSL/WaveSize.hlsl
M clang/test/AST/ast-dump-default-init-json.cpp
M clang/test/AST/ast-dump-default-init.cpp
A clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
A clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.mm
M clang/test/Analysis/asm.cpp
M clang/test/Analysis/block-in-critical-section-inheritance.cpp
A clang/test/Analysis/block-in-critical-section-nested-namespace.cpp
M clang/test/Analysis/copy-elision.cpp
M clang/test/Analysis/ctor-array.cpp
A clang/test/Analysis/embed.c
M clang/test/Analysis/incorrect-checker-names.cpp
M clang/test/Analysis/lifetime-extended-regions.cpp
M clang/test/Analysis/loop-block-counts.c
M clang/test/Analysis/mmap-writeexec.c
A clang/test/Analysis/nullability-nocrash.c
M clang/test/Analysis/nullptr.cpp
M clang/test/Analysis/stack-addr-ps.c
M clang/test/Analysis/stack-addr-ps.cpp
M clang/test/Analysis/stack-capture-leak-no-arc.mm
M clang/test/Analysis/stackaddrleak.c
M clang/test/CXX/drs/cwg14xx.cpp
M clang/test/CXX/drs/cwg16xx.cpp
A clang/test/CXX/drs/cwg1818.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/drs/cwg19xx.cpp
M clang/test/CXX/drs/cwg1xx.cpp
M clang/test/CXX/drs/cwg24xx.cpp
M clang/test/CXX/drs/cwg27xx.cpp
M clang/test/CXX/drs/cwg29xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
A clang/test/CXX/drs/cwg563.cpp
M clang/test/CXX/drs/cwg5xx.cpp
M clang/test/CXX/expr/expr.const/p2-0x.cpp
M clang/test/CXX/special/class.temporary/p6.cpp
M clang/test/CXX/temp/temp.constr/temp.constr.normal/p1.cpp
M clang/test/CXX/temp/temp.res/temp.local/p8.cpp
M clang/test/ClangScanDeps/pr61006.cppm
A clang/test/ClangScanDeps/verbose.test
M clang/test/CodeCompletion/variadic-template.cpp
M clang/test/CodeGen/AMDGPU/amdgpu-atomic-float.c
R clang/test/CodeGen/PowerPC/transparent_union.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vcreate.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vget.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vset.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vundefined.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesdf.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesdm.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesef.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesem.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaeskf1.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaeskf2.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesz.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vandn.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vbrev.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vbrev8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vclmul.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vclmulh.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vclz.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vcpopv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vcreate.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vctz.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vget.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vghsh.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vgmul.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg2e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg2e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg2e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg2e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg2e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg2e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg3e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg3e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg3e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg3e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg3e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg3e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg4e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg4e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg4e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg4e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg4e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg4e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg5e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg5e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg5e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg5e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg5e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg5e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg6e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg6e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg6e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg6e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg6e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg6e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg7e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg7e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg7e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg7e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg7e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg7e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg8e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg8e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg8e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg8e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg8e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg8e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg2e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg2e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg2e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg3e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg3e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg3e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg4e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg4e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg4e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg5e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg5e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg5e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg6e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg6e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg6e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg7e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg7e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg7e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg8e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg8e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg8e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vrev8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vrol.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vror.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vset.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsha2ch.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsha2cl.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsha2ms.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsm3c.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsm3me.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsm4k.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsm4r.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg2e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg2e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg2e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg3e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg3e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg3e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg4e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg4e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg4e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg5e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg5e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg5e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg6e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg6e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg6e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg7e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg7e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg7e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg8e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg8e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg8e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg2e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg2e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg2e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg3e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg3e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg3e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg4e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg4e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg4e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg5e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg5e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg5e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg6e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg6e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg6e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg7e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg7e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg7e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg8e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg8e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg8e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vundefined.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vwsll.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vget.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vset.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesdf.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesdm.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesef.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesem.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaeskf1.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaeskf2.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesz.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vandn.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vbrev.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vbrev8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vclmul.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vclmulh.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vclz.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vcpopv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vctz.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vget.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vghsh.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vgmul.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg2e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg2e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg2e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg2e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg2e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg2e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg3e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg3e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg3e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg3e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg3e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg3e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg4e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg4e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg4e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg4e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg4e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg4e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg5e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg5e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg5e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg5e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg5e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg5e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg6e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg6e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg6e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg6e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg6e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg6e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg7e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg7e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg7e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg7e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg7e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg7e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg8e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg8e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg8e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg8e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg8e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg8e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg2e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg2e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg2e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg3e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg3e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg3e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg4e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg4e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg4e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg5e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg5e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg5e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg6e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg6e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg6e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg7e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg7e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg7e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg8e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg8e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg8e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vrev8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vrol.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vror.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vset.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsha2ch.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsha2cl.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsha2ms.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsm3c.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsm3me.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsm4k.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsm4r.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg2e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg2e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg2e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg3e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg3e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg3e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg4e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg4e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg4e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg5e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg5e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg5e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg6e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg6e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg6e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg7e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg7e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg7e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg8e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg8e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg8e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg2e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg2e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg2e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg3e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg3e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg3e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg4e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg4e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg4e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg5e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg5e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg5e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg6e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg6e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg6e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg7e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg7e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg7e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg8e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg8e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg8e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vwsll.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesdf.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesdm.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesef.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesem.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaeskf1.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaeskf2.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesz.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vandn.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vbrev.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vbrev8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vclmul.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vclmulh.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vclz.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vcpopv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vctz.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vghsh.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vgmul.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg2e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg2e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg2e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg3e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg3e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg3e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg4e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg4e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg4e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg5e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg5e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg5e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg6e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg6e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg6e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg7e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg7e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg7e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg8e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg8e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg8e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vrev8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vrol.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vror.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vsha2ch.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vsha2cl.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vsha2ms.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vsm3c.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vsm3me.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vsm4k.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vsm4r.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vwsll.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesdf.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesdm.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesef.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesem.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaeskf1.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaeskf2.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesz.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vandn.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vbrev.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vbrev8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vclmul.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vclmulh.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vclz.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vcpopv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vctz.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vghsh.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vgmul.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg2e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg2e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg2e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg3e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg3e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg3e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg4e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg4e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg4e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg5e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg5e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg5e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg6e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg6e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg6e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg7e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg7e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg7e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg8e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg8e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg8e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vrev8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vrol.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vror.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vsha2ch.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vsha2cl.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vsha2ms.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vsm3c.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vsm3me.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vsm4k.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vsm4r.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vwsll.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/rvv-intrinsic-datatypes.cpp
M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/rvv-tuple-type.c
A clang/test/CodeGen/X86/avx10_2_512bf16-builtins.c
A clang/test/CodeGen/X86/avx10_2bf16-builtins.c
A clang/test/CodeGen/X86/bfloat16-convert-half.c
M clang/test/CodeGen/X86/x86-atomic-double.c
M clang/test/CodeGen/X86/x86-atomic-long_double.c
A clang/test/CodeGen/aarch64-neon-faminmax-intrinsics.c
A clang/test/CodeGen/aarch64-neon-luti.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_faminmax.c
A clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_faminmax.c
A clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_luti.c
M clang/test/CodeGen/aarch64-targetattr.c
R clang/test/CodeGen/arm-neon-range-checks.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/builtins-wasm.c
M clang/test/CodeGen/compound-literal.c
M clang/test/CodeGen/ifunc.c
M clang/test/CodeGen/pgo-force-function-attrs.ll
A clang/test/CodeGen/transparent-union-type.c
M clang/test/CodeGenCUDA/device-stub.cu
A clang/test/CodeGenCXX/GH106182.cpp
M clang/test/CodeGenCXX/debug-info-lambda-this.cpp
M clang/test/CodeGenCXX/microsoft-abi-template-static-init.cpp
M clang/test/CodeGenCXX/vtable-available-externally.cpp
A clang/test/CodeGenCoroutines/Inputs/utility.h
A clang/test/CodeGenCoroutines/coro-await-elidable.cpp
A clang/test/CodeGenCoroutines/coro-dwarf-O2.cpp
A clang/test/CodeGenHLSL/BasicFeatures/OutputArguments.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
A clang/test/CodeGenHLSL/builtins/StructuredBuffer-annotations.hlsl
A clang/test/CodeGenHLSL/builtins/StructuredBuffer-constructor.hlsl
A clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/builtins/StructuredBuffer-subscript.hlsl
M clang/test/CodeGenHLSL/builtins/all.hlsl
M clang/test/CodeGenHLSL/builtins/any.hlsl
M clang/test/CodeGenHLSL/builtins/dot.hlsl
M clang/test/CodeGenHLSL/builtins/frac.hlsl
A clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
M clang/test/CodeGenHLSL/builtins/mad.hlsl
M clang/test/CodeGenHLSL/builtins/normalize.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
A clang/test/CodeGenHLSL/builtins/select.hlsl
A clang/test/CodeGenHLSL/builtins/sign.hlsl
A clang/test/CodeGenHLSL/builtins/wave_is_first_lane.hlsl
A clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
M clang/test/CodeGenHLSL/loops/unroll.hlsl
M clang/test/CodeGenHLSL/semantics/DispatchThreadID.hlsl
A clang/test/CodeGenHLSL/static-local-ctor.hlsl
M clang/test/CodeGenHLSL/this-assignment-overload.hlsl
M clang/test/CodeGenHLSL/this-assignment.hlsl
M clang/test/CodeGenObjC/dllstorage.m
M clang/test/CodeGenOpenCL/atomics-cas-remarks-gfx90a.cl
M clang/test/CodeGenOpenCL/atomics-unsafe-hw-remarks-gfx90a.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-param-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
M clang/test/Driver/Ofast.c
A clang/test/Driver/aix-print-runtime-dir.c
A clang/test/Driver/baremetal-multilib-custom-error.yaml
M clang/test/Driver/cl-link.c
M clang/test/Driver/clang_f_opts.c
M clang/test/Driver/coverage.c
M clang/test/Driver/debug-options-as.c
M clang/test/Driver/fsanitize.c
M clang/test/Driver/fuchsia.c
M clang/test/Driver/hip-cuid.hip
M clang/test/Driver/mcmodel.c
M clang/test/Driver/print-multi-selection-flags.c
M clang/test/Driver/program-path-priority.c
M clang/test/Driver/ps4-ps5-toolchain.c
M clang/test/Driver/ps4-sdk-root.c
M clang/test/Driver/ps5-sdk-root.c
A clang/test/Driver/riscv-mcmodel.c
A clang/test/ExtractAPI/attributed-typedef.m
M clang/test/FixIt/fixit-availability-maccatalyst.m
M clang/test/FixIt/fixit-availability.mm
M clang/test/Headers/__clang_hip_math.hip
A clang/test/Headers/crash-instantiated-in-scope-cxx-modules.cpp
A clang/test/Headers/crash-instantiated-in-scope-cxx-modules2.cpp
M clang/test/Index/complete-call.cpp
M clang/test/Lexer/cxx-features.cpp
A clang/test/Lexer/has_feature_realtime_sanitizer.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/Misc/print-stats-vfs.test
A clang/test/Modules/compare-file-size.py
A clang/test/Modules/pr102721.cppm
A clang/test/Modules/pr106483.cppm
A clang/test/Modules/pr107673.cppm
M clang/test/Modules/reduced-bmi-size.cppm
A clang/test/Modules/skip-func-def-odr-with-pch.cppm
M clang/test/Parser/cxx11-user-defined-literals.cpp
M clang/test/ParserHLSL/hlsl_is_rov_attr.hlsl
M clang/test/ParserHLSL/hlsl_is_rov_attr_error.hlsl
M clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
M clang/test/ParserHLSL/hlsl_resource_class_attr_error.hlsl
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
M clang/test/Preprocessor/bpf-predefined-macros.c
M clang/test/Preprocessor/init-ppc.c
M clang/test/Preprocessor/init-ppc64.c
M clang/test/Preprocessor/predefined-arch-macros.c
R clang/test/Sema/aarch64-neon-bf16-ranges.c
A clang/test/Sema/aarch64-neon-faminmax-no-faminmax.c
A clang/test/Sema/aarch64-neon-faminmax-no-neon.c
R clang/test/Sema/aarch64-neon-fp16-ranges.c
A clang/test/Sema/aarch64-neon-immediate-ranges/bfloat16.c
A clang/test/Sema/aarch64-neon-immediate-ranges/conversions.c
A clang/test/Sema/aarch64-neon-immediate-ranges/copy-vector-lane.c
A clang/test/Sema/aarch64-neon-immediate-ranges/dotprod.c
A clang/test/Sema/aarch64-neon-immediate-ranges/extract-elt-from-vector.c
A clang/test/Sema/aarch64-neon-immediate-ranges/extract-vector-from-vectors.c
A clang/test/Sema/aarch64-neon-immediate-ranges/fp16-scalar.c
A clang/test/Sema/aarch64-neon-immediate-ranges/fp16-v84.c
A clang/test/Sema/aarch64-neon-immediate-ranges/fp16-vector.c
A clang/test/Sema/aarch64-neon-immediate-ranges/fused-multiply-accumulate.c
A clang/test/Sema/aarch64-neon-immediate-ranges/luti.c
A clang/test/Sema/aarch64-neon-immediate-ranges/matrix-multiplication.c
A clang/test/Sema/aarch64-neon-immediate-ranges/multiply-extended.c
A clang/test/Sema/aarch64-neon-immediate-ranges/saturating-multiply-accumulate.c
A clang/test/Sema/aarch64-neon-immediate-ranges/saturating-multiply-by-scalar-and-widen.c
A clang/test/Sema/aarch64-neon-immediate-ranges/set-lanes-to-value.c
A clang/test/Sema/aarch64-neon-immediate-ranges/set-vector-lane.c
A clang/test/Sema/aarch64-neon-immediate-ranges/sqrdmlah-ranges.c
A clang/test/Sema/aarch64-neon-immediate-ranges/vcmla.c
A clang/test/Sema/aarch64-neon-immediate-ranges/vector-load.c
A clang/test/Sema/aarch64-neon-immediate-ranges/vector-multiply-accumulate-by-scalar.c
A clang/test/Sema/aarch64-neon-immediate-ranges/vector-multiply-by-scalar-and-widen.c
A clang/test/Sema/aarch64-neon-immediate-ranges/vector-multiply-by-scalar.c
A clang/test/Sema/aarch64-neon-immediate-ranges/vector-multiply-subtract-by-scalar.c
A clang/test/Sema/aarch64-neon-immediate-ranges/vector-shift-left.c
A clang/test/Sema/aarch64-neon-immediate-ranges/vector-shift-right.c
A clang/test/Sema/aarch64-neon-immediate-ranges/vector-store.c
R clang/test/Sema/aarch64-neon-ranges.c
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_imm_lane.cpp
A clang/test/Sema/attr-btf_type_tag.cpp
M clang/test/Sema/attr-target-riscv.c
M clang/test/Sema/builtin-unary-fp.c
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/Sema/pre-c2x-compat.c
M clang/test/Sema/static-assert.c
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
A clang/test/SemaCXX/GH106182.cpp
A clang/test/SemaCXX/PR97308.cpp
M clang/test/SemaCXX/attr-lifetimebound.cpp
A clang/test/SemaCXX/builtin-is-within-lifetime.cpp
M clang/test/SemaCXX/builtins.cpp
A clang/test/SemaCXX/consteval-builtin.cpp
M clang/test/SemaCXX/constexpr-default-arg.cpp
M clang/test/SemaCXX/cxx11-default-member-initializers.cpp
M clang/test/SemaCXX/cxx20-default-compare.cpp
M clang/test/SemaCXX/cxx23-assume.cpp
M clang/test/SemaCXX/cxx2a-template-lambdas.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
M clang/test/SemaCXX/cxx2c-placeholder-vars.cpp
M clang/test/SemaCXX/eval-crashes.cpp
M clang/test/SemaCXX/extern-c.cpp
M clang/test/SemaCXX/lambda-pack-expansion.cpp
R clang/test/SemaCXX/pr61460.cpp
M clang/test/SemaCXX/source_location.cpp
A clang/test/SemaCXX/static-assert-ext.cpp
M clang/test/SemaCXX/sugar-common-types.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/test/SemaCXX/vector.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions-inline-namespace.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-test-unreachable.cpp
A clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
A clang/test/SemaHLSL/BuiltIns/select-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/sign-errors.hlsl
A clang/test/SemaHLSL/Language/OutputParameters.hlsl
A clang/test/SemaHLSL/Language/TemplateOutArg.hlsl
M clang/test/SemaHLSL/TruncationOverloadResolution.hlsl
M clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzleErrors.hlsl
A clang/test/SemaHLSL/Types/BuiltinVector/TruncationConstantExpr.hlsl
A clang/test/SemaHLSL/Types/Traits/IsIntangibleType.hlsl
A clang/test/SemaHLSL/Types/Traits/IsIntangibleTypeErrors.hlsl
A clang/test/SemaHLSL/WaveSize-invalid-param.hlsl
A clang/test/SemaHLSL/WaveSize-invalid-profiles.hlsl
A clang/test/SemaHLSL/WaveSize-sm6.6-6.5.hlsl
M clang/test/SemaHLSL/parameter_modifiers.hlsl
M clang/test/SemaHLSL/parameter_modifiers_ast.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_resource.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_udt.hlsl
M clang/test/SemaObjC/ivar-access-tests.m
M clang/test/SemaObjC/non-trivial-c-union.m
M clang/test/SemaOpenACC/compute-construct-ast.cpp
A clang/test/SemaTemplate/GH18291.cpp
M clang/test/SemaTemplate/concepts-friends.cpp
M clang/test/SemaTemplate/cwg2398.cpp
M clang/test/SemaTemplate/default-arguments.cpp
R clang/test/SemaTemplate/default-parm-init.cpp
M clang/test/SemaTemplate/temp_arg_nontype.cpp
M clang/test/SemaTemplate/temp_arg_type.cpp
M clang/test/Templight/templight-empty-entries-fix.cpp
M clang/tools/c-arcmt-test/c-arcmt-test.c
M clang/tools/c-index-test/c-index-test.c
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-format/clang-format-test.el
M clang/tools/clang-format/git-clang-format.bat
M clang/tools/clang-repl/CMakeLists.txt
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/driver/CMakeLists.txt
M clang/tools/driver/driver.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/tools/libclang/CXType.cpp
M clang/tools/scan-build-py/CMakeLists.txt
M clang/tools/scan-build-py/tests/functional/cases/test_create_cdb.py
M clang/tools/scan-view/share/startfile.py
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/Basic/SourceManagerTest.cpp
M clang/unittests/Driver/GCCVersionTest.cpp
M clang/unittests/Driver/MultilibBuilderTest.cpp
M clang/unittests/Driver/MultilibTest.cpp
M clang/unittests/Driver/SimpleDiagnosticConsumer.h
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestJS.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp
M clang/unittests/Tooling/StencilTest.cpp
M clang/utils/TableGen/ASTTableGen.cpp
M clang/utils/TableGen/ASTTableGen.h
M clang/utils/TableGen/ClangASTPropertiesEmitter.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp
M clang/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp
M clang/utils/TableGen/ClangCommentHTMLTagsEmitter.cpp
M clang/utils/TableGen/ClangDataCollectorsEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
M clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
M clang/utils/TableGen/ClangSyntaxEmitter.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
M clang/utils/creduce-clang-crash.py
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M clang/www/make_cxx_dr_status
M cmake/Modules/HandleCompilerRT.cmake
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/include/CMakeLists.txt
A compiler-rt/include/sanitizer/rtsan_interface.h
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/asan/asan_flags.cpp
M compiler-rt/lib/asan/asan_globals_win.cpp
M compiler-rt/lib/asan/asan_malloc_win.cpp
A compiler-rt/lib/asan/asan_malloc_win_thunk.cpp
A compiler-rt/lib/asan/asan_win_common_runtime_thunk.cpp
A compiler-rt/lib/asan/asan_win_common_runtime_thunk.h
R compiler-rt/lib/asan/asan_win_dll_thunk.cpp
M compiler-rt/lib/asan/asan_win_dynamic_runtime_thunk.cpp
A compiler-rt/lib/asan/asan_win_static_runtime_thunk.cpp
R compiler-rt/lib/asan/asan_win_weak_interception.cpp
M compiler-rt/lib/asan/tests/CMakeLists.txt
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/aarch64/sme-abi-init.c
M compiler-rt/lib/builtins/cpu_model/aarch64.c
M compiler-rt/lib/builtins/cpu_model/riscv.c
M compiler-rt/lib/builtins/divsc3.c
M compiler-rt/lib/builtins/fp_lib.h
M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/lib/interception/CMakeLists.txt
M compiler-rt/lib/interception/interception.h
M compiler-rt/lib/interception/interception_type_test.cpp
M compiler-rt/lib/lsan/lsan_interceptors.cpp
M compiler-rt/lib/nsan/nsan.cpp
M compiler-rt/lib/nsan/nsan_interceptors.cpp
M compiler-rt/lib/orc/adt.h
M compiler-rt/lib/orc/bitmask_enum.h
M compiler-rt/lib/orc/coff_platform.cpp
M compiler-rt/lib/orc/coff_platform.h
M compiler-rt/lib/orc/debug.cpp
M compiler-rt/lib/orc/debug.h
M compiler-rt/lib/orc/dlfcn_wrapper.cpp
M compiler-rt/lib/orc/elfnix_platform.cpp
M compiler-rt/lib/orc/elfnix_platform.h
M compiler-rt/lib/orc/endianness.h
M compiler-rt/lib/orc/error.h
M compiler-rt/lib/orc/executor_address.h
M compiler-rt/lib/orc/executor_symbol_def.h
M compiler-rt/lib/orc/extensible_rtti.cpp
M compiler-rt/lib/orc/extensible_rtti.h
M compiler-rt/lib/orc/interval_map.h
M compiler-rt/lib/orc/interval_set.h
A compiler-rt/lib/orc/jit_dispatch.h
M compiler-rt/lib/orc/macho_platform.cpp
M compiler-rt/lib/orc/macho_platform.h
M compiler-rt/lib/orc/run_program_wrapper.cpp
M compiler-rt/lib/orc/simple_packed_serialization.h
M compiler-rt/lib/orc/stl_extras.h
M compiler-rt/lib/orc/string_pool.h
M compiler-rt/lib/orc/tests/unit/adt_test.cpp
M compiler-rt/lib/orc/tests/unit/bitmask_enum_test.cpp
M compiler-rt/lib/orc/tests/unit/endian_test.cpp
M compiler-rt/lib/orc/tests/unit/error_test.cpp
M compiler-rt/lib/orc/tests/unit/executor_address_test.cpp
M compiler-rt/lib/orc/tests/unit/executor_symbol_def_test.cpp
M compiler-rt/lib/orc/tests/unit/extensible_rtti_test.cpp
M compiler-rt/lib/orc/tests/unit/interval_map_test.cpp
M compiler-rt/lib/orc/tests/unit/interval_set_test.cpp
M compiler-rt/lib/orc/tests/unit/simple_packed_serialization_test.cpp
M compiler-rt/lib/orc/tests/unit/simple_packed_serialization_utils.h
M compiler-rt/lib/orc/tests/unit/string_pool_test.cpp
M compiler-rt/lib/orc/tests/unit/wrapper_function_utils_test.cpp
M compiler-rt/lib/orc/wrapper_function_utils.h
M compiler-rt/lib/profile/CMakeLists.txt
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingPlatformFuchsia.c
M compiler-rt/lib/rtsan/CMakeLists.txt
M compiler-rt/lib/rtsan/rtsan.cpp
M compiler-rt/lib/rtsan/rtsan.h
M compiler-rt/lib/rtsan/rtsan_context.cpp
M compiler-rt/lib/rtsan/rtsan_context.h
A compiler-rt/lib/rtsan/rtsan_flags.cpp
A compiler-rt/lib/rtsan/rtsan_flags.h
A compiler-rt/lib/rtsan/rtsan_flags.inc
M compiler-rt/lib/rtsan/rtsan_interceptors.cpp
M compiler-rt/lib/rtsan/rtsan_stack.cpp
M compiler-rt/lib/rtsan/rtsan_stack.h
M compiler-rt/lib/rtsan/tests/CMakeLists.txt
M compiler-rt/lib/rtsan/tests/rtsan_test_context.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_functional.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_utilities.h
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc
R compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_dll_thunk.cpp
R compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_dynamic_runtime_thunk.cpp
A compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_runtime_thunk.cpp
R compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_weak_interception.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_redefine_builtins.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp
R compiler-rt/lib/sanitizer_common/sanitizer_win_dll_thunk.cpp
R compiler-rt/lib/sanitizer_common/sanitizer_win_dll_thunk.h
R compiler-rt/lib/sanitizer_common/sanitizer_win_dynamic_runtime_thunk.cpp
A compiler-rt/lib/sanitizer_common/sanitizer_win_immortalize.h
A compiler-rt/lib/sanitizer_common/sanitizer_win_interception.cpp
A compiler-rt/lib/sanitizer_common/sanitizer_win_interception.h
A compiler-rt/lib/sanitizer_common/sanitizer_win_thunk_interception.cpp
A compiler-rt/lib/sanitizer_common/sanitizer_win_thunk_interception.h
R compiler-rt/lib/sanitizer_common/sanitizer_win_weak_interception.cpp
R compiler-rt/lib/sanitizer_common/sanitizer_win_weak_interception.h
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/common.cpp
M compiler-rt/lib/scudo/standalone/common.h
M compiler-rt/lib/scudo/standalone/linux.cpp
M compiler-rt/lib/scudo/standalone/platform.h
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/release.h
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
M compiler-rt/lib/ubsan/CMakeLists.txt
R compiler-rt/lib/ubsan/ubsan_win_dll_thunk.cpp
R compiler-rt/lib/ubsan/ubsan_win_dynamic_runtime_thunk.cpp
A compiler-rt/lib/ubsan/ubsan_win_runtime_thunk.cpp
R compiler-rt/lib/ubsan/ubsan_win_weak_interception.cpp
M compiler-rt/test/asan/TestCases/Darwin/interface_symbols_darwin.cpp
M compiler-rt/test/asan/TestCases/Linux/dlopen-mixed-c-cxx.c
M compiler-rt/test/asan/TestCases/Linux/interface_symbols_linux.cpp
M compiler-rt/test/asan/TestCases/Windows/double_free.cpp
M compiler-rt/test/asan/TestCases/Windows/free_hook_realloc.cpp
M compiler-rt/test/asan/TestCases/Windows/malloc_left_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/malloc_right_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/malloc_uaf.cpp
M compiler-rt/test/asan/TestCases/Windows/msvc/dll_and_lib.cpp
M compiler-rt/test/asan/TestCases/Windows/msvc/dll_large_function.cpp
M compiler-rt/test/asan/TestCases/Windows/realloc_left_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/realloc_right_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/realloc_uaf.cpp
M compiler-rt/test/asan/TestCases/Windows/symbols_path.cpp
M compiler-rt/test/asan/TestCases/Windows/unsymbolized.cpp
M compiler-rt/test/asan/TestCases/Windows/use_after_realloc.cpp
M compiler-rt/test/asan/TestCases/debug_double_free.cpp
M compiler-rt/test/asan/TestCases/debug_report.cpp
M compiler-rt/test/asan/TestCases/default_options.cpp
M compiler-rt/test/asan/TestCases/leaks.cpp
M compiler-rt/test/asan/TestCases/on_error_callback.cpp
M compiler-rt/test/asan/TestCases/report_error_summary.cpp
M compiler-rt/test/asan/lit.cfg.py
R compiler-rt/test/builtins/Unit/compiler_rt_fmaxf_test.c
M compiler-rt/test/builtins/Unit/divsc3_test.c
M compiler-rt/test/fuzzer/compressed.test
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
M compiler-rt/test/lsan/TestCases/create_thread_leak.cpp
M compiler-rt/test/lsan/TestCases/use_registers.cpp
A compiler-rt/test/nsan/intercep_strsep.cpp
M compiler-rt/test/nsan/vec_sqrt.cpp
M compiler-rt/test/profile/ContinuousSyncMode/runtime-counter-relocation.c
M compiler-rt/test/profile/ContinuousSyncMode/set-file-object.c
A compiler-rt/test/profile/Linux/instrprof-debug-info-correlate-debuginfod.c
M compiler-rt/test/profile/Posix/instrprof-dlopen-norpath.test
A compiler-rt/test/profile/instrprof-binary-correlate-debuginfod.c
M compiler-rt/test/profile/lit.cfg.py
M compiler-rt/test/rtsan/basic.cpp
A compiler-rt/test/rtsan/disabler.cpp
A compiler-rt/test/rtsan/unrecognized_flags.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp
M compiler-rt/test/sanitizer_common/TestCases/Posix/fork_threaded.c
A compiler-rt/test/sanitizer_common/TestCases/dlsym_alloc.c
M compiler-rt/test/tsan/signal_block.cpp
M compiler-rt/test/tsan/signal_reset.cpp
M compiler-rt/test/tsan/signal_thread2.cpp
M compiler-rt/www/index.html
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/lldb/LLDB.py
M cross-project-tests/intrinsic-header-tests/wasm_simd128.c
M flang/docs/Extensions.md
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Evaluate/expression.h
M flang/include/flang/Evaluate/integer.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Frontend/TargetOptions.h
A flang/include/flang/Lower/Cuda.h
M flang/include/flang/Lower/SymbolMap.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/OpenMP/Passes.td
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Runtime/cpp-type.h
M flang/include/flang/Runtime/descriptor.h
M flang/include/flang/Runtime/numeric.h
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Semantics/scope.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/type.h
M flang/include/flang/Tools/CLOptions.inc
M flang/include/flang/Tools/TargetSetup.h
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/expression.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/intrinsics-library.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Evaluate/type.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/Mangler.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/PFTBuilder.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/OpenMP/FunctionFiltering.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CufOpConversion.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Semantics/canonicalize-acc.cpp
M flang/lib/Semantics/canonicalize-directives.cpp
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-cuda.h
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-directive-structure.h
M flang/lib/Semantics/check-io.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/compute-offsets.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Semantics/type.cpp
M flang/module/__fortran_builtins.f90
M flang/module/ieee_arithmetic.f90
M flang/runtime/assign.cpp
M flang/runtime/format-implementation.h
M flang/runtime/io-stmt.h
M flang/runtime/numeric-templates.h
M flang/runtime/numeric.cpp
M flang/runtime/random.cpp
M flang/runtime/time-intrinsic.cpp
M flang/test/CMakeLists.txt
A flang/test/Driver/fno-openmp.f90
M flang/test/Driver/fopenmp.f90
A flang/test/Driver/print-pipeline-passes.f90
A flang/test/Driver/q-unused-arguments.f90
A flang/test/Driver/save-temps-use-module.f90
M flang/test/Driver/w-option.f90
A flang/test/Driver/xlinker.f90
A flang/test/Evaluate/fold-assumed-rank-kind.f90
M flang/test/Evaluate/fold-out_of_range.f90
M flang/test/Evaluate/folding07.f90
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/convert.fir
M flang/test/Fir/struct-passing-x86-64-one-field-inreg.fir
M flang/test/Fir/struct-passing-x86-64-several-fields-inreg.fir
M flang/test/Fir/target-rewrite-complex16.fir
M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
M flang/test/Integration/debug-assumed-shape-array.f90
M flang/test/Integration/debug-module-2.f90
A flang/test/Integration/debug-target-region-vars.f90
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
A flang/test/Lower/CUDA/cuda-devptr.cuf
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
A flang/test/Lower/HLFIR/procedure-pointer-in-generics.f90
M flang/test/Lower/HLFIR/select-rank.f90
M flang/test/Lower/Intrinsics/ieee_class_queries.f90
M flang/test/Lower/Intrinsics/ieee_unordered.f90
M flang/test/Lower/Intrinsics/spacing.f90
M flang/test/Lower/Intrinsics/system_clock.f90
M flang/test/Lower/OpenACC/acc-declare.f90
A flang/test/Lower/OpenACC/acc-loop-and-cpu-dir.f90
A flang/test/Lower/OpenACC/acc-shortloop-ignore.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/equivalence.f90
M flang/test/Lower/OpenMP/array-bounds.f90
M flang/test/Lower/OpenMP/copyin-order.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/copyprivate.f90
M flang/test/Lower/OpenMP/copyprivate2.f90
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-array.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-firstprivate.f90
M flang/test/Lower/OpenMP/delayed-privatization-array.f90
M flang/test/Lower/OpenMP/delayed-privatization-firstprivate.f90
A flang/test/Lower/OpenMP/distribute-parallel-do-simd.f90
A flang/test/Lower/OpenMP/distribute-parallel-do.f90
M flang/test/Lower/OpenMP/if-clause.f90
M flang/test/Lower/OpenMP/implicit-dsa.f90
M flang/test/Lower/OpenMP/lastprivate-allocatable.f90
M flang/test/Lower/OpenMP/lastprivate-commonblock.f90
M flang/test/Lower/OpenMP/lastprivate-iv.f90
M flang/test/Lower/OpenMP/loop-compound.f90
M flang/test/Lower/OpenMP/master.f90
A flang/test/Lower/OpenMP/math-amdgpu.f90
M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop-lastpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop.f90
M flang/test/Lower/OpenMP/sections.f90
M flang/test/Lower/OpenMP/single.f90
M flang/test/Lower/OpenMP/statement-function.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/task.f90
M flang/test/Lower/OpenMP/task2.f90
M flang/test/Lower/OpenMP/unstructured.f90
M flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/common-block.f90
A flang/test/Lower/module-generic-with-specific-mangling.f90
A flang/test/Parser/non-breaking-space.f90
M flang/test/Preprocessing/pp134.F90
A flang/test/Semantics/Inputs/modfile66.cuf
A flang/test/Semantics/Inputs/modfile67.mod
M flang/test/Semantics/OpenACC/acc-routine-validity.f90
A flang/test/Semantics/OpenMP/clause-order.f90
M flang/test/Semantics/OpenMP/default.f90
A flang/test/Semantics/generic09.f90
A flang/test/Semantics/generic10.f90
M flang/test/Semantics/kinds03.f90
M flang/test/Semantics/loop-directives.f90
M flang/test/Semantics/modfile26.f90
A flang/test/Semantics/modfile66.f90
A flang/test/Semantics/modfile67.f90
M flang/test/Semantics/realkinds-aarch64-01.f90
M flang/test/Semantics/resolve24.f90
M flang/test/Semantics/resolve69.f90
M flang/test/Semantics/resolve77.f90
A flang/test/Semantics/smp-proc-ref.f90
M flang/test/Semantics/spec-expr.f90
M flang/test/Transforms/debug-90683.fir
M flang/test/Transforms/debug-assumed-shape-array.fir
M flang/test/Transforms/debug-fn-info.fir
A flang/test/Transforms/debug-imported-entity.fir
M flang/test/Transforms/debug-line-table-inc-file.fir
M flang/test/Transforms/debug-local-global-storage-1.fir
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M flang/tools/bbc/bbc.cpp
M flang/tools/f18/CMakeLists.txt
M flang/unittests/Runtime/CommandTest.cpp
M flang/unittests/Runtime/Numeric.cpp
M flang/unittests/Runtime/Reduction.cpp
M flang/unittests/Runtime/Transformational.cpp
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCArchitectures.cmake
M libc/cmake/modules/LLVMLibCCheckCpuFeatures.cmake
M libc/cmake/modules/LLVMLibCCheckMPFR.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M libc/config/config.json
M libc/config/darwin/arm/entrypoints.txt
M libc/config/gpu/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/configure.rst
M libc/hdr/CMakeLists.txt
A libc/hdr/link_macros.h
A libc/hdr/sys_auxv_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/jmp_buf.h
A libc/hdr/types/sighandler_t.h
A libc/hdr/types/stack_t.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/stdlib-macros.h
M libc/include/stdlib.h.def
M libc/include/string.h.def
M libc/newhdrgen/yaml/stdlib.yaml
M libc/newhdrgen/yaml/string.yaml
M libc/spec/stdc.td
M libc/src/__support/CMakeLists.txt
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/__support/OSUtil/linux/aarch64/CMakeLists.txt
A libc/src/__support/OSUtil/linux/aarch64/vdso.h
M libc/src/__support/OSUtil/linux/arm/CMakeLists.txt
A libc/src/__support/OSUtil/linux/arm/vdso.h
M libc/src/__support/OSUtil/linux/riscv/CMakeLists.txt
A libc/src/__support/OSUtil/linux/riscv/vdso.h
A libc/src/__support/OSUtil/linux/vdso.cpp
A libc/src/__support/OSUtil/linux/vdso.h
A libc/src/__support/OSUtil/linux/vdso_sym.h
M libc/src/__support/OSUtil/linux/x86_64/CMakeLists.txt
A libc/src/__support/OSUtil/linux/x86_64/vdso.h
M libc/src/__support/macros/CMakeLists.txt
A libc/src/__support/macros/null_check.h
M libc/src/__support/macros/sanitizer.h
M libc/src/__support/str_to_float.h
M libc/src/setjmp/aarch64/CMakeLists.txt
M libc/src/setjmp/aarch64/longjmp.cpp
M libc/src/setjmp/aarch64/setjmp.cpp
M libc/src/setjmp/arm/CMakeLists.txt
M libc/src/setjmp/arm/longjmp.cpp
M libc/src/setjmp/arm/setjmp.cpp
M libc/src/setjmp/longjmp.h
M libc/src/setjmp/riscv/CMakeLists.txt
M libc/src/setjmp/riscv/longjmp.cpp
M libc/src/setjmp/riscv/setjmp.cpp
M libc/src/setjmp/setjmp_impl.h
M libc/src/setjmp/x86_64/CMakeLists.txt
M libc/src/setjmp/x86_64/longjmp.cpp
M libc/src/setjmp/x86_64/setjmp.cpp
M libc/src/signal/linux/CMakeLists.txt
M libc/src/signal/linux/sigaltstack.cpp
M libc/src/signal/linux/signal.cpp
M libc/src/signal/sigaltstack.h
M libc/src/signal/signal.h
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/atexit.cpp
M libc/src/stdlib/quick_exit.cpp
A libc/src/stdlib/strtod_l.cpp
A libc/src/stdlib/strtod_l.h
A libc/src/stdlib/strtof_l.cpp
A libc/src/stdlib/strtof_l.h
A libc/src/stdlib/strtol_l.cpp
A libc/src/stdlib/strtol_l.h
A libc/src/stdlib/strtold_l.cpp
A libc/src/stdlib/strtold_l.h
A libc/src/stdlib/strtoll_l.cpp
A libc/src/stdlib/strtoll_l.h
A libc/src/stdlib/strtoul_l.cpp
A libc/src/stdlib/strtoul_l.h
A libc/src/stdlib/strtoull_l.cpp
A libc/src/stdlib/strtoull_l.h
M libc/src/string/CMakeLists.txt
M libc/src/string/memory_utils/op_x86.h
M libc/src/string/memory_utils/x86_64/inline_bcmp.h
M libc/src/string/memory_utils/x86_64/inline_memcpy.h
A libc/src/string/strcoll_l.cpp
A libc/src/string/strcoll_l.h
A libc/src/string/strxfrm_l.cpp
A libc/src/string/strxfrm_l.h
M libc/src/sys/auxv/getauxval.h
M libc/startup/gpu/amdgpu/start.cpp
M libc/startup/gpu/nvptx/start.cpp
M libc/startup/linux/do_start.cpp
M libc/test/UnitTest/CMakeLists.txt
M libc/test/integration/startup/CMakeLists.txt
M libc/test/src/__support/OSUtil/linux/CMakeLists.txt
A libc/test/src/__support/OSUtil/linux/vdso_test.cpp
M libc/test/src/compiler/CMakeLists.txt
M libc/test/src/compiler/stack_chk_guard_test.cpp
M libc/test/src/math/exp2f_test.cpp
M libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h
M libc/test/src/math/performance_testing/CMakeLists.txt
M libc/test/src/math/performance_testing/fmod_perf.cpp
M libc/test/src/math/performance_testing/fmodf16_perf.cpp
M libc/test/src/math/performance_testing/fmodf_perf.cpp
A libc/test/src/math/performance_testing/fmul_perf.cpp
A libc/test/src/math/performance_testing/fmull_perf.cpp
M libc/test/src/math/performance_testing/hypot_perf.cpp
M libc/test/src/math/performance_testing/hypotf_perf.cpp
M libc/test/src/math/performance_testing/max_min_funcs_perf.cpp
M libc/test/src/math/performance_testing/misc_basic_ops_perf.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/exp2f_test.cpp
M libc/test/src/math/smoke/nan_test.cpp
M libc/test/src/math/smoke/nanf128_test.cpp
M libc/test/src/math/smoke/nanf16_test.cpp
M libc/test/src/math/smoke/nanf_test.cpp
M libc/test/src/math/smoke/nanl_test.cpp
M libc/test/src/setjmp/CMakeLists.txt
M libc/test/src/signal/CMakeLists.txt
M libc/test/src/signal/signal_test.cpp
M libc/test/src/stdio/CMakeLists.txt
M libc/utils/HdrGen/Command.h
M libc/utils/HdrGen/Generator.cpp
M libc/utils/HdrGen/Generator.h
M libc/utils/HdrGen/IncludeFileCommand.cpp
M libc/utils/HdrGen/IncludeFileCommand.h
M libc/utils/HdrGen/PrototypeTestGen/PrototypeTestGen.cpp
M libc/utils/HdrGen/PublicAPICommand.cpp
M libc/utils/HdrGen/PublicAPICommand.h
M libc/utils/LibcTableGenUtil/APIIndexer.cpp
M libc/utils/LibcTableGenUtil/APIIndexer.h
M libc/utils/MPFRWrapper/CMakeLists.txt
M libclc/CMakeLists.txt
M libcxx/.clang-format
M libcxx/CMakeLists.txt
M libcxx/cmake/caches/Apple.cmake
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/Helpers/Styles.rst
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/Status/Cxx17.rst
M libcxx/docs/Status/Cxx17Issues.csv
M libcxx/docs/Status/Cxx17Papers.csv
M libcxx/docs/Status/Cxx20.rst
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx23.rst
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2c.rst
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/ranges_minmax.h
M libcxx/include/__atomic/atomic.h
M libcxx/include/__charconv/to_chars_integral.h
M libcxx/include/__chrono/exception.h
M libcxx/include/__chrono/leap_second.h
M libcxx/include/__chrono/parser_std_format_spec.h
M libcxx/include/__chrono/statically_widen.h
M libcxx/include/__chrono/time_zone_link.h
M libcxx/include/__config
A libcxx/include/__cstddef/byte.h
A libcxx/include/__cstddef/max_align_t.h
A libcxx/include/__cstddef/nullptr_t.h
A libcxx/include/__cstddef/ptrdiff_t.h
A libcxx/include/__cstddef/size_t.h
M libcxx/include/__exception/exception_ptr.h
M libcxx/include/__exception/nested_exception.h
M libcxx/include/__exception/operations.h
M libcxx/include/__exception/terminate.h
M libcxx/include/__expected/expected.h
M libcxx/include/__filesystem/directory_entry.h
M libcxx/include/__filesystem/filesystem_error.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__format/buffer.h
M libcxx/include/__format/concepts.h
M libcxx/include/__format/container_adaptor.h
M libcxx/include/__format/enable_insertable.h
M libcxx/include/__format/escaped_output_table.h
M libcxx/include/__format/extended_grapheme_cluster_table.h
M libcxx/include/__format/format_arg.h
M libcxx/include/__format/format_arg_store.h
M libcxx/include/__format/format_args.h
M libcxx/include/__format/format_context.h
M libcxx/include/__format/format_error.h
M libcxx/include/__format/format_functions.h
M libcxx/include/__format/format_parse_context.h
M libcxx/include/__format/format_string.h
M libcxx/include/__format/format_to_n_result.h
M libcxx/include/__format/formatter_bool.h
M libcxx/include/__format/formatter_char.h
M libcxx/include/__format/formatter_floating_point.h
M libcxx/include/__format/formatter_integer.h
M libcxx/include/__format/formatter_integral.h
M libcxx/include/__format/formatter_output.h
M libcxx/include/__format/formatter_pointer.h
M libcxx/include/__format/formatter_string.h
M libcxx/include/__format/formatter_tuple.h
M libcxx/include/__format/indic_conjunct_break_table.h
M libcxx/include/__format/parser_std_format_spec.h
M libcxx/include/__format/range_default_formatter.h
M libcxx/include/__format/range_formatter.h
M libcxx/include/__format/unicode.h
M libcxx/include/__format/width_estimation_table.h
M libcxx/include/__functional/function.h
M libcxx/include/__fwd/array.h
A libcxx/include/__fwd/byte.h
M libcxx/include/__fwd/complex.h
M libcxx/include/__fwd/format.h
M libcxx/include/__fwd/pair.h
M libcxx/include/__fwd/span.h
M libcxx/include/__fwd/subrange.h
M libcxx/include/__fwd/tuple.h
M libcxx/include/__iterator/common_iterator.h
M libcxx/include/__iterator/concepts.h
M libcxx/include/__iterator/counted_iterator.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__iterator/projected.h
M libcxx/include/__iterator/wrap_iter.h
M libcxx/include/__math/copysign.h
M libcxx/include/__math/hypot.h
M libcxx/include/__math/remainder.h
M libcxx/include/__math/traits.h
M libcxx/include/__mdspan/extents.h
M libcxx/include/__mdspan/layout_left.h
M libcxx/include/__mdspan/layout_right.h
M libcxx/include/__mdspan/layout_stride.h
M libcxx/include/__memory/allocator.h
A libcxx/include/__memory/noexcept_move_assign_container.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__memory/uses_allocator.h
M libcxx/include/__pstl/backend.h
M libcxx/include/__pstl/backend_fwd.h
M libcxx/include/__pstl/backends/default.h
M libcxx/include/__pstl/backends/libdispatch.h
M libcxx/include/__pstl/backends/serial.h
M libcxx/include/__pstl/backends/std_thread.h
M libcxx/include/__pstl/cpu_algos/any_of.h
M libcxx/include/__pstl/cpu_algos/cpu_traits.h
M libcxx/include/__pstl/cpu_algos/fill.h
M libcxx/include/__pstl/cpu_algos/find_if.h
M libcxx/include/__pstl/cpu_algos/for_each.h
M libcxx/include/__pstl/cpu_algos/merge.h
M libcxx/include/__pstl/cpu_algos/stable_sort.h
M libcxx/include/__pstl/cpu_algos/transform.h
M libcxx/include/__pstl/cpu_algos/transform_reduce.h
M libcxx/include/__pstl/dispatch.h
M libcxx/include/__pstl/handle_exception.h
M libcxx/include/__random/mersenne_twister_engine.h
M libcxx/include/__random/seed_seq.h
M libcxx/include/__random/subtract_with_carry_engine.h
M libcxx/include/__ranges/subrange.h
M libcxx/include/__std_clang_module
M libcxx/include/__string/constexpr_c_functions.h
M libcxx/include/__system_error/system_error.h
M libcxx/include/__tuple/find_index.h
M libcxx/include/__tuple/make_tuple_types.h
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/include/__tuple/tuple_element.h
M libcxx/include/__tuple/tuple_indices.h
M libcxx/include/__tuple/tuple_like_ext.h
M libcxx/include/__tuple/tuple_like_no_subrange.h
M libcxx/include/__tuple/tuple_size.h
M libcxx/include/__type_traits/aligned_storage.h
M libcxx/include/__type_traits/aligned_union.h
M libcxx/include/__type_traits/alignment_of.h
M libcxx/include/__type_traits/datasizeof.h
M libcxx/include/__type_traits/extent.h
M libcxx/include/__type_traits/is_allocator.h
M libcxx/include/__type_traits/is_array.h
M libcxx/include/__type_traits/is_bounded_array.h
M libcxx/include/__type_traits/is_member_pointer.h
M libcxx/include/__type_traits/is_nothrow_destructible.h
M libcxx/include/__type_traits/is_null_pointer.h
M libcxx/include/__type_traits/is_swappable.h
M libcxx/include/__type_traits/is_trivially_lexicographically_comparable.h
M libcxx/include/__type_traits/is_void.h
M libcxx/include/__type_traits/make_unsigned.h
R libcxx/include/__type_traits/noexcept_move_assign_container.h
M libcxx/include/__type_traits/rank.h
M libcxx/include/__type_traits/remove_all_extents.h
M libcxx/include/__type_traits/remove_extent.h
M libcxx/include/__type_traits/result_of.h
M libcxx/include/__type_traits/type_list.h
M libcxx/include/__utility/in_place.h
M libcxx/include/__utility/pair.h
M libcxx/include/__utility/swap.h
M libcxx/include/__utility/unreachable.h
M libcxx/include/__verbose_abort
M libcxx/include/any
M libcxx/include/array
M libcxx/include/cmath
M libcxx/include/complex
M libcxx/include/cstddef
M libcxx/include/cstdio
M libcxx/include/cstdlib
M libcxx/include/cstring
M libcxx/include/ctime
M libcxx/include/cuchar
M libcxx/include/cwchar
R libcxx/include/experimental/__config
M libcxx/include/experimental/__simd/aligned_tag.h
M libcxx/include/experimental/__simd/declaration.h
M libcxx/include/experimental/__simd/reference.h
M libcxx/include/experimental/__simd/scalar.h
M libcxx/include/experimental/__simd/simd.h
M libcxx/include/experimental/__simd/simd_mask.h
M libcxx/include/experimental/__simd/traits.h
M libcxx/include/experimental/__simd/utility.h
M libcxx/include/experimental/__simd/vec_ext.h
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/forward_list
M libcxx/include/future
M libcxx/include/ios
M libcxx/include/iosfwd
M libcxx/include/istream
M libcxx/include/list
M libcxx/include/module.modulemap
M libcxx/include/new
M libcxx/include/optional
M libcxx/include/regex
M libcxx/include/set
M libcxx/include/span
M libcxx/include/stdexcept
M libcxx/include/string
M libcxx/include/syncstream
M libcxx/include/tuple
M libcxx/include/typeinfo
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/variant
M libcxx/include/vector
M libcxx/include/version
M libcxx/modules/CMakeLists.txt
M libcxx/modules/std.cppm.in
M libcxx/modules/std/format.inc
M libcxx/modules/std/type_traits.inc
M libcxx/src/CMakeLists.txt
M libcxx/src/any.cpp
M libcxx/src/filesystem/directory_iterator.cpp
M libcxx/src/filesystem/error.h
M libcxx/src/filesystem/file_descriptor.h
M libcxx/src/filesystem/format_string.h
M libcxx/src/filesystem/operations.cpp
M libcxx/src/filesystem/posix_compat.h
M libcxx/src/filesystem/time_utils.h
M libcxx/src/include/atomic_support.h
M libcxx/src/include/overridable_function.h
M libcxx/src/include/refstring.h
M libcxx/src/locale.cpp
M libcxx/src/memory_resource.cpp
M libcxx/src/optional.cpp
M libcxx/src/stdexcept.cpp
M libcxx/src/string.cpp
M libcxx/src/support/runtime/exception_fallback.ipp
M libcxx/src/support/runtime/exception_msvc.ipp
M libcxx/src/support/runtime/exception_pointer_cxxabi.ipp
M libcxx/src/support/runtime/exception_pointer_glibcxx.ipp
M libcxx/src/support/runtime/exception_pointer_msvc.ipp
M libcxx/src/support/runtime/exception_pointer_unimplemented.ipp
M libcxx/src/system_error.cpp
M libcxx/src/vector.cpp
M libcxx/test/CMakeLists.txt
M libcxx/test/benchmarks/ContainerBenchmarks.h
M libcxx/test/benchmarks/VariantBenchmarks.h
M libcxx/test/benchmarks/format.bench.cpp
M libcxx/test/benchmarks/format_to.bench.cpp
M libcxx/test/benchmarks/format_to_n.bench.cpp
M libcxx/test/benchmarks/formatted_size.bench.cpp
M libcxx/test/benchmarks/formatter_int.bench.cpp
M libcxx/test/benchmarks/lexicographical_compare_three_way.bench.cpp
M libcxx/test/benchmarks/std_format_spec_string_unicode.bench.cpp
M libcxx/test/benchmarks/std_format_spec_string_unicode_escape.bench.cpp
M libcxx/test/benchmarks/to_chars.bench.cpp
M libcxx/test/benchmarks/variant_visit_1.bench.cpp
M libcxx/test/benchmarks/variant_visit_2.bench.cpp
M libcxx/test/benchmarks/variant_visit_3.bench.cpp
M libcxx/test/configs/cmake-bridge.cfg.in
R libcxx/test/configs/llvm-libc++-mingw.cfg.in
M libcxx/test/configs/llvm-libc++-shared-clangcl.cfg.in
A libcxx/test/configs/llvm-libc++-shared-mingw.cfg.in
M libcxx/test/configs/llvm-libc++-shared-no-vcruntime-clangcl.cfg.in
A libcxx/test/configs/llvm-libc++-static-mingw.cfg.in
M libcxx/test/libcxx/clang_modules_include.gen.py
M libcxx/test/libcxx/clang_tidy.gen.py
A libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp
A libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp
M libcxx/test/libcxx/double_include.gen.py
M libcxx/test/libcxx/header_inclusions.gen.py
M libcxx/test/libcxx/libcpp_version.gen.py
M libcxx/test/libcxx/no_assert_include.gen.py
M libcxx/test/libcxx/numerics/c.math/constexpr-cxx23-clang.pass.cpp
M libcxx/test/libcxx/numerics/c.math/constexpr-cxx23-gcc.pass.cpp
M libcxx/test/libcxx/numerics/c.math/constexpr-fns.pass.cpp
M libcxx/test/libcxx/system_reserved_names.gen.py
M libcxx/test/libcxx/thread/thread.stoptoken/atomic_unique_lock.pass.cpp
M libcxx/test/libcxx/thread/thread.stoptoken/intrusive_list_view.pass.cpp
M libcxx/test/libcxx/thread/thread.stoptoken/intrusive_shared_ptr.pass.cpp
M libcxx/test/libcxx/transitive_includes.gen.py
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/libcxx/transitive_includes_to_csv.py
M libcxx/test/libcxx/type_traits/datasizeof.compile.pass.cpp
M libcxx/test/libcxx/type_traits/is_specialization.verify.cpp
M libcxx/test/libcxx/vendor/apple/system-install-properties.sh.cpp
M libcxx/test/std/containers/associative/map/map.cons/move.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/move.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/move.pass.cpp
M libcxx/test/std/containers/container.requirements/container.requirements.general/allocator_move.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/move.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/move.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/move.pass.cpp
M libcxx/test/std/containers/views/mdspan/CustomTestLayouts.h
M libcxx/test/std/containers/views/mdspan/extents/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/conversion.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/ctad.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/dextents.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/dims.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/index_type.verify.cpp
M libcxx/test/std/containers/views/mdspan/extents/obs_static.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/types.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_right.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_left.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.extents_array.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.extents_span.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.strided_mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/deduction.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/is_exhaustive_corner_case.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/assign.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/conversion.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.copy.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_integers.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map_acc.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_span.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.move.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/deduction.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/move.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/swap.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/types.pass.cpp
A libcxx/test/std/input.output/filesystems/class.rec.dir.itr/cache_refresh_iter.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
M libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.cons/cons.default.pass.cpp
A libcxx/test/std/iterators/iterator.primitives/iterator.traits/empty.compile.pass.cpp
R libcxx/test/std/iterators/iterator.primitives/iterator.traits/empty.verify.cpp
A libcxx/test/std/iterators/iterator.requirements/indirectcallable.traits/indirect.value.t.pass.cpp
M libcxx/test/std/language.support/cmp/cmp.alg/strong_order.pass.cpp
M libcxx/test/std/language.support/cmp/cmp.alg/strong_order_long_double.verify.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.placement/new.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.placement/new_array.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/iterator.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/new.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/numerics/bit/bit.cast/bit_cast.pass.cpp
M libcxx/test/std/numerics/bit/bit.pow.two/bit_ceil.pass.cpp
M libcxx/test/std/numerics/bit/bit.pow.two/bit_floor.pass.cpp
M libcxx/test/std/numerics/bit/bit.pow.two/bit_width.pass.cpp
M libcxx/test/std/numerics/bit/bit.pow.two/has_single_bit.pass.cpp
M libcxx/test/std/numerics/bit/bitops.count/countl_one.pass.cpp
M libcxx/test/std/numerics/bit/bitops.count/countl_zero.pass.cpp
M libcxx/test/std/numerics/bit/bitops.count/countr_one.pass.cpp
M libcxx/test/std/numerics/bit/bitops.count/countr_zero.pass.cpp
M libcxx/test/std/numerics/bit/bitops.count/popcount.pass.cpp
M libcxx/test/std/numerics/bit/bitops.rot/rotl.pass.cpp
M libcxx/test/std/numerics/bit/bitops.rot/rotr.pass.cpp
M libcxx/test/std/numerics/c.math/isnormal.pass.cpp
A libcxx/test/std/numerics/c.math/signbit.pass.cpp
M libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor2.compile.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/test_offset_time_zone.h
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/string_view.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/string_view_local_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/string_view_local_time_choose.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/string_view_sys_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/string_view_zoned_time_duration2_time_zone_ptr2.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/string_view_zoned_time_duration2_time_zone_ptr2_choose.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/sys_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/time_zone_pointer.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/time_zone_pointer_local_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/time_zone_pointer_local_time_choose.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/time_zone_pointer_sys_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/get_local_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/get_sys_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/get_time_zone.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/operator_local_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/operator_sys_time.pass.cpp
M libcxx/test/std/utilities/charconv/charconv.from.chars/integral.pass.cpp
M libcxx/test/std/utilities/charconv/charconv.from.chars/integral.roundtrip.pass.cpp
M libcxx/test/std/utilities/charconv/charconv.syn/from_chars_result.operator_bool.pass.cpp
M libcxx/test/std/utilities/charconv/charconv.syn/from_chars_result.pass.cpp
M libcxx/test/std/utilities/charconv/charconv.syn/to_chars_result.operator_bool.pass.cpp
M libcxx/test/std/utilities/charconv/charconv.syn/to_chars_result.pass.cpp
M libcxx/test/std/utilities/charconv/charconv.to.chars/integral.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_swappable.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply/apply.pass.cpp
M libcxx/test/support/archetypes.h
M libcxx/test/support/assert_macros.h
M libcxx/test/support/check_assertion.h
M libcxx/test/support/container_test_types.h
M libcxx/test/support/count_new.h
M libcxx/test/support/filesystem_test_helper.h
M libcxx/test/support/make_test_thread.h
M libcxx/test/support/parse_integer.h
M libcxx/test/support/test_allocator.h
M libcxx/test/support/test_macros.h
M libcxx/test/support/uses_alloc_types.h
M libcxx/test/tools/clang_tidy_checks/header_exportable_declarations.cpp
M libcxx/utils/adb_run.py
M libcxx/utils/ci/Dockerfile
M libcxx/utils/ci/apple-install-libcxx.sh
M libcxx/utils/ci/build-picolibc.sh
M libcxx/utils/ci/buildkite-pipeline.yml
M libcxx/utils/ci/run-buildbot
M libcxx/utils/ci/vendor/android/Dockerfile.emulator
M libcxx/utils/ci/vendor/android/build-emulator-images.sh
M libcxx/utils/ci/vendor/android/container-setup.sh
M libcxx/utils/ci/vendor/android/emulator-entrypoint.sh
M libcxx/utils/ci/vendor/android/emulator-functions.sh
M libcxx/utils/ci/vendor/android/emulator-wait-for-ready.sh
M libcxx/utils/ci/vendor/android/setup-env-for-emulator.sh
M libcxx/utils/ci/vendor/android/start-emulator.sh
M libcxx/utils/ci/vendor/android/stop-emulator.sh
M libcxx/utils/generate_escaped_output_table.py
M libcxx/utils/generate_extended_grapheme_cluster_table.py
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/generate_indic_conjunct_break_table.py
M libcxx/utils/generate_iwyu_mapping.py
M libcxx/utils/generate_width_estimation_table.py
R libcxx/utils/graph_header_deps.py
M libcxx/utils/libcxx/header_information.py
M libcxx/utils/libcxx/test/android.py
M libcxx/utils/libcxx/test/features.py
M libcxx/utils/libcxx/test/modules.py
M libcxx/utils/synchronize_csv_status_files.py
M libcxxabi/src/cxa_guard_impl.h
M libcxxabi/src/cxa_personality.cpp
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
M lld/COFF/MarkLive.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Symbols.cpp
M lld/COFF/Symbols.h
M lld/COFF/Writer.cpp
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/LTO.cpp
M lld/ELF/Options.td
M lld/MachO/Arch/ARM64.cpp
M lld/MachO/BPSectionOrderer.cpp
M lld/MachO/BPSectionOrderer.h
M lld/MachO/Config.h
M lld/MachO/Driver.cpp
M lld/MachO/ICF.cpp
M lld/MachO/InputSection.cpp
M lld/MachO/InputSection.h
M lld/MachO/MapFile.cpp
M lld/MachO/Options.td
M lld/MachO/OutputSegment.cpp
M lld/MachO/SectionPriorities.cpp
M lld/MachO/Symbols.cpp
M lld/MachO/Symbols.h
M lld/MachO/SyntheticSections.cpp
M lld/MachO/Target.h
M lld/include/lld/Common/CommonLinkerContext.h
M lld/test/COFF/Inputs/loadconfig-arm64ec.s
A lld/test/COFF/arm64ec-import.test
A lld/test/COFF/arm64ec-lib.test
A lld/test/COFF/arm64ec-range-thunks.s
M lld/test/ELF/aarch64-reloc-implicit-addend.test
M lld/test/ELF/avr-reloc.s
A lld/test/ELF/lto/time-trace.ll
M lld/test/MachO/bp-section-orderer-errs.s
M lld/test/MachO/bp-section-orderer-stress.s
A lld/test/MachO/icf-safe-thunks.ll
M lld/test/MachO/segprot.s
M lld/test/MachO/tools/validate-unwind-info.py
A lld/test/wasm/Inputs/allow-multiple-definition.s
A lld/test/wasm/allow-multiple-definition.s
A lld/test/wasm/static-error.s
M lld/utils/benchmark.py
M lld/wasm/Config.h
M lld/wasm/Driver.cpp
M lld/wasm/Options.td
M lld/wasm/SymbolTable.cpp
M lld/wasm/SyntheticSections.cpp
M lldb/bindings/interface/SBErrorDocstrings.i
M lldb/bindings/python/python-swigsafecast.swig
M lldb/docs/conf.py
M lldb/docs/resources/test.rst
M lldb/include/lldb/API/SBError.h
M lldb/include/lldb/API/SBMemoryRegionInfo.h
M lldb/include/lldb/API/SBSaveCoreOptions.h
M lldb/include/lldb/API/SBValueList.h
M lldb/include/lldb/Core/SourceManager.h
M lldb/include/lldb/Core/ValueObjectConstResult.h
M lldb/include/lldb/DataFormatters/TypeSummary.h
M lldb/include/lldb/Host/Socket.h
M lldb/include/lldb/Host/common/TCPSocket.h
M lldb/include/lldb/Symbol/SaveCoreOptions.h
M lldb/include/lldb/Symbol/Type.h
A lldb/include/lldb/Target/CoreFileMemoryRanges.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Target/Statistics.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/Target/ThreadPlan.h
M lldb/include/lldb/Target/ThreadPlanStepOverBreakpoint.h
M lldb/include/lldb/Utility/ArchSpec.h
M lldb/include/lldb/Utility/RangeMap.h
M lldb/include/lldb/Utility/Status.h
M lldb/include/lldb/Utility/SupportFile.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/include/lldb/lldb-forward.h
M lldb/include/lldb/lldb-private-interfaces.h
M lldb/packages/Python/lldbsuite/test/builders/builder.py
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/source/API/SBBreakpoint.cpp
M lldb/source/API/SBBreakpointLocation.cpp
M lldb/source/API/SBBreakpointName.cpp
M lldb/source/API/SBDebugger.cpp
M lldb/source/API/SBError.cpp
M lldb/source/API/SBFile.cpp
M lldb/source/API/SBFormat.cpp
M lldb/source/API/SBFrame.cpp
M lldb/source/API/SBPlatform.cpp
M lldb/source/API/SBProcess.cpp
M lldb/source/API/SBSaveCoreOptions.cpp
M lldb/source/API/SBSourceManager.cpp
M lldb/source/API/SBStructuredData.cpp
M lldb/source/API/SBTarget.cpp
M lldb/source/API/SBThread.cpp
M lldb/source/API/SBValue.cpp
M lldb/source/API/SBValueList.cpp
M lldb/source/API/SBWatchpoint.cpp
M lldb/source/Breakpoint/BreakpointResolverFileRegex.cpp
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Commands/CommandObjectMemoryTag.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectSource.cpp
M lldb/source/Commands/CommandObjectStats.cpp
M lldb/source/Commands/CommandObjectTrace.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/Disassembler.cpp
M lldb/source/Core/IOHandlerCursesGUI.cpp
M lldb/source/Core/ModuleList.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Core/SourceManager.cpp
M lldb/source/Core/ThreadedCommunication.cpp
M lldb/source/Core/ValueObject.cpp
M lldb/source/Core/ValueObjectCast.cpp
M lldb/source/Core/ValueObjectConstResult.cpp
M lldb/source/Core/ValueObjectDynamicValue.cpp
M lldb/source/Core/ValueObjectSyntheticFilter.cpp
M lldb/source/Core/ValueObjectVTable.cpp
M lldb/source/Core/ValueObjectVariable.cpp
M lldb/source/DataFormatters/TypeSummary.cpp
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Expression/FunctionCaller.cpp
M lldb/source/Expression/LLVMUserExpression.cpp
M lldb/source/Expression/Materializer.cpp
M lldb/source/Expression/REPL.cpp
M lldb/source/Expression/UserExpression.cpp
M lldb/source/Host/common/FileCache.cpp
M lldb/source/Host/common/Host.cpp
M lldb/source/Host/common/LockFileBase.cpp
M lldb/source/Host/common/NativeProcessProtocol.cpp
M lldb/source/Host/common/Socket.cpp
M lldb/source/Host/common/TCPSocket.cpp
M lldb/source/Host/macosx/objcxx/Host.mm
M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
M lldb/source/Host/windows/ConnectionGenericFileWindows.cpp
M lldb/source/Host/windows/FileSystem.cpp
M lldb/source/Host/windows/HostProcessWindows.cpp
M lldb/source/Host/windows/HostThreadWindows.cpp
M lldb/source/Host/windows/MainLoopWindows.cpp
M lldb/source/Host/windows/PipeWindows.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/source/Interpreter/OptionValueRegex.cpp
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.cpp
M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp
M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
M lldb/source/Plugins/ObjectFile/PECOFF/WindowsMiniDump.cpp
M lldb/source/Plugins/Platform/Android/AdbClient.cpp
M lldb/source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.cpp
M lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.h
M lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.mm
M lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
M lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
M lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_riscv64.cpp
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_riscv64.h
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.cpp
M lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_riscv64.cpp
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_riscv64.cpp
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_riscv64.h
M lldb/source/Plugins/Process/Utility/RegisterInfos_riscv64.h
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_WoW64.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm64.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_i386.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_x86_64.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv64.cpp
M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv64.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
M lldb/source/Plugins/Process/minidump/MinidumpParser.h
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
M lldb/source/Plugins/Process/minidump/ProcessMinidump.h
M lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_64.cpp
M lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_64.h
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp
M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Symbol/LineTable.cpp
M lldb/source/Symbol/SaveCoreOptions.cpp
M lldb/source/Symbol/Type.cpp
M lldb/source/Target/CMakeLists.txt
A lldb/source/Target/CoreFileMemoryRanges.cpp
M lldb/source/Target/ModuleCache.cpp
M lldb/source/Target/Platform.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/Statistics.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/TargetProperties.td
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadPlanSingleThreadTimeout.cpp
M lldb/source/Target/ThreadPlanStepOverBreakpoint.cpp
M lldb/source/Utility/ArchSpec.cpp
M lldb/source/Utility/Scalar.cpp
M lldb/source/Utility/Status.cpp
M lldb/source/Utility/StructuredData.cpp
M lldb/test/API/api/multiple-debuggers/TestMultipleDebuggers.py
M lldb/test/API/commands/expression/import-std-module/deque-dbg-info-content/Makefile
M lldb/test/API/commands/expression/import-std-module/list-dbg-info-content/Makefile
M lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/Makefile
M lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/TestDbgInfoContentVectorFromStdModule.py
A lldb/test/API/commands/statistics/basic/BoxFormatter.py
M lldb/test/API/commands/statistics/basic/Makefile
M lldb/test/API/commands/statistics/basic/TestStats.py
R lldb/test/API/commands/statistics/basic/main.c
A lldb/test/API/commands/statistics/basic/main.cpp
M lldb/test/API/functionalities/breakpoint/breakpoint_ids/Makefile
M lldb/test/API/functionalities/breakpoint/breakpoint_locations/Makefile
M lldb/test/API/functionalities/breakpoint/consecutive_breakpoints/Makefile
M lldb/test/API/functionalities/breakpoint/cpp/Makefile
M lldb/test/API/functionalities/breakpoint/dummy_target_breakpoints/Makefile
M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/Makefile
M lldb/test/API/functionalities/breakpoint/step_over_breakpoint/Makefile
M lldb/test/API/functionalities/breakpoint/thread_plan_user_breakpoint/Makefile
M lldb/test/API/functionalities/data-formatter/data-formatter-objc/ObjCDataFormatterTestCase.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/optional/TestDataFormatterGenericOptional.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/optional/main.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py
M lldb/test/API/functionalities/data-formatter/nsdictionarysynth/TestNSDictionarySynthetic.py
M lldb/test/API/functionalities/data-formatter/nssetsynth/TestNSSetSynthetic.py
M lldb/test/API/functionalities/data-formatter/poarray/TestPrintObjectArray.py
M lldb/test/API/functionalities/inline-stepping/Makefile
M lldb/test/API/functionalities/memory/big-read/TestMemoryReadMaximumSize.py
A lldb/test/API/functionalities/memory/holes/Makefile
A lldb/test/API/functionalities/memory/holes/TestMemoryHoles.py
A lldb/test/API/functionalities/memory/holes/main.cpp
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
R lldb/test/API/functionalities/postmortem/elf-core/linux-riscv64.core
A lldb/test/API/functionalities/postmortem/elf-core/linux-riscv64.gpr_fpr.core
A lldb/test/API/functionalities/postmortem/elf-core/linux-riscv64.gpr_fpr.out
A lldb/test/API/functionalities/postmortem/elf-core/linux-riscv64.gpr_only.core
A lldb/test/API/functionalities/postmortem/elf-core/linux-riscv64.gpr_only.out
R lldb/test/API/functionalities/postmortem/elf-core/linux-riscv64.out
A lldb/test/API/functionalities/postmortem/elf-core/main_fpr.c
M lldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpNew.py
M lldb/test/API/functionalities/postmortem/minidump-new/makefile.txt
A lldb/test/API/functionalities/postmortem/minidump-new/multiple-sigsev.yaml
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.4
[skip ci]
Compare: https://github.com/llvm/llvm-project/compare/8f23fab73bc2...eeb2051b1250
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