[all-commits] [llvm/llvm-project] a5fef2: [SPIRV] Fix test with VK1.3 validation (#137633)
joaosaffran via All-commits
all-commits at lists.llvm.org
Tue May 13 11:54:59 PDT 2025
Branch: refs/heads/users/joaosaffran/137284
Home: https://github.com/llvm/llvm-project
Commit: a5fef2aff8f6a86e329fe81ad8db90674fe8f079
https://github.com/llvm/llvm-project/commit/a5fef2aff8f6a86e329fe81ad8db90674fe8f079
Author: Steven Perron <stevenperron at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_GroupIndex.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smoothstep.ll
Log Message:
-----------
[SPIRV] Fix test with VK1.3 validation (#137633)
An update to the spirv validator is now correctly rejecting vulkan
shaders with the linkage capability. We have a couple tests that need
updating to remove the capability.
Fixes https://github.com/llvm/llvm-project/issues/136344
Commit: b54b3e81f28c7ead02e6a29274ad03088a70a988
https://github.com/llvm/llvm-project/commit/b54b3e81f28c7ead02e6a29274ad03088a70a988
Author: Iris Shi <0.0 at owo.li>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/uadd-usub-sat.ll
Log Message:
-----------
Recommit "[ConstraintElim] Simplify cmp after uadd.sat/usub.sat (#135603)" (#136467)
Commit: 1a14ef1c89bf4632bf25a959142770f190dcaaf1
https://github.com/llvm/llvm-project/commit/1a14ef1c89bf4632bf25a959142770f190dcaaf1
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.h
Log Message:
-----------
[clang] Temporarily silence noisy warning for FPEvalMethod in another place
When adding an explicit default copy ctor and assignment operator,
clang emits the diag there, instead of for the class. That's narrow
enough that we can suppress the warning there too.
With this, it only files building a single file (CompilerInvocation.cpp).
See https://github.com/llvm/llvm-project/issues/137600#issuecomment-2842011513
Commit: c626ef9b5fca9a822ac25b0de4b9b215cec4b9d5
https://github.com/llvm/llvm-project/commit/c626ef9b5fca9a822ac25b0de4b9b215cec4b9d5
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.h
M llvm/test/MC/SystemZ/machine-directive-invalid.s
M llvm/test/MC/SystemZ/machine-directive.s
Log Message:
-----------
[SystemZ] Implement .machine (push|pop) directives (#137302)
The `.machine push` and `.machine pop` directives were missing from the
SystemZ Backend Asm Parser. This PR adds them, and expands the
corresponding test to test proper operation.
Internally, this is modeled as a simple stack implemented on a
`SmallVector<StringRef>`.
Commit: 1b7d8b2ee66672c5226f2a8d6b72b025070d9ede
https://github.com/llvm/llvm-project/commit/1b7d8b2ee66672c5226f2a8d6b72b025070d9ede
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
Log Message:
-----------
[clang] prevent -Wunknown-warning-option with older clangs
Commit: 6aafd5ef06599f3a7b60309dae2071dfa3f63697
https://github.com/llvm/llvm-project/commit/6aafd5ef06599f3a7b60309dae2071dfa3f63697
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Sparc/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn] Make Sparc/MCTargetDesc depend on Sparc/TargetInfo
Like fa7e69561c86f8, but for Sparc.
Commit: 7495f92f08d5d621743d26c410e9b27d872af508
https://github.com/llvm/llvm-project/commit/7495f92f08d5d621743d26c410e9b27d872af508
Author: mssefat <42645939+mssefat at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/FinalizeISel.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/finalize-isel-kill-scc-vcc.mir
M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
Log Message:
-----------
[AMDGPU] Fix undefined scc register in successor block of SI_KILL terminators (#134718)
Fix issue 131298 where an undefined $scc register causes verifier errors
when using SI_KILL_F32_COND_IMM_TERMINATOR instructions. The problem
occurs because the $scc register defined in a comparison before the kill
terminator is used in successor blocks, but was not properly marked as live-in.
This patch:
- Adds code to check if SCC is used in the successor block
- Adds SCC as a live-in to successor blocks
- Handles both explicit and implicit uses of SCC
With this patch the machine verifier no longer reports undefined $scc
errors in following kill terminator instruction.
Fixes #131298
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 7bc16a0f63c3f31762b97e5855932b769c4d3cf5
https://github.com/llvm/llvm-project/commit/7bc16a0f63c3f31762b97e5855932b769c4d3cf5
Author: Callum Fare <callum at codeplay.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M offload/liboffload/src/OffloadImpl.cpp
M offload/unittests/OffloadAPI/CMakeLists.txt
A offload/unittests/OffloadAPI/event/olDestroyEvent.cpp
A offload/unittests/OffloadAPI/event/olWaitEvent.cpp
Log Message:
-----------
[Offload] Adding missing Offload unit tests for event entry points (#137315)
A couple of liboffload entry points were missed out from the tests, and
unsurprisingly a crash in one of them made it in. Add the tests and fix
the unchecked error in `olDestroyEvent`.
Commit: c2a62af2a51d58183bcd72ee8a86c37ddd526758
https://github.com/llvm/llvm-project/commit/c2a62af2a51d58183bcd72ee8a86c37ddd526758
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
Log Message:
-----------
[clang] Another Wpreferred-type-bitfield-enum-conversion suppression fix!
If a compiler does not know `__has_warning`, it will of course complain
if it's used on the same line as the check for its presence. Put the use
in a separate line.
Should help e.g. https://lab.llvm.org/buildbot/#/builders/123/builds/18503
Commit: e8ae77947154e10dbc05cbb95ec9e10d3b0be13e
https://github.com/llvm/llvm-project/commit/e8ae77947154e10dbc05cbb95ec9e10d3b0be13e
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/Sema/attr-nonstring.c
Log Message:
-----------
[C] Add diagnostic + attr for unterminated strings (#137829)
This introduces three things related to intialization like:
char buf[3] = "foo";
where the array does not declare enough space for the null terminator
but otherwise can represent the array contents exactly.
1) An attribute named 'nonstring' which can be used to mark that a
field or variable is not intended to hold string data.
2) -Wunterminated-string-initialization, which is grouped under
-Wextra, and diagnoses the above construct unless the declaration
uses the 'nonstring' attribute.
3) -Wc++-unterminated-string-initialization, which is grouped under
-Wc++-compat, and diagnoses the above construct even if the
declaration uses the 'nonstring' attribute.
Fixes #137705
Commit: 84a5435db63f43ec3f4abbb42eda2674dd35cda9
https://github.com/llvm/llvm-project/commit/84a5435db63f43ec3f4abbb42eda2674dd35cda9
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseStmt.cpp
A clang/test/Parser/gh137861.cpp
Log Message:
-----------
Fix crash when an attribute is applied to pragma attribute/pragma dump (#137880)
These two don't result in a statement, so the attempt to apply the
attributes to them was crashing. This patch correctly prohibits the use
of attributes on these clauses.
Fixes: #137861
Commit: 41647412c6a4091080fd47b0f554adc5c54b4b54
https://github.com/llvm/llvm-project/commit/41647412c6a4091080fd47b0f554adc5c54b4b54
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
A llvm/test/CodeGen/PowerPC/usubo_carry.ll
Log Message:
-----------
[PowerPC] Fix an LowerADDSUBO_CARRY error when converting carry bit for usubo_carry (#137809)
In PowerPC, if a borrow occurs during a subtraction, the carry bit is
zero (unset). The carry bit is set if no borrow occurs.
For ISD::USUBO_CARRY, the nodes produce two results: the normal result
of the addition or subtraction, and a boolean value that is 1 if and
only if there is an outgoing carry or borrow.
Therefore, we need to convert a 1 (which indicates a borrow in
ISD::USUBO_CARRY) to 0 to match PowerPC's definition of borrow.
Similarly, we need to convert a 0 (no borrow in ISD::USUBO_CARRY) to 1
for PowerPC.
To perform this conversion, we use XOR 1 instead of XOR
DAG.getAllOnesConstant(DL, CarryOp.getValueType()).
`
Commit: 721c5cc327e30edbdd6cf14348ec076c79079125
https://github.com/llvm/llvm-project/commit/721c5cc327e30edbdd6cf14348ec076c79079125
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/docs/Dialects/SPIR-V.md
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
M mlir/test/Dialect/SPIRV/IR/control-flow-ops.mlir
M mlir/test/Target/SPIRV/loop.mlir
Log Message:
-----------
[mlir][spirv] Allow yielding values from loop regions (#135344)
This change extends `spirv.mlir.loop` so it can yield values, the same
as `spirv.mlir.selection`.
Commit: f5c8c1eedb44861cda8885a04813de999ca9d18a
https://github.com/llvm/llvm-project/commit/f5c8c1eedb44861cda8885a04813de999ca9d18a
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/SystemZ/vec-elt-insertion.ll
M llvm/test/Transforms/SLPVectorizer/full-overlap-non-schedulable.ll
Log Message:
-----------
[SLPVectorizer] Move X86 specific handling into X86TTIImpl. (#137830)
`ad9909d "[SLP]Fix perfect diamond match with extractelements in scalars" `
changed SLPVectorizer getScalarizationOverhead() to call
TTI.getVectorInstrCost() instead of TTI.getScalarizationOverhead() in some
cases. This was due to X86 specific handlings in these (overridden) methods,
and unfortunately the general preference of TTI.getScalarizationOverhead()
was dropped. If VL is available it should always be preferred to use
getScalarizationOverhead(), and this is indeed the case for SystemZ which
has a special insertion instruction that can insert two GPR64s.
Then ` 33af951 "[SLP]Synchronize cost of gather/buildvector nodes with
codegen"` reworked SLPVectorizer getGatherCost() which together with
ad9909d caused the SystemZ test vec-elt-insertion.ll to fail.
This patch restores the SystemZ test and reverts the change in SLPVectorizer
getScalarizationOverhead() so that TTI.getScalarizationOverhead() is always
called again. The ForPoisonSrc argument is now passed on to the TTI method
so that X86 can handle this as required.
Fixes: #135346
Commit: 75f040ab3e119e0ee87963ec9d2a01b1e6d4039e
https://github.com/llvm/llvm-project/commit/75f040ab3e119e0ee87963ec9d2a01b1e6d4039e
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M libclc/clc/include/clc/common/clc_degrees.h
M libclc/clc/include/clc/common/clc_radians.h
M libclc/clc/include/clc/common/clc_sign.h
M libclc/clc/include/clc/common/clc_smoothstep.h
M libclc/clc/include/clc/integer/clc_add_sat.h
M libclc/clc/include/clc/integer/clc_clz.h
M libclc/clc/include/clc/integer/clc_ctz.h
M libclc/clc/include/clc/integer/clc_hadd.h
M libclc/clc/include/clc/integer/clc_mad24.h
M libclc/clc/include/clc/integer/clc_mad_sat.h
M libclc/clc/include/clc/integer/clc_mul24.h
M libclc/clc/include/clc/integer/clc_mul_hi.h
M libclc/clc/include/clc/integer/clc_rhadd.h
M libclc/clc/include/clc/integer/clc_rotate.h
M libclc/clc/include/clc/integer/clc_sub_sat.h
M libclc/clc/include/clc/internal/math/clc_sw_fma.h
M libclc/clc/include/clc/math/clc_acos.h
M libclc/clc/include/clc/math/clc_acosh.h
M libclc/clc/include/clc/math/clc_acospi.h
M libclc/clc/include/clc/math/clc_asin.h
M libclc/clc/include/clc/math/clc_asinh.h
M libclc/clc/include/clc/math/clc_asinpi.h
M libclc/clc/include/clc/math/clc_atan.h
M libclc/clc/include/clc/math/clc_atan2.h
M libclc/clc/include/clc/math/clc_atan2pi.h
M libclc/clc/include/clc/math/clc_atanh.h
M libclc/clc/include/clc/math/clc_atanpi.h
M libclc/clc/include/clc/math/clc_cbrt.inc
M libclc/clc/include/clc/math/clc_ceil.h
M libclc/clc/include/clc/math/clc_copysign.h
M libclc/clc/include/clc/math/clc_cosh.h
M libclc/clc/include/clc/math/clc_cospi.h
M libclc/clc/include/clc/math/clc_exp.h
M libclc/clc/include/clc/math/clc_exp10.h
M libclc/clc/include/clc/math/clc_exp2.h
M libclc/clc/include/clc/math/clc_exp_helper.h
M libclc/clc/include/clc/math/clc_expm1.h
M libclc/clc/include/clc/math/clc_fabs.h
M libclc/clc/include/clc/math/clc_fdim.h
M libclc/clc/include/clc/math/clc_floor.h
M libclc/clc/include/clc/math/clc_fma.h
M libclc/clc/include/clc/math/clc_fmax.h
M libclc/clc/include/clc/math/clc_fmin.h
M libclc/clc/include/clc/math/clc_fmod.h
M libclc/clc/include/clc/math/clc_fract.h
M libclc/clc/include/clc/math/clc_frexp.h
M libclc/clc/include/clc/math/clc_hypot.h
M libclc/clc/include/clc/math/clc_lgamma.h
M libclc/clc/include/clc/math/clc_lgamma_r.h
M libclc/clc/include/clc/math/clc_log.h
M libclc/clc/include/clc/math/clc_log10.h
M libclc/clc/include/clc/math/clc_log1p.h
M libclc/clc/include/clc/math/clc_log2.h
M libclc/clc/include/clc/math/clc_mad.h
M libclc/clc/include/clc/math/clc_modf.h
M libclc/clc/include/clc/math/clc_nan.h
M libclc/clc/include/clc/math/clc_native_cos.h
M libclc/clc/include/clc/math/clc_native_divide.h
M libclc/clc/include/clc/math/clc_native_exp.h
M libclc/clc/include/clc/math/clc_native_exp10.h
M libclc/clc/include/clc/math/clc_native_exp2.h
M libclc/clc/include/clc/math/clc_native_log.h
M libclc/clc/include/clc/math/clc_native_log10.h
M libclc/clc/include/clc/math/clc_native_log2.h
M libclc/clc/include/clc/math/clc_native_powr.h
M libclc/clc/include/clc/math/clc_native_recip.h
M libclc/clc/include/clc/math/clc_native_rsqrt.h
M libclc/clc/include/clc/math/clc_native_sin.h
M libclc/clc/include/clc/math/clc_native_sqrt.h
M libclc/clc/include/clc/math/clc_native_tan.h
M libclc/clc/include/clc/math/clc_nextafter.h
M libclc/clc/include/clc/math/clc_pow.h
M libclc/clc/include/clc/math/clc_pown.h
M libclc/clc/include/clc/math/clc_powr.h
M libclc/clc/include/clc/math/clc_remainder.h
M libclc/clc/include/clc/math/clc_remquo.h
M libclc/clc/include/clc/math/clc_rint.h
M libclc/clc/include/clc/math/clc_rootn.h
M libclc/clc/include/clc/math/clc_round.h
M libclc/clc/include/clc/math/clc_rsqrt.h
M libclc/clc/include/clc/math/clc_sincos_helpers.h
M libclc/clc/include/clc/math/clc_sinh.h
M libclc/clc/include/clc/math/clc_sinpi.h
M libclc/clc/include/clc/math/clc_sqrt.h
M libclc/clc/include/clc/math/clc_tanh.h
M libclc/clc/include/clc/math/clc_tanpi.h
M libclc/clc/include/clc/math/clc_tgamma.h
M libclc/clc/include/clc/math/clc_trunc.h
M libclc/clc/include/clc/relational/clc_bitselect.h
M libclc/clc/include/clc/relational/clc_isfinite.h
M libclc/clc/include/clc/relational/clc_isgreater.h
M libclc/clc/include/clc/relational/clc_isgreaterequal.h
M libclc/clc/include/clc/relational/clc_isless.h
M libclc/clc/include/clc/relational/clc_islessequal.h
M libclc/clc/include/clc/relational/clc_islessgreater.h
M libclc/clc/include/clc/relational/clc_isnormal.h
M libclc/clc/include/clc/relational/clc_isnotequal.h
M libclc/clc/include/clc/relational/clc_isordered.h
M libclc/clc/include/clc/relational/clc_isunordered.h
M libclc/clc/include/clc/relational/clc_signbit.h
M libclc/clc/lib/generic/math/clc_hypot.cl
M libclc/clc/lib/generic/relational/clc_bitselect.cl
M libclc/clspv/lib/shared/vstore_half.cl
M libclc/generic/include/clc/async/async_work_group_copy.h
M libclc/generic/include/clc/async/async_work_group_strided_copy.h
M libclc/generic/include/clc/async/prefetch.h
M libclc/generic/include/clc/common/degrees.h
M libclc/generic/include/clc/common/radians.h
M libclc/generic/include/clc/common/sign.h
M libclc/generic/include/clc/common/smoothstep.h
M libclc/generic/include/clc/common/step.h
M libclc/generic/include/clc/integer/clz.h
M libclc/generic/include/clc/integer/ctz.h
M libclc/generic/include/clc/integer/hadd.h
M libclc/generic/include/clc/integer/mad_hi.h
M libclc/generic/include/clc/integer/mad_sat.h
M libclc/generic/include/clc/integer/mul24.h
M libclc/generic/include/clc/integer/mul_hi.h
M libclc/generic/include/clc/integer/popcount.h
M libclc/generic/include/clc/integer/rhadd.h
M libclc/generic/include/clc/math/acos.h
M libclc/generic/include/clc/math/acosh.h
M libclc/generic/include/clc/math/acospi.h
M libclc/generic/include/clc/math/asin.h
M libclc/generic/include/clc/math/asinh.h
M libclc/generic/include/clc/math/asinpi.h
M libclc/generic/include/clc/math/atan.h
M libclc/generic/include/clc/math/atan2.h
M libclc/generic/include/clc/math/atan2pi.h
M libclc/generic/include/clc/math/atanh.h
M libclc/generic/include/clc/math/atanpi.h
M libclc/generic/include/clc/math/cbrt.h
M libclc/generic/include/clc/math/ceil.h
M libclc/generic/include/clc/math/copysign.h
M libclc/generic/include/clc/math/cos.h
M libclc/generic/include/clc/math/cosh.h
M libclc/generic/include/clc/math/cospi.h
M libclc/generic/include/clc/math/erf.h
M libclc/generic/include/clc/math/erfc.h
M libclc/generic/include/clc/math/exp.h
M libclc/generic/include/clc/math/exp10.h
M libclc/generic/include/clc/math/exp2.h
M libclc/generic/include/clc/math/expm1.h
M libclc/generic/include/clc/math/fabs.h
M libclc/generic/include/clc/math/fdim.h
M libclc/generic/include/clc/math/floor.h
M libclc/generic/include/clc/math/fma.h
M libclc/generic/include/clc/math/fmax.h
M libclc/generic/include/clc/math/fmin.h
M libclc/generic/include/clc/math/half_cos.h
M libclc/generic/include/clc/math/half_divide.h
M libclc/generic/include/clc/math/half_exp.h
M libclc/generic/include/clc/math/half_exp10.h
M libclc/generic/include/clc/math/half_exp2.h
M libclc/generic/include/clc/math/half_log.h
M libclc/generic/include/clc/math/half_log10.h
M libclc/generic/include/clc/math/half_log2.h
M libclc/generic/include/clc/math/half_powr.h
M libclc/generic/include/clc/math/half_recip.h
M libclc/generic/include/clc/math/half_rsqrt.h
M libclc/generic/include/clc/math/half_sin.h
M libclc/generic/include/clc/math/half_sqrt.h
M libclc/generic/include/clc/math/half_tan.h
M libclc/generic/include/clc/math/hypot.h
M libclc/generic/include/clc/math/ilogb.h
M libclc/generic/include/clc/math/lgamma.h
M libclc/generic/include/clc/math/lgamma_r.h
M libclc/generic/include/clc/math/log.h
M libclc/generic/include/clc/math/log10.h
M libclc/generic/include/clc/math/log1p.h
M libclc/generic/include/clc/math/log2.h
M libclc/generic/include/clc/math/logb.h
M libclc/generic/include/clc/math/mad.h
M libclc/generic/include/clc/math/maxmag.h
M libclc/generic/include/clc/math/minmag.h
M libclc/generic/include/clc/math/native_cos.h
M libclc/generic/include/clc/math/native_divide.h
M libclc/generic/include/clc/math/native_exp.h
M libclc/generic/include/clc/math/native_exp10.h
M libclc/generic/include/clc/math/native_exp2.h
M libclc/generic/include/clc/math/native_log.h
M libclc/generic/include/clc/math/native_log10.h
M libclc/generic/include/clc/math/native_log2.h
M libclc/generic/include/clc/math/native_powr.h
M libclc/generic/include/clc/math/native_recip.h
M libclc/generic/include/clc/math/native_rsqrt.h
M libclc/generic/include/clc/math/native_sin.h
M libclc/generic/include/clc/math/native_sqrt.h
M libclc/generic/include/clc/math/native_tan.h
M libclc/generic/include/clc/math/nextafter.h
M libclc/generic/include/clc/math/pow.h
M libclc/generic/include/clc/math/pown.h
M libclc/generic/include/clc/math/powr.h
M libclc/generic/include/clc/math/rint.h
M libclc/generic/include/clc/math/rootn.h
M libclc/generic/include/clc/math/round.h
M libclc/generic/include/clc/math/rsqrt.h
M libclc/generic/include/clc/math/sin.h
M libclc/generic/include/clc/math/sinh.h
M libclc/generic/include/clc/math/sinpi.h
M libclc/generic/include/clc/math/sqrt.h
M libclc/generic/include/clc/math/tan.h
M libclc/generic/include/clc/math/tanh.h
M libclc/generic/include/clc/math/tanpi.h
M libclc/generic/include/clc/math/tgamma.h
M libclc/generic/include/clc/math/trunc.h
M libclc/generic/include/clc/relational/bitselect.h
M libclc/generic/include/clc/relational/isfinite.h
M libclc/generic/include/clc/relational/isgreater.h
M libclc/generic/include/clc/relational/isgreaterequal.h
M libclc/generic/include/clc/relational/isless.h
M libclc/generic/include/clc/relational/islessequal.h
M libclc/generic/include/clc/relational/islessgreater.h
M libclc/generic/include/clc/relational/isnormal.h
M libclc/generic/include/clc/relational/isnotequal.h
M libclc/generic/include/clc/relational/isordered.h
M libclc/generic/include/clc/relational/isunordered.h
M libclc/generic/include/clc/relational/signbit.h
M libclc/generic/include/math/clc_tan.h
M libclc/generic/lib/async/async_work_group_copy.cl
M libclc/generic/lib/async/async_work_group_strided_copy.cl
M libclc/generic/lib/async/prefetch.cl
M libclc/generic/lib/shared/vload.cl
M libclc/generic/lib/shared/vstore.cl
Log Message:
-----------
[libclc] Clean up unnecessary #undef __CLC_BODYs (#137959)
This macro is automatically undefined by the various gentype-like
helpers.
Commit: c26db586a06204a9e6f9912f41fce62a559a0196
https://github.com/llvm/llvm-project/commit/c26db586a06204a9e6f9912f41fce62a559a0196
Author: Prakhar Dixit <dixitprakhar11 at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
M mlir/test/Dialect/Affine/SuperVectorize/vectorize_unsupported.mlir
Log Message:
-----------
[mlir][affine] Modify assertion into a user visible diagnostic (#136474)
Fixes #122227
The loop’s induction variable (%i) is used to compute two different
indices via affine.apply.
And the Vectorization Assumption is Violated i.e, Each vectorized loop
should contribute at most one non-invariant index.
**Minimal example crashing :**
```
#map = affine_map<(d0)[s0] -> (d0 mod s0)>
#map1 = affine_map<(d0)[s0] -> (d0 floordiv s0)>
func.func @single_loop_unrolling_2D_access_pattern(%arg0: index) -> memref<2x2xf32> {
%c2 = arith.constant 2 : index
%cst = arith.constant 1.0 : f32
%alloc = memref.alloc() : memref<2x2xf32>
affine.for %i = 0 to 4 {
%row = affine.apply #map1(%i)[%c2]
%col = affine.apply #map(%i)[%c2]
affine.store %cst, %alloc[%row, %col] : memref<2x2xf32>
}
return %alloc : memref<2x2xf32>
}
```
The single loop %i contributes two indices (%row and %col) to the 2D
memref access.
The permutation map expects one index per vectorized loop dimension, but
here one loop (%i) maps to two indices (dim=0 and dim=1).
The code detects this when trying to assign the second index (dim=1) to
the same vector dimension (perm[0]).
Commit: a8607063f32a14a6cf453c84edcb21d08f517f25
https://github.com/llvm/llvm-project/commit/a8607063f32a14a6cf453c84edcb21d08f517f25
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/character.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
Log Message:
-----------
[flang-rt] Simplify INDEX with len-1 SUBSTRING. (#137889)
The len-1 case is noticeably slower than gfortran's straightforward
implementation
https://github.com/gcc-mirror/gcc/blob/075611b646e5554ae02b2622061ea1614bf16ead/libgfortran/intrinsics/string_intrinsics_inc.c#L253
This change speeds up a simple microkernel by 37% on icelake.
Commit: f91a6e6dab44a7eacee2312f955b6e28cb227900
https://github.com/llvm/llvm-project/commit/f91a6e6dab44a7eacee2312f955b6e28cb227900
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/LoopAccessAnalysis/nusw-predicates.ll
Log Message:
-----------
[SCEV] Reject comparision of pointers to different address spaces in SCEVWrapPredicate::implies (#137935)
Commit: 8836bce84208737f5807c396345a41e688d3ec11
https://github.com/llvm/llvm-project/commit/8836bce84208737f5807c396345a41e688d3ec11
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang/docs/FortranStandardsSupport.md
M flang/docs/ReleaseNotes.md
M flang/include/flang/Optimizer/Builder/BoxValue.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/HostAssociations.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/Builder/Character.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/test/Fir/cse.fir
A flang/test/Fir/volatile.fir
A flang/test/Fir/volatile2.fir
A flang/test/HLFIR/volatile.fir
A flang/test/Lower/volatile-openmp.f90
A flang/test/Lower/volatile-string.f90
A flang/test/Lower/volatile1.f90
A flang/test/Lower/volatile2.f90
A flang/test/Lower/volatile3.f90
A flang/test/Lower/volatile4.f90
Log Message:
-----------
[flang] Add lowering of volatile references (#132486)
[RFC on
discourse](https://discourse.llvm.org/t/rfc-volatile-representation-in-flang/85404/1)
Flang currently lacks support for volatile variables. For some cases,
the compiler produces TODO error messages and others are ignored. Some
of our tests are like the example from _C.4 Clause 8 notes: The VOLATILE
attribute (8.5.20)_ and require volatile variables.
Prior commits:
```
c9ec1bc753b0 [flang] Handle volatility in lowering and codegen (#135311)
e42f8609858f [flang][nfc] Support volatility in Fir ops (#134858)
b2711e1526f9 [flang][nfc] Support volatile on ref, box, and class types (#134386)
```
Commit: 0e9fb5202ce2c1e3cc43436dd4c4b8cd57fa1cef
https://github.com/llvm/llvm-project/commit/0e9fb5202ce2c1e3cc43436dd4c4b8cd57fa1cef
Author: enh-google <enh at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M libc/test/src/search/lsearch_test.cpp
Log Message:
-----------
[libc] lsearch_test.cpp: put helpers in anonymous namespace. (#137964)
Commit: bad8bf56d3e4f107423b307f5f75564296703a76
https://github.com/llvm/llvm-project/commit/bad8bf56d3e4f107423b307f5f75564296703a76
Author: James Newling <james.newling at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/test/Dialect/Vector/linearize.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir][vector] Linearization: push 'bit width' logic out of patterns (#136581)
[NFC]
Vector linearization is a collection of rewrite patterns that reduce the
rank of vector operands and results.
In https://github.com/llvm/llvm-project/pull/83314 an option to ignore
(make 'legal') operations with large inner-most dimensions was added.
This current PR is a step towards making that option live outside of
upstream MLIR. The motivation is to remove non-core functionality (I
would like to use this pass, but would prefer not to deal with
'targetVectorBitWidth` at all).
As a follow-up to this PR, I propose that user(s) of the
`targetVectorBitWidth` move the relevant code (now in
mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp) to their code
bases, and then eventually remove it from upstream. In addition the tests need to
split out (I've intentionally not modified the lit tests here, to make
it easier to confirm that this is a NFC). I'm happy to help make it
easier to do this final step!
The approach I've used is to move the logic pertaining to
`targetVectorBitWidth` out the patterns, and into the conversion target,
which the end user can control outside of core MLIR.
Commit: d7f096e3fe611ae2cc7403c3cf2f88255a47b61d
https://github.com/llvm/llvm-project/commit/d7f096e3fe611ae2cc7403c3cf2f88255a47b61d
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
A clang/test/CIR/IR/ternary.cir
A clang/test/CIR/Lowering/ternary.cir
A clang/test/CIR/Transforms/ternary.cir
Log Message:
-----------
[CIR] Upstream TernaryOp (#137184)
This patch adds TernaryOp to CIR plus a pass that flattens the operator
in FlattenCFG.
This is the first PR out of (probably) 3 wrt. TernaryOp. I split the
patches up to make reviewing them easier. As such, this PR is only about
adding the CIR operation. The next PR will be about the CodeGen bits
from the C++ conditional operator and the final one will add the
cir-simplify transform for TernaryOp and SelectOp.
---------
Co-authored-by: Morris Hafner <mhafner at nvidia.com>
Co-authored-by: Andy Kaylor <akaylor at nvidia.com>
Commit: 0bd992a8d7193e15191f14a4bd39fd4dd181dbdb
https://github.com/llvm/llvm-project/commit/0bd992a8d7193e15191f14a4bd39fd4dd181dbdb
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/AST/Mangle.h
M clang/lib/AST/Mangle.cpp
Log Message:
-----------
[clang AST] move mangling API to namespace clang to allow calls from swift-frontend (#137884)
When implementing `@objcDirect` in Swift, Swift needs to mangle a native
`Decl` that is not a clang Node, which in turn don't have access to
`clang::MangleContext`. Reimplementing mangling logic in Swift is
redundant.
This patch moves mangling logic from `clang::MangleContext` to `clang`
using only basic types (`StringRef`, `std::optional`, etc.), such that
Swift can we can just call Clang API: Swift depends on Clang already.
We are separating this from #126639 so we can draft the proposal on the
Swift side. #126639 will be worked to depend on this PR.
Tests: No new tests, old ones should pass with no problem.
---------
Signed-off-by: Peter Rong <PeterRong at meta.com>
Commit: ea3959e841367ef691472ccf78ec25252dbfe288
https://github.com/llvm/llvm-project/commit/ea3959e841367ef691472ccf78ec25252dbfe288
Author: Quinn Dawkins <quinn.dawkins at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/test/Dialect/Arith/value-bounds-op-interface-impl.mlir
Log Message:
-----------
[MLIR][Arith] Add ValueBoundsOpInterface for FloorDivSI (#137879)
Enables value bounds inference through signed division operations.
Commit: 8e4dd21e6362ca161b7fda4fe7c5fa20f72ffab2
https://github.com/llvm/llvm-project/commit/8e4dd21e6362ca161b7fda4fe7c5fa20f72ffab2
Author: Finn Plummer <canadienfinn at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
Log Message:
-----------
[HLSL][RootSignature] Add lexing support for floating points (#137720)
- this takes care to add support to match the [behaviour of
DXC](https://github.com/microsoft/DirectXShaderCompiler/blob/34b6d0f91e6afd523bdc574836093f021713cce7/tools/clang/lib/Parse/HLSLRootSignature.cpp#L74)
acceptable floating point integers
Namely:
- Allow for specifying the decimal '.'
- Allow for specifying exponents with 'e' or 'E' and allow for 'f' to
denote an otherwise interpreted integer as a float
This pr is simply responsible of creating a token that could be
interpeted as a floating point integer by `NumericLiteralParser`. As
such, we are not required to validate that the special characters only
occur once and that 'f' is only at the end of the string. These will be
validated when invoking `NumericLiteralParser` during parsing.
Resolves #126565
Commit: 6274cdb9a6714908c8a4e30d2ef0bf22a6949065
https://github.com/llvm/llvm-project/commit/6274cdb9a6714908c8a4e30d2ef0bf22a6949065
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Basic/TargetOSMacros.def
M clang/lib/Basic/Targets/X86.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Preprocessor/init.c
Log Message:
-----------
[clang] Fix UEFI Target info (#127290)
For X64 UEFI targets set appropriate integer type sizes, and relevant
ABI information.
---------
Co-authored-by: Petr Hosek <phosek at google.com>
Commit: ff8fc5bc45c166d686e485b306fdcdadd5b02637
https://github.com/llvm/llvm-project/commit/ff8fc5bc45c166d686e485b306fdcdadd5b02637
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/test/Shell/lit.site.cfg.py.in
Log Message:
-----------
[lldb][cmake] Add clang resource dir to LLDB shell tests config (#136761)
We want to be able to access the Clang resources directory in LLDB shell
tests, this commit adds the ability to do this by populating the
`CLANG_RESOURCE_DIR` variable in LLDBConfig.cmake.
Commit: 88b03aafdbda85355b1522bc8ddbf8b5db8fb2b0
https://github.com/llvm/llvm-project/commit/88b03aafdbda85355b1522bc8ddbf8b5db8fb2b0
Author: Matthias Braun <matze at braunis.de>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/utils/update_analyze_test_checks.py
M llvm/utils/update_cc_test_checks.py
M llvm/utils/update_llc_test_checks.py
M llvm/utils/update_mc_test_checks.py
M llvm/utils/update_mca_test_checks.py
M llvm/utils/update_mir_test_checks.py
M llvm/utils/update_test_checks.py
Log Message:
-----------
Change update_xxx_checks to continue on error when processing mutliple inputs (#137728)
Change llvm/utils/update_xxx_checks.py scripts to:
Catch exceptions individually for each test. On exception print which
test triggered the exception and continue with the remaining test
updates.
Commit: 2cd829fc2c63c7b93fa1c65f65f6d92f854ffcb7
https://github.com/llvm/llvm-project/commit/2cd829fc2c63c7b93fa1c65f65f6d92f854ffcb7
Author: Luke Lau <luke at igalia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
A llvm/test/Transforms/LoopVectorize/widen-intrinsic.ll
Log Message:
-----------
[VectorUtils][VPlan] Consolidate VPWidenIntrinsicRecipe::onlyFirstLaneUsed and isVectorIntrinsicWithScalarOpAtArg (#137497)
We can reuse isVectorIntrinsicWithScalarOpAtArg in VectorUtils to
determine if only the first lane will be used for a
VPWidenIntrinsicRecipe, provided that we also move the VP EVL operand
check into it.
This was needed by a local patch I was working on that created a
VPWidenIntrinsicRecipe with a VP intrinsic, and prevents the need to
update the scalar arguments in two places.
Commit: 2a5ee2501d6249933b0dd4f81a4ec56e146b9669
https://github.com/llvm/llvm-project/commit/2a5ee2501d6249933b0dd4f81a4ec56e146b9669
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/resource_binding_attr.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error.hlsl
M clang/test/SemaHLSL/resource_binding_implicit.hlsl
Log Message:
-----------
[HLSL] Allow resource annotations to specify only register space (#135287)
Specifying only `space` in a `register` annotation means the compiler
should implicitly assign a register slot to the resource from the
provided virtual register space.
Closes #133346
Commit: c02496901d979ddc7cd83aec34e408adba81e433
https://github.com/llvm/llvm-project/commit/c02496901d979ddc7cd83aec34e408adba81e433
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
Log Message:
-----------
[gn] port ff8fc5bc45c1, kind of
This is probably the wrong value. Might have to tweak later.
But I think nobody is running these tests at the moment anyways.
Commit: ee136383628290f7efa0fc4562beef2b411048bb
https://github.com/llvm/llvm-project/commit/ee136383628290f7efa0fc4562beef2b411048bb
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/test/Analysis/KernelInfo/launch-bounds/amdgpu.ll
M llvm/test/Analysis/KernelInfo/openmp/amdgpu.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast-captured.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ceil.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-copysign.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-exp.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-exp2.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fabs.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-floor.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fma.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmax-splat.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmax.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmin-splat.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmin.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ldexp-splat.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ldexp.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-log.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-log10.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-log2.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-mad.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-powr.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rint.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-round.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.defined.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.defined.sin.cos.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.nobuiltins.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.weak.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sqrt.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-trunc.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
M llvm/test/CodeGen/AMDGPU/annotate-noclobber.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-memcpy.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes.ll
M llvm/test/CodeGen/AMDGPU/coalescer-subranges-another-copymi-not-live.mir
M llvm/test/CodeGen/AMDGPU/coalescer-subranges-another-prune-error.mir
M llvm/test/CodeGen/AMDGPU/coalescer-subregjoin-fullcopy.mir
M llvm/test/CodeGen/AMDGPU/coalescer-with-subregs-bad-identical.mir
M llvm/test/CodeGen/AMDGPU/copy-hoist-no-spills.ll
M llvm/test/CodeGen/AMDGPU/diverge-switch-default.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/expand-variadic-call.ll
M llvm/test/CodeGen/AMDGPU/extload-align.ll
M llvm/test/CodeGen/AMDGPU/extra-sroa-after-unroll.ll
M llvm/test/CodeGen/AMDGPU/force-alwaysinline-lds-global-address.ll
M llvm/test/CodeGen/AMDGPU/loop-idiom.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-constants.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-control-flow.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-memops.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-p7-in-memory.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll
M llvm/test/CodeGen/AMDGPU/lower-kernargs.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/noop-shader-O0.ll
M llvm/test/CodeGen/AMDGPU/pal-simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/private-memory-r600.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-lifetime.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-loadstores.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-subvecs.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-to-lds-constantexpr-use.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-to-lds-select.ll
M llvm/test/CodeGen/AMDGPU/reqd-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/sdwa-scalar-ops.mir
M llvm/test/CodeGen/AMDGPU/sgpr-copy-local-cse.ll
M llvm/test/CodeGen/AMDGPU/sibling-call.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/sroa-before-unroll.ll
M llvm/test/CodeGen/AMDGPU/store-clobbers-load.ll
M llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.convergencetokens.ll
M llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.ll
M llvm/test/CodeGen/AMDGPU/unknown-processor.ll
M llvm/test/CodeGen/AMDGPU/unroll.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca-limits.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/adaptive_constant_global_redzones.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/adaptive_global_redzones.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_do_not_instrument_lds.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_do_not_instrument_scratch.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_constant_address_space.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_generic_address_space.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_global_address_space.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_mem_intrinsics.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/global_metadata_addrspacecasts.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/no_redzones_in_lds_globals.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/no_redzones_in_scratch_globals.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll
M llvm/test/Transforms/IndVarSimplify/AMDGPU/addrspace-7-doesnt-crash.ll
M llvm/test/Transforms/IndVarSimplify/AMDGPU/no-widen-to-i64.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/ptrmask.ll
M llvm/test/Transforms/Inline/AMDGPU/amdgpu-inline-alloca-argument-cost.ll
M llvm/test/Transforms/Inline/AMDGPU/amdgpu-inline-alloca-argument.ll
M llvm/test/Transforms/InstCombine/AMDGPU/memcpy-from-constant.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/atomics.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/different-addrspace-addressing-mode-loops.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-invalid-ptr-extend.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-postinc-pos-addrspace.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/preserve-addrspace-assert.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/address-space-ptr-sze-gep-index-assert.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/lower-gep.ll
M llvm/test/Transforms/VectorCombine/AMDGPU/as-transition-inseltpoison.ll
M llvm/test/Transforms/VectorCombine/AMDGPU/as-transition.ll
Log Message:
-----------
[AMDGPU] Remove explicit datalayout from tests where not needed
Since e39f6c1844fab59c638d8059a6cf139adb42279a opt will infer the
correct datalayout when given a triple. Avoid explicitly specifying it
in tests that depend on the AMDGPU target being present to avoid the
string becoming out of sync with the TargetInfo value.
Only tests with REQUIRES: amdgpu-registered-target or a local lit.cfg
were updated to ensure that tests for non-target-specific passes that
happen to use the AMDGPU layout still pass when building with a limited
set of targets.
Reviewed By: shiltian, arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/137921
Commit: a57847232f3b6d23c2d4d183be1964607140bf7b
https://github.com/llvm/llvm-project/commit/a57847232f3b6d23c2d4d183be1964607140bf7b
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/aa-metadata.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/addrspace-7.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/adjust-alloca-alignment.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/complex-index.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/dont-adjust-globalobj-alignment.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/extended-index.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/gep-bitcast.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/insertion-point.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/interleaved-mayalias-store.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/invariant-load.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-stores-private.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-stores.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/missing-alignment.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/multiple_tails.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/no-implicit-float.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/optnone.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/pointer-elements.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/selects-inseltpoison.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/selects.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/store_with_aliasing_load.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/weird-type-accesses.ll
Log Message:
-----------
[LoadStoreVectorizer] Remove more unnecessary data layouts from tests
The tests in this directory all depend on the AMDGPU target being
present so we can let opt infer the data layout.
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/137924
Commit: b02f2e80567af09576692554bc7ce048326dfd06
https://github.com/llvm/llvm-project/commit/b02f2e80567af09576692554bc7ce048326dfd06
Author: Alex Richardson <alexrichardson at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/test/Transforms/GlobalOpt/global_alloca_diff_addrspaces.ll
Log Message:
-----------
[GlobalOpt] Simplify datalayout for test
There is no need to have a full AMDGPU data layout here, we just need a
different alloca and globals address space.
Commit: fa769655e73d70b480be8034a1cbc101115c1678
https://github.com/llvm/llvm-project/commit/fa769655e73d70b480be8034a1cbc101115c1678
Author: Samuel Tebbs <samuel.tebbs at arm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
Log Message:
-----------
[LV] NFC: Make VPPartialReductionRecipe a VPReductionRecipe
Commit: ea0e6e33835fe9fada89f77cc3a6cd74eb690067
https://github.com/llvm/llvm-project/commit/ea0e6e33835fe9fada89f77cc3a6cd74eb690067
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/SemaOpenACC/loop-construct.cpp
Log Message:
-----------
[OpenACC] Improve 'loop' content restrictions
The 'loop' construct has some limitations that are not particularly
clear on what can be in the for-loop. This patch adds some restriction
so that the increment can only be a addition or subtraction operation,
BUT starts allowing Itr = Itr +/- N forms.
Commit: 1531dfcb3a953b7b3187bca7e58e4e18def58d7d
https://github.com/llvm/llvm-project/commit/1531dfcb3a953b7b3187bca7e58e4e18def58d7d
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/IR/Mangler.cpp
M llvm/test/CodeGen/X86/dllexport-x86_64.ll
M llvm/test/CodeGen/X86/mangle-question-mark.ll
M llvm/test/CodeGen/X86/win32-preemption.ll
M llvm/unittests/IR/ManglerTest.cpp
Log Message:
-----------
[llvm] Linker flags for UEFI (#137878)
Use appropriate linker flag format to match PE spec for UEFI.
Commit: d30554b19edc27bc9ca3475b888c1b3e4eda87c4
https://github.com/llvm/llvm-project/commit/d30554b19edc27bc9ca3475b888c1b3e4eda87c4
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/include/mlir/Dialect/XeGPU/Transforms/Transforms.h
A mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
M mlir/lib/Dialect/XeGPU/CMakeLists.txt
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/Transforms/CMakeLists.txt
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
A mlir/lib/Dialect/XeGPU/Utils/CMakeLists.txt
A mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
A mlir/test/Dialect/XeGPU/subgroup-distribution.mlir
M mlir/test/Dialect/XeGPU/subgroup-map-propagation.mlir
Log Message:
-----------
[mlir][xegpu] SIMT distribution patterns for XeGPU CreateNdTdesc, LoadNd, StoreNd and Dpas Ops. (#135271)
This PR adds the SIMT distribution patterns for create_nd_tdesc, load_nd, store_nd and dpas XeGPU ops.
Commit: d851490c290832507d5fd87227e995d233b9f5b2
https://github.com/llvm/llvm-project/commit/d851490c290832507d5fd87227e995d233b9f5b2
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
Log Message:
-----------
[HLSL] Make lerp overload tests stricter. NFC (#137898)
These tests had checks across multiple functions, because none of the
hlsl header implementation functions were inlined. Switch the run lines
to use -O1 instead of -disable-llvm-passes and rewrite the tests to
actually look at the whole function.
Note - this would be simpler with update_cc_test_checks, but the
differences between DX and SPIRV are difficult to account for with those
scripts.
Commit: ae6b4b23ea4291e937192a3c08d0f3c9835864c2
https://github.com/llvm/llvm-project/commit/ae6b4b23ea4291e937192a3c08d0f3c9835864c2
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_compat_overloads.h
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
Log Message:
-----------
[HLSL] Overloads for `lerp` with a scalar weight (#137877)
This adds overloads for the `lerp` function that accept a scalar for the
weight parameter by splatting it into the appropriate vector.
Fixes #137827
Commit: b85f37a132827c8c298c2362ef0429f0dd71adb2
https://github.com/llvm/llvm-project/commit/b85f37a132827c8c298c2362ef0429f0dd71adb2
Author: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M lldb/unittests/Core/MangledTest.cpp
Log Message:
-----------
[lldb][test] Free buffer to fix memory leak on test (#137979)
Commit: 228b3309880bbd5a237257df5d67a0f7f4b5a01f
https://github.com/llvm/llvm-project/commit/228b3309880bbd5a237257df5d67a0f7f4b5a01f
Author: Aaron Puchert <aaronpuchert at alice-dsl.net>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
M clang/test/SemaCXX/warn-thread-safety-parsing.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
Support pack expansion for Clang Thread Safety attributes (#137477)
Support for attribute parameter packs was added some time ago in commit
ead1690d31f815c00fdd2bc23db4766191bbeabc. But template substitution
didn't expand the packs yet. For now expansion can only happen within a
`VariadicExprArgument`: i.e. in `try_acquire_capability`, which takes a
regular and a variadic argument, the template can't have a single pack
that then expands to cover both arguments.
This is a prerequisite for #42000.
Commit: 4a6c81dc0e2790ec48a7da483970b95d847be8d7
https://github.com/llvm/llvm-project/commit/4a6c81dc0e2790ec48a7da483970b95d847be8d7
Author: Alan Zhao <ayzhao at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/Misc/time-passes.c
M clang/tools/driver/cc1_main.cpp
M llvm/lib/Support/Timer.cpp
Log Message:
-----------
[clang] Implement JSON formatted -ftime-report (#137737)
This patch adds a new flag, -ftime-report-json, which outputs the same
information as -ftime-report but as JSON instead of -ftime-report's
pretty printed format.
Commit: e8f590e0e3507e6ad30d17bfd52530e70d372315
https://github.com/llvm/llvm-project/commit/e8f590e0e3507e6ad30d17bfd52530e70d372315
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/test/Dialect/OpenACC/invalid.mlir
M mlir/test/Dialect/OpenACC/ops.mlir
Log Message:
-----------
[mlir][acc] Improve acc.loop support as a container (#137887)
Dialects which have their own loop representation not representable with
numeric bounds + steps cannot be represented cleanly with acc.loop. In
such a case, we permit the dialects representation with acc.loop merely
encompasing its loop representation. This limitation became obvious when
looking at range / random iterator C++ loops.
The API of acc.loop was updated to test for this differentiation.
Additionally, the verifier was updated to check for consistent bounds
and whether inner-loops are contained when it works as a container.
Commit: 92b03e4f04405bfe55d707ed17a8b6ca89513018
https://github.com/llvm/llvm-project/commit/92b03e4f04405bfe55d707ed17a8b6ca89513018
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGCall.cpp
Log Message:
-----------
[clang][NFC] Format two files with CallingConv switches (#138000)
I'm planning on modifying this code so format it so we can pass the
formatting check.
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 7dad8b91bc94741034052a4eb06ef45e7cb47c06
https://github.com/llvm/llvm-project/commit/7dad8b91bc94741034052a4eb06ef45e7cb47c06
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/test/HLFIR/simplify-hlfir-intrinsics-maxloc.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-maxval.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-minloc.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-minval.fir
Log Message:
-----------
[flang] Fetch the initial reduction value from the input array. (#136790)
Instead of using loop-carried IsFirst predicate, we can fetch
the initial reduction values for MIN/MAX LOC/VAL reductions
from the array itself. This results in a little bit cleaner
loop nests, especially, generated for total reductions.
Otherwise, LLVM is able to peel the first iteration of the innermost
loop, but the surroudings of the peeled code are executed
multiple times withing the outer loop(s).
This patch does the manual peeling, which only works for
non-masked reductions where the input array is not empty.
Commit: 9b0eaf71e674a28ee55be3afa11b5f7d4da732c0
https://github.com/llvm/llvm-project/commit/9b0eaf71e674a28ee55be3afa11b5f7d4da732c0
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/allocator-registry.h
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/reduction-templates.h
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/lib/runtime/allocatable.cpp
M flang-rt/lib/runtime/array-constructor.cpp
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/character.cpp
M flang-rt/lib/runtime/copy.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/extrema.cpp
M flang-rt/lib/runtime/findloc.cpp
M flang-rt/lib/runtime/matmul-transpose.cpp
M flang-rt/lib/runtime/matmul.cpp
M flang-rt/lib/runtime/misc-intrinsic.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang-rt/lib/runtime/temporary-stack.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/lib/runtime/transformational.cpp
M flang-rt/unittests/Evaluate/reshape.cpp
M flang-rt/unittests/Runtime/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang-rt/unittests/Runtime/CUDA/Memory.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang-rt/unittests/Runtime/CommandTest.cpp
M flang-rt/unittests/Runtime/TemporaryStack.cpp
M flang-rt/unittests/Runtime/tools.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Runtime/CUDA/allocatable.h
M flang/include/flang/Runtime/CUDA/pointer.h
M flang/include/flang/Runtime/allocatable.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/cuf-invalid.fir
M flang/test/Fir/cuf.mlir
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Transforms/lower-repack-arrays.fir
Log Message:
-----------
[flang][cuda] Use a reference for asyncObject (#138010)
Switch from `int64_t` to `int64_t*` to fit with the rest of the
implementation.
Commit: 6e49f73825f1b9cb98352a7c8dca3e0cf83ebd9e
https://github.com/llvm/llvm-project/commit/6e49f73825f1b9cb98352a7c8dca3e0cf83ebd9e
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm-c/Core.h
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/GlobalISel/MachineIRBuilder.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/Core.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.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
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-cxx.td
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
M llvm/test/Transforms/AtomicExpand/AArch64/atomicrmw-fp.ll
M llvm/test/Transforms/InstCombine/atomicrmw.ll
M llvm/test/Transforms/LowerAtomic/atomic-load.ll
Log Message:
-----------
Reland [llvm] Add support for llvm IR atomicrmw fminimum/fmaximum instructions (#137701)
This patch adds support for LLVM IR atomicrmw `fmaximum` and `fminimum`
instructions.
These mirror the `llvm.maximum.*` and `llvm.minimum.*` instructions, but
are atomic and use IEEE754 2019 handling for NaNs, which is different to
`fmax` and `fmin`. See:
https://llvm.org/docs/LangRef.html#llvm-minimum-intrinsic
for more details.
Future changes will allow this LLVM IR to be lowered to specialised
assembler instructions on suitable targets, such as AArch64.
Commit: 4ac4ad410ca5ed8b83ff397246aa6ac27742690d
https://github.com/llvm/llvm-project/commit/4ac4ad410ca5ed8b83ff397246aa6ac27742690d
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lsfe.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8a_fp.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lsfe.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8a_fp.ll
M llvm/test/CodeGen/AArch64/Atomics/generate-tests.py
Log Message:
-----------
[AArch64][llvm] Pre-commit tests for #137703 (NFC) (#137702)
Add pre-commit tests for lowering atomicrmw `fminimum`/`fmaximum` to
AArch64 assembler, in a subsequent change.
Commit: ea1bfbf3f6399b7d2d840722f0e87542d00f6a35
https://github.com/llvm/llvm-project/commit/ea1bfbf3f6399b7d2d840722f0e87542d00f6a35
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
A clang/test/ClangScanDeps/export.c
M clang/test/ClangScanDeps/optimize-vfs-pch.m
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang][Dependency Scanning] Report What a Module Exports during Scanning (#137421)
We would like to report, for a module, which direct dependencies it
exports during dependency scanning. This PR implements this reporting by
augmenting `ModuleDep`'s `ClangModuleDeps` variable. `ClangModuleDeps`
now contains instances of `DepInfo`, which is made of a `ModuleID` and a
boolean flag that indicates if a particular dependence is exported.
rdar://144794793
Commit: 60c9f3fd89ab60ddda7bd6d27a65948ff8188d23
https://github.com/llvm/llvm-project/commit/60c9f3fd89ab60ddda7bd6d27a65948ff8188d23
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lsfe.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lsfe.ll
Log Message:
-----------
[AArch64][llvm] Codegen for 16/32/64-bit floating-point atomicrmw fminimum/faximum (#137703)
Codegen for AArch64 16/32/64-bit floating-point atomic read-modify-write
operations (`atomicrmw {fmaximum,fminimum}`) using LD{B}FMAX and
LD{B}FMIN atomic instructions.
Commit: 02e316cf8c9c73aad580e8c0d1b3b691567601ca
https://github.com/llvm/llvm-project/commit/02e316cf8c9c73aad580e8c0d1b3b691567601ca
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
A llvm/test/CodeGen/DirectX/legalize-memset.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
Log Message:
-----------
[DirectX] legalize memset (#136244)
fixes #136243
This change converts memset into a series of geps and stores It is
intentionally limited to memsets of fixed size It also converts the byte
stores to type stores.
DXIL does not support i8 plus this reduces the total number of gep and
store instructions.
This change also moves DXILFinalizeLinkage to run after Legalization to
clean up any dead intrinsic definitions.
Commit: 9b8c96a040ae6b76bb73690acfc5bea85aaa51d4
https://github.com/llvm/llvm-project/commit/9b8c96a040ae6b76bb73690acfc5bea85aaa51d4
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
A llvm/test/CodeGen/AArch64/aarch64-ldst-opt-instr-ref.mir
Log Message:
-----------
[InstrRef] Preserve debug instr num in aarch64-ldst-opt. (#136009)
The aarch64-ldst-opt pass tries to merge two load instructions
(LDR*) to a load pair instruction (LDP*).
When merging the instructions, there is a case where one of the
loads would have to also be sign extended. In either case,
(sign extend or not), the pass needs to preserve the debug-instr-number
from the original loads to the load pair instruction to make sure debug
info
isn't lost in the case where instruction referencing is being used.
For example:
We can have something like this:
```
debugValueSubstitutions:[]
$x1 = LDRXui $x0, 1, debug-instr-number 1
DBG_INSTR_REF !13, dbg-instr-ref(1, 0), debug-location !11
$x0 = LDRXui killed $x0, 0, debug-instr-number 2
DBG_INSTR_REF !14, dbg-instr-ref(2, 0), debug-location !11
```
This would be changed to:
```
debugValueSubstitutions: []
$x0, $x1 = LDPXi $x0, 0
DBG_INSTR_REF !12, dbg-instr-ref(1, 0), debug-location !14
DBG_INSTR_REF !13, dbg-instr-ref(2, 0), debug-location !14
```
In this case, we need to create a new debug instruction number
for the `LDP` instruction, we then need to add entries into the
debugSubstitutions table to map the old instr-refs to the new ones.
After this patch, the result will be:
```
debugValueSubstitutions:
- { srcinst: 1, srcop: 0, dstinst: 3, dstop: 1, subreg: 0 }
- { srcinst: 2, srcop: 0, dstinst: 3, dstop: 0, subreg: 0 }
$x0, $x1 = LDPXi $x0, 0, debug-instr-number 3
DBG_INSTR_REF !12, dbg-instr-ref(1, 0), debug-location !14
DBG_INSTR_REF !12, dbg-instr-ref(2, 0), debug-location !14
```
However, this is not all, we also can have a case where there is a
sign-extend involved, let's look at the case:
```
debugValueSubstitutions:[]
$w1 = LDRWui $x0, 1, debug-instr-number 1
DBG_INSTR_REF !7, dbg-instr-ref(1, 0), debug-location !9
$x0 = LDRSWui $x0, 0, debug-instr-number 2
DBG_INSTR_REF !8, dbg-instr-ref(2, 0), debug-location !9
```
This will become:
```
debugValueSubstitutions:[]
$w0, $w1 = LDPWi $x0, 0
$w0 = KILL $w0, implicit-def $x0
$x0 = SBFMXri $x0, 0, 31
DBG_INSTR_REF !7, dbg-instr-ref(1, 0), debug-location !9
DBG_INSTR_REF !8, dbg-instr-ref(2, 0), debug-location !9
```
$x0 is where the final value is stored, so the sign extend (SBFMXri)
instruction contains the final value we care about we give it a new
debug-instr-number 3. Whereas, $w1 contains the final value that we care
about, therefore the LDP instruction is also given a new
debug-instr-number 4. We have to add these subsitutions to the
debugValueSubstitutions table. However, we also have to ensure that the
OpIndex that pointed to debug-instr-number 1 gets updated to 1, because
$w1 is the second operand of the LDP instruction.
The result after the patch looks like:
```
debugValueSubstitutions:
- { srcinst: 1, srcop: 0, dstinst: 4, dstop: 1, subreg: 0 }
- { srcinst: 2, srcop: 0, dstinst: 3, dstop: 0, subreg: 0 }
$w0, $w1 = LDPWi $x0, 0, debug-instr-number 4
$w0 = KILL $w0, implicit-def $x0
$x0 = SBFMXri $x0, 0, 31, debug-instr-number 3
DBG_INSTR_REF !7, dbg-instr-ref(1, 0), debug-location !9
DBG_INSTR_REF !8, dbg-instr-ref(2, 0), debug-location !9
```
This patch addresses that problem.
Commit: 27e8e08b6633a31e6a5512df7a543615db4a1d56
https://github.com/llvm/llvm-project/commit/27e8e08b6633a31e6a5512df7a543615db4a1d56
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] port d30554b19edc27bc9ca3475b888c1b3e4eda87c4 (#138022)
Commit: 0a1dde1d7957531701ba56e357276033a927f496
https://github.com/llvm/llvm-project/commit/0a1dde1d7957531701ba56e357276033a927f496
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/Headers/gpuintrin.h
Log Message:
-----------
[Clang] Fix GPU match any truncating 64-bit lane mask
Summary:
This is a lane mask, needs all 64 bits for those wave64 targets. At some
point we should introduce __lanemask_t for this.
Commit: 21dcf6bcd1e2845601d07e1e46f17615d595f698
https://github.com/llvm/llvm-project/commit/21dcf6bcd1e2845601d07e1e46f17615d595f698
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
Log Message:
-----------
[libc] Make sure we use the right linker for bitcode linking
Summary:
We need to use the default arguments to ensure this uses the right
linker for the toolchain given cross-compiling contexts.
Commit: e9193f5fddf99188b385f2a5358dff60f7b119c4
https://github.com/llvm/llvm-project/commit/e9193f5fddf99188b385f2a5358dff60f7b119c4
Author: Tristan Ross <tristan.ross at midstall.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M .github/workflows/libc-fullbuild-tests.yml
Log Message:
-----------
[libc] add uefi fullbuild to workflows (#131376)
Comes after #131246 to enable UEFI being build. Skips tests until we
have set up testing.
Commit: af4aeb325c37832e399283763345d4fc47f449eb
https://github.com/llvm/llvm-project/commit/af4aeb325c37832e399283763345d4fc47f449eb
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
Log Message:
-----------
[RawPtrRefMemberChecker] Make RawPtrRefMemberChecker consistent with other checkers (#137559)
Refactor RawPtrRefMemberChecker so that each subclass override
isUnsafePtr like other WebKit checkers instead of overriding
isPtrCompatible.
Commit: 69327c16d17b13cb2bc27968a557276bd82eef9a
https://github.com/llvm/llvm-project/commit/69327c16d17b13cb2bc27968a557276bd82eef9a
Author: Alan Zhao <ayzhao at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/test/Misc/time-passes.c
M clang/tools/driver/cc1_main.cpp
Log Message:
-----------
[clang] Make `-ftime-report` and `-ftime-report-json` honor `-info-output-file` (#138035)
This way, the output of `-ftime-report` and `-ftime-report-json` can be
redirected to a specific file rather than just stderr.
Commit: df6d1cf4c2e9660967a53498a991ef9c1915c61e
https://github.com/llvm/llvm-project/commit/df6d1cf4c2e9660967a53498a991ef9c1915c61e
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/test/CIR/CodeGen/basic.cpp
Log Message:
-----------
[CIR] Upstream support for l-value references (#138001)
This adds basic support for handling reference values.
Commit: ba3a46c1eaea31ce4135fe30d34ede660dd2c680
https://github.com/llvm/llvm-project/commit/ba3a46c1eaea31ce4135fe30d34ede660dd2c680
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/descriptor.h
Log Message:
-----------
[flang][cuda] Fix type of kNoAsyncObject (#138029)
Commit: e6ffccbaa7c908839af150be8f7e21e0f8844dcc
https://github.com/llvm/llvm-project/commit/e6ffccbaa7c908839af150be8f7e21e0f8844dcc
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
Log Message:
-----------
[NVPTX][NFC] Minor cleanup in NVPTXInstrInfo.td (#138006)
Commit: af45da1d32f47dba97a9e973c4e0c61f8cc61fea
https://github.com/llvm/llvm-project/commit/af45da1d32f47dba97a9e973c4e0c61f8cc61fea
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Log Message:
-----------
[RISCV] Remove unused tablegen multiclass. NFC
Commit: 1495d132db1d26b086d2ea6b1b9c397bf4ea4a7d
https://github.com/llvm/llvm-project/commit/1495d132db1d26b086d2ea6b1b9c397bf4ea4a7d
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RestartRequestHandler.cpp
M lldb/tools/lldb-dap/LLDBUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.h
Log Message:
-----------
[lldb-dap] Add an RAII helper for synchronous mode (NFC) (#137900)
While debugging the flakiness of the launch and attach tests, I noticed
that we have some places in lldb-dap where we put the debugger in
synchronous mode and have an early exit, that would leave the debugger
in this state. This PR introduces an RAII helper to avoid such mistakes.
Commit: 71039bbc581b59bdec25ed1e1d4cc6e772d5bb0c
https://github.com/llvm/llvm-project/commit/71039bbc581b59bdec25ed1e1d4cc6e772d5bb0c
Author: mssefat <42645939+mssefat at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/fold-imm-copy.mir
Log Message:
-----------
[AMDGPU] Fix register class constraints for si-fold-operands pass when folding immediate into copies (#131387)
Fixes https://github.com/llvm/llvm-project/issues/130020
This fixes an issue where the si-fold-operands pass would incorrectly
fold immediate values into COPY instructions targeting av_32 registers.
The pass now checks register class constraints before attempting to fold
the immediate.
Commit: 5dc3cd0ee40c00d9fb542488fa5a54ff70273112
https://github.com/llvm/llvm-project/commit/5dc3cd0ee40c00d9fb542488fa5a54ff70273112
Author: Haowei <haowei at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
Log Message:
-----------
[llvm-exegesis][AArch64] Adding missing PR_PAC_ macro defintions (#138040)
This is a follow up of 3beacfa022da2a9c94e012e25bed89e8e4867ac2, which
added the PR_PAC_APIAKEY macro to resolve the build failures on older Linux
distros. However, it missed a few other definitions. This patch fixes
this issue.
Commit: 7d05f67a7377ad67e7eb15e0f8f7cf1f537b5afa
https://github.com/llvm/llvm-project/commit/7d05f67a7377ad67e7eb15e0f8f7cf1f537b5afa
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/include/llvm/Target/TargetCallingConv.td
A llvm/test/TableGen/cc-assign-to-reg-tuple.td
M llvm/utils/TableGen/CallingConvEmitter.cpp
Log Message:
-----------
[TableGen][CallingConv] Add CCAssignToRegTuple for synthetic registers. (#137826)
Currently CCAssignToReg takes a list<Register>. There are tuple-heavy
back-ends where we would like to reference any register-- whether those
are singletons or those defined by RegisterTuples. However, the latter
are synthesized during tuple expansion and are not visible outside of
the register info emitter.
The problem is that the parser will see tuple registers as undefined
variables before the calling convention emitter is ever reached. To
defer evaluation of the symbol, we introduce CCAssignToRegTuple which
takes list<string> instead. This allows us to defer the actual
register name lookup until the emitter runs-- where we also validate
that the register actually exists.
This is currently used in a downstream back-end which will be upstreamed
very soon. In the meantime, a unit test is provided to exercise the
feature.
Commit: afd738cd9016ddef4e26b309770ba35fd017a178
https://github.com/llvm/llvm-project/commit/afd738cd9016ddef4e26b309770ba35fd017a178
Author: Reid Kleckner <rnk at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/unittests/Basic/CMakeLists.txt
M clang/unittests/Format/CMakeLists.txt
M clang/unittests/libclang/CrashTests/CMakeLists.txt
M clang/unittests/libclang/CrashTests/LibclangCrashTest.cpp
Log Message:
-----------
[clang] Shard out some small gtest binaries (#138021)
@nico mentioned that FormatTests and BasicTests are small binaries with
few dependencies, so keeping them separate is nice. I broke them out as
distinct test binaries, and they are still pretty small:
$ find tools/clang/unittests/ -type f -name '*Tests' | xargs du -cksh |
sort -nr
708M total
276M tools/clang/unittests/AllClangUnitTests
244M tools/clang/unittests/Interpreter/ClangReplInterpreterTests
167M
tools/clang/unittests/Interpreter/ExceptionTests/ClangReplInterpreterExceptionTests
13M tools/clang/unittests/Format/FormatTests
6.9M tools/clang/unittests/Basic/BasicTests
1.1M tools/clang/unittests/libclang/CrashTests/libclangCrashTests
I also broke out libclangCrashTests and re-enabled the failing test to
resolve llvm#137855.
Commit: 708053cd7ec576c67fd1c72cd6b836987fbee2ce
https://github.com/llvm/llvm-project/commit/708053cd7ec576c67fd1c72cd6b836987fbee2ce
Author: Iris Shi <0.0 at owo.li>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenRecordLayout.h
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/union.c
Log Message:
-----------
[CIR] Upstream initial support for union type (#137501)
Closes #136059
Commit: c3715ecb1e1e63856a029be3c95b7e9595a56018
https://github.com/llvm/llvm-project/commit/c3715ecb1e1e63856a029be3c95b7e9595a56018
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
A utils/bazel/llvm-project-overlay/clang-tools-extra/clang-apply-replacements/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang-tools-extra/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Add clang-apply-replacements BUILD file (#138054)
Commit: e6a5d73f4d68462c1913fe9ac12217850872ae4e
https://github.com/llvm/llvm-project/commit/e6a5d73f4d68462c1913fe9ac12217850872ae4e
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-checked-ptr.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[WebKit checkers] Treat std::bit_cast as a pointer conversion (#137476)
WebKit repalced its use of WTF::bitwise_cast with std::bit_cast. Add the
support for recognizing it as a pointer conversion.
Commit: 46838e1a093510529185408349fe192c09ea42f0
https://github.com/llvm/llvm-project/commit/46838e1a093510529185408349fe192c09ea42f0
Author: Pranav Kant <prka at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M lld/ELF/ICF.cpp
Log Message:
-----------
[lld] NFC. Rename function to better reflect its implementation (#136625)
Commit: 07deaf8464f29c34ff46983450a7412a36adcb7b
https://github.com/llvm/llvm-project/commit/07deaf8464f29c34ff46983450a7412a36adcb7b
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Stack.h
M clang/lib/Basic/Stack.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M llvm/include/llvm/Support/CrashRecoveryContext.h
A llvm/include/llvm/Support/ProgramStack.h
M llvm/include/llvm/Support/thread.h
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/CrashRecoveryContext.cpp
A llvm/lib/Support/ProgramStack.cpp
M llvm/unittests/Support/CMakeLists.txt
A llvm/unittests/Support/ProgramStackTest.cpp
Log Message:
-----------
Reland: [llvm][clang] Allocate a new stack instead of spawning a new thread to get more stack space (#136046)
Reland https://github.com/llvm/llvm-project/pull/133173
Clang spawns a new thread to avoid running out of stack space. This can
make debugging and performance analysis more difficult as how the
threads are connected is difficult to recover.
This patch introduces `runOnNewStack` and applies it in Clang. On
platforms that have good support for it this allocates a new stack and
moves to it using assembly. Doing split stacks like this actually runs
on most platforms, but many debuggers and unwinders reject the large or
backwards stack offsets that occur. Apple platforms and tools are known
to support this, so this only enables it there for now.
Commit: b564f5eaeb10022f5b65397e7c922c150816365b
https://github.com/llvm/llvm-project/commit/b564f5eaeb10022f5b65397e7c922c150816365b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
Log Message:
-----------
[gn build] Port 07deaf8464f2
Commit: c588224ca797886064a7a79f6c0114a6963c325e
https://github.com/llvm/llvm-project/commit/c588224ca797886064a7a79f6c0114a6963c325e
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h
Log Message:
-----------
[bazel] Turn on LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING
This has been defined in #137787 and affects in
llvmorg-21-init-10310-g92195f6fc873 (#137787).
Commit: 8effc8da292bfacb823a7e3c4134296da481fedc
https://github.com/llvm/llvm-project/commit/8effc8da292bfacb823a7e3c4134296da481fedc
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenLexer.h
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
Reland [clang-format] Add OneLineFormatOffRegex option (#137577)
Commit: e6d7f46ce9a6ffdfc206802131e0d79afb624b3f
https://github.com/llvm/llvm-project/commit/e6d7f46ce9a6ffdfc206802131e0d79afb624b3f
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Correctly annotate user-defined conversion function call (#137914)
Fix #137770
Commit: 6efdcc188567fa2c9bde383e4397062f6d31427a
https://github.com/llvm/llvm-project/commit/6efdcc188567fa2c9bde383e4397062f6d31427a
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
A llvm/test/CodeGen/NVPTX/i128-ld-st.ll
Log Message:
-----------
[NVPTX] Fixup EXT_LOAD lowering for i128 values (#138049)
Ensure that when custom lowering a vector load/store to a multi-output
load/store node we confirm that the memory value type matches the type
used by the node. Also add some asserts for basic sanity checking of
load size.
Fixes https://github.com/llvm/llvm-project/issues/138034
Commit: c2c0ef50a1a679058fffe445a6e78b6d232dc231
https://github.com/llvm/llvm-project/commit/c2c0ef50a1a679058fffe445a6e78b6d232dc231
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::VariadicCallType` to scoped enum
Commit: 4258998654a67fb98da16f2c56cbb5912e990a9c
https://github.com/llvm/llvm-project/commit/4258998654a67fb98da16f2c56cbb5912e990a9c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/test/AST/ByteCode/constexpr-frame-describe.cpp
Log Message:
-----------
[clang][bytecode] Only print ptr/reference types via toAPValue() (#137965)
Otherwise, convert them to an RValue to print them. This fixes the
printing of e.g. complex values.
Commit: 53c175ceafc58fcdf13fd51f73506a7d277873bb
https://github.com/llvm/llvm-project/commit/53c175ceafc58fcdf13fd51f73506a7d277873bb
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
Log Message:
-----------
[nfc][clang] Rename function (#137874)
Rename function to meet the coding guidelines.
Commit: 16f01b37772ba7d9fec25a27ed493a93fbbe6f87
https://github.com/llvm/llvm-project/commit/16f01b37772ba7d9fec25a27ed493a93fbbe6f87
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang-rt/lib/cuda/allocatable.cpp
M flang-rt/lib/cuda/allocator.cpp
M flang/include/flang/Runtime/CUDA/allocator.h
Log Message:
-----------
[flang][cuda] Fix signatures after argument change (#138081)
Commit: 5f3e5df48186a7e409d548deec13a68486e3b944
https://github.com/llvm/llvm-project/commit/5f3e5df48186a7e409d548deec13a68486e3b944
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaStmt.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::BuiltinCountedByRefKind` to scoped enum
Commit: 01a18809ee80b5a8bfa5a7a116e846405ab2851a
https://github.com/llvm/llvm-project/commit/01a18809ee80b5a8bfa5a7a116e846405ab2851a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/allocator-registry.h
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/reduction-templates.h
M flang-rt/lib/cuda/allocatable.cpp
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/lib/runtime/allocatable.cpp
M flang-rt/lib/runtime/array-constructor.cpp
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/character.cpp
M flang-rt/lib/runtime/copy.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/extrema.cpp
M flang-rt/lib/runtime/findloc.cpp
M flang-rt/lib/runtime/matmul-transpose.cpp
M flang-rt/lib/runtime/matmul.cpp
M flang-rt/lib/runtime/misc-intrinsic.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang-rt/lib/runtime/temporary-stack.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/lib/runtime/transformational.cpp
M flang-rt/unittests/Evaluate/reshape.cpp
M flang-rt/unittests/Runtime/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang-rt/unittests/Runtime/CUDA/Memory.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang-rt/unittests/Runtime/CommandTest.cpp
M flang-rt/unittests/Runtime/TemporaryStack.cpp
M flang-rt/unittests/Runtime/tools.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Runtime/CUDA/allocatable.h
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/pointer.h
M flang/include/flang/Runtime/allocatable.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/cuf-invalid.fir
M flang/test/Fir/cuf.mlir
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Transforms/lower-repack-arrays.fir
Log Message:
-----------
Revert "[flang][cuda] Use a reference for asyncObject (#138010)" (#138082)
This reverts commit 9b0eaf71e674a28ee55be3afa11b5f7d4da732c0.
Commit: 4acfd83ee492ba238c4082a5467a5a8e92d45102
https://github.com/llvm/llvm-project/commit/4acfd83ee492ba238c4082a5467a5a8e92d45102
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Context.h
Log Message:
-----------
[clang][bytecode][NFC] Remove unused Context::getStack() (#138079)
Commit: e70a8a6e0e9c3700bcfe7e9cce3c5edee6a51022
https://github.com/llvm/llvm-project/commit/e70a8a6e0e9c3700bcfe7e9cce3c5edee6a51022
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::NameClassificationKind` to scoped enum
Commit: d0a97271a4ea2b0fe392afe498af20f8499260d2
https://github.com/llvm/llvm-project/commit/d0a97271a4ea2b0fe392afe498af20f8499260d2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
R clang/test/AST/ByteCode/constexpr-subobj-initialization.cpp
Log Message:
-----------
[clang][bytecode] Remove obsolete test file (#138080)
The corresponding test in `test/SemaCXX` has a line using the bytecode
interpreter these days.
Commit: c51be1be3ac9c66fc0c598298edd1fd224c1da07
https://github.com/llvm/llvm-project/commit/c51be1be3ac9c66fc0c598298edd1fd224c1da07
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/Sema/integer-overflow.c
Log Message:
-----------
[clang][bytecode] Fix checking for integer overflow (#137962)
We need to evaluate both the True/False expressions of a conditional
operator as well as the LHS/RHS of a binary operator in more cases.
Commit: 93ff19c27a0ad21068f431c0380f5a6dd5c4abc3
https://github.com/llvm/llvm-project/commit/93ff19c27a0ad21068f431c0380f5a6dd5c4abc3
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
M clang/test/CIR/IR/vector.cir
Log Message:
-----------
[CIR] Upstream global initialization for VectorType (#137511)
This change adds global initialization for VectorType
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: ac9e1df3efcaa80b8e0fc8a16a929c0f0dc2e161
https://github.com/llvm/llvm-project/commit/ac9e1df3efcaa80b8e0fc8a16a929c0f0dc2e161
Author: Thomas Du Plessis <t at dupes.io>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang-tools-extra/clangd/index/YAMLSerialization.cpp
M clang-tools-extra/clangd/index/remote/Index.proto
M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
M clang-tools-extra/clangd/unittests/remote/MarshallingTests.cpp
Log Message:
-----------
[clangd] Add container field to remote index Refs grpc method (#71605)
Fixes https://github.com/clangd/clangd/issues/1358
Commit: 7ec1e0f7ba9f3b03fa6163ab62c17dc9b404303e
https://github.com/llvm/llvm-project/commit/7ec1e0f7ba9f3b03fa6163ab62c17dc9b404303e
Author: Michele Scuttari <michele.scuttari at outlook.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M mlir/include/mlir/IR/SymbolTable.h
M mlir/lib/IR/SymbolTable.cpp
Log Message:
-----------
[MLIR] Add method to invalidate cached symbol table (#138014)
This PR adds a method to the `SymbolTableCollection` class to invalidate
the cached symbol table for an operation.
This is important when doing IR modifications that erase and also create
operations having the `OpTrait::SymbolTable` trait. If a symbol table of
an erased operation is not invalidated, a new operation sharing the same
address would be associated with outdated, and wrong, information.
Commit: 0d3d2f639c42b22fc1b9453c7b834dbb0f16c0dc
https://github.com/llvm/llvm-project/commit/0d3d2f639c42b22fc1b9453c7b834dbb0f16c0dc
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/Lex/PPDirectives.cpp
A clang/test/Preprocessor/macro_reserved.i
Log Message:
-----------
[Clang] Do not warn for serialized builtin or command-line definitions (#137306)
When using `-dD` to generate a preprocessed output, the `#define`
directives
are preserved. This includes built-in and command-line definitions.
Before, clang would warn for reserved identifiers for serialized
built-in
and command-line definitions.
This patch adds an exception to these cases.
Commit: 9b1051281e439fcf6f6ccf03766c5bcf04ceec4b
https://github.com/llvm/llvm-project/commit/9b1051281e439fcf6f6ccf03766c5bcf04ceec4b
Author: David Green <david.green at arm.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
M llvm/test/TableGen/HasNoUse.td
M llvm/test/TableGen/address-space-patfrags.td
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
[DAG] Use SDValue for PatFrag checks (#137519)
If the SDNode is used it can pick up the wrong results number, for
example looking at the known bits of the first result where it should be
looking at the second. The SDValue is already present as the
SelectCodeCommon checks move from parent to child, pass the SDValue
through to CheckNodePredicate as Op so that it can use it if necessary.
SDNode *N is still generated, keeping most PatFrags the same.
Fixes #137274
Commit: 6c4dd8d1d2f1e81c2b309924afb255b58a31ceb2
https://github.com/llvm/llvm-project/commit/6c4dd8d1d2f1e81c2b309924afb255b58a31ceb2
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_maxmag.h
A libclc/clc/include/clc/math/clc_minmag.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_maxmag.cl
A libclc/clc/lib/generic/math/clc_maxmag.inc
A libclc/clc/lib/generic/math/clc_minmag.cl
A libclc/clc/lib/generic/math/clc_minmag.inc
M libclc/generic/lib/math/maxmag.cl
R libclc/generic/lib/math/maxmag.inc
M libclc/generic/lib/math/minmag.cl
R libclc/generic/lib/math/minmag.inc
Log Message:
-----------
[libclc] Move minmag & maxmag to the CLC library (#137982)
Commit: c5b750f5af72fadd4c00c120c9c585240da466b4
https://github.com/llvm/llvm-project/commit/c5b750f5af72fadd4c00c120c9c585240da466b4
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M libclc/clc/lib/generic/math/clc_tables.cl
M libclc/generic/lib/math/tables.cl
Log Message:
-----------
[libclc] Move log2/log10 tables to CLC tables impl
These two tables were being used by the CLC library but their
definitions still remained in the OpenCL layer. This worked out after
linking the two together but is a layering violation.
This had a side effect of removing the two table getters from the final
bytecode library, which were never intended to be exposed.
These two tables should probably be refactored so allow better
vectorization of log/log2/log10, but that is left to future work.
Commit: 47424df2d5c6cc5a2b2d49a8cad438d8e75fec61
https://github.com/llvm/llvm-project/commit/47424df2d5c6cc5a2b2d49a8cad438d8e75fec61
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
Log Message:
-----------
[lldb][test] Skip part of TestLldbGdbServer.py on Windows
See https://github.com/llvm/llvm-project/issues/138085.
Commit: 2dbab4ca8ddb218af555d8d1fd86b72612387582
https://github.com/llvm/llvm-project/commit/2dbab4ca8ddb218af555d8d1fd86b72612387582
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_breakpointLocations.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
M lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
M lldb/test/API/tools/lldb-dap/memory/TestDAP_memory.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
Log Message:
-----------
[lldb][test] Disable a bunch of flakey lldb-dap tests
These, or parts of these, are all failing every so often on Linaro's
build bots with:
raise ValueError(desc)
ValueError: no response for "disconnect"
Sorry to use a global disable here but this is happening too often
and spamming unrelated PRs.
I think it's the same issue as https://github.com/llvm/llvm-project/issues/137660.
Commit: 9693bf457b8a3ae95735f86e23a94a7946ec540e
https://github.com/llvm/llvm-project/commit/9693bf457b8a3ae95735f86e23a94a7946ec540e
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/bindings/python/clang/cindex.py
Log Message:
-----------
[libclang/python] Add some logical typing changes. (#138074)
This adds a few logical changes that might require discussion to the
libclang/python typing project, as the next step towards #76664 .
Some documentation is also updated to reflect the recent changes in
returned types.
Commit: 4b3acfb10a6b6388b95682c471bdbf42982be030
https://github.com/llvm/llvm-project/commit/4b3acfb10a6b6388b95682c471bdbf42982be030
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
A clang/test/Sema/warn-duplicate-decl-specifier.c
Log Message:
-----------
[C] Add -Wduplicate-decl-specifier to -Wc++-compat (#138012)
The existing diagnostic, already enabled by default in C, will diagnose
use of duplicate declaration specifiers (e.g., `const const`). However,
the C++ standard claims that is ill-formed, so the diagnostic is now
also controlled via -Wc++-compat.
Note: Clang treats this as a warning in C++ rather than an error, but
GCC does treat this as an error in C++, so the compatibility concerns
are minor but do exist.
Commit: 00f9ef282c7482754a0fea497417604d1deca9fa
https://github.com/llvm/llvm-project/commit/00f9ef282c7482754a0fea497417604d1deca9fa
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/test/Sema/warn-default-const-init.c
Log Message:
-----------
[C] Modify -Wdefault-const-init (#137961)
Post-commit review feedback on
https://github.com/llvm/llvm-project/pull/137166 raised a concern from
the Linux kernel about wanting to silence the new diagnostic when the
uninitialized object is a const member of a structure. These members can
be initialized later if the containing object is non-const, such as
through a call to memset, for example.
This splits the diagnostic groups into:
```
-Wc++-compat
-Wdefault-const-init
-Wdefault-const-init-field
-Wdefault-const-init-var
-Wdefault-const-init-unsafe
-Wdefault-const-init-field-unsafe
-Wdefault-const-init-var-unsafe
```
---------
Co-authored-by: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Commit: 21aa7b8138a140514ea90d85bf86c57de68c6d4f
https://github.com/llvm/llvm-project/commit/21aa7b8138a140514ea90d85bf86c57de68c6d4f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/IR/Verifier.cpp
Log Message:
-----------
Verifier: Avoid unnecessary hasFnAttr (#138104)
When checking string attribute values are valid, it's not
necessary to check hasFnAttr prior to querying the value.
Commit: 212f2456fcde822fad37bfa4e69ced1a51a4c19d
https://github.com/llvm/llvm-project/commit/212f2456fcde822fad37bfa4e69ced1a51a4c19d
Author: Mohamed Emad <73320969+hulxv at users.noreply.github.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/include-cleaner/test/tool.cpp
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
Log Message:
-----------
[include-cleaner] rename enabled flags to `disable-*` (#132991)
Closes #132983
Commit: e377dc4d38b69050a3301c68637d1b6dacaee3a9
https://github.com/llvm/llvm-project/commit/e377dc4d38b69050a3301c68637d1b6dacaee3a9
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-flat-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/schedule-regpressure-limit-clustering.ll
Log Message:
-----------
[AMDGPU] Max. WG size-induced occupancy limits max. waves/EU (#137807)
The default maximum waves/EU returned by the family of
`AMDGPUSubtarget::getWavesPerEU` is currently the maximum number of
waves/EU supported by the subtarget (only a valid occupancy range in
"amdgpu-waves-per-eu" may lower that maximum). This ignores maximum
achievable occupancy imposed by flat workgroup size and LDS usage,
resulting in situations where `AMDGPUSubtarget::getWavesPerEU` produces
a maximum higher than the one from
`AMDGPUSubtarget::getOccupancyWithWorkGroupSizes`.
This limits the waves/EU range's maximum to the maximum achievable
occupancy derived from flat workgroup sizes and LDS usage. This only has
an impact on functions which restrict flat workgroup size with
"amdgpu-flat-work-group-size", since the default range of flat workgroup
sizes achieves the maximum number of waves/EU supported by the
subtarget.
Improvements to the handling of "amdgpu-waves-per-eu" are left for a
follow up PR (e.g., I think the attribute should be able to lower the
full range of waves/EU produced by these methods).
Commit: 75d1cceb948666af9b2cb26fc3933d4176a2806d
https://github.com/llvm/llvm-project/commit/75d1cceb948666af9b2cb26fc3933d4176a2806d
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/test/Sema/warn-default-const-init.c
Log Message:
-----------
Add missing RUN lines to test
These were intended to be present when 00f9ef282c7482754a0fea497417604d1deca9fa
landed
Commit: bc9aa0f4c4c6ad9dd6207097478f4e461a8fe5cb
https://github.com/llvm/llvm-project/commit/bc9aa0f4c4c6ad9dd6207097478f4e461a8fe5cb
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
M clang/test/Sema/warn-default-const-init.c
A clang/test/Sema/warn-tentative-defn-compat.c
Log Message:
-----------
[C] Add -Wtentative-definition-compat (#137967)
This adds a new diagnostic to warn about redeclaration of a tentative
definition in C. This is incompatible with C++, so the new diagnostic
group is under -Wc++-compat.
Commit: 9494464b1369ffb85dc2feae773185049996c001
https://github.com/llvm/llvm-project/commit/9494464b1369ffb85dc2feae773185049996c001
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
R llvm/test/Assembler/2008-09-02-FunctionNotes2.ll
A llvm/test/Verifier/2008-09-02-FunctionNotes2.ll
Log Message:
-----------
Verifier: Move test from Assembler to right place and avoid grep (#138113)
Commit: 79b841df750e6e3d4a0e817e59c5741da4b4ef6d
https://github.com/llvm/llvm-project/commit/79b841df750e6e3d4a0e817e59c5741da4b4ef6d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/test/Assembler/2002-04-07-InfConstant.ll
M llvm/test/Assembler/2002-04-29-NameBinding.ll
M llvm/test/Assembler/2003-04-15-ConstantInitAssertion.ll
M llvm/test/Assembler/2003-05-12-MinIntProblem.ll
M llvm/test/Assembler/2003-05-21-MalformedStructCrash.ll
M llvm/test/Assembler/2003-08-20-ConstantExprGEP-Fold.ll
M llvm/test/Assembler/2003-11-24-SymbolTableCrash.ll
M llvm/test/Assembler/2004-01-20-MaxLongLong.ll
M llvm/test/Assembler/2004-03-30-UnclosedFunctionCrash.ll
M llvm/test/Assembler/2006-09-28-CrashOnInvalid.ll
M llvm/test/Assembler/2006-12-09-Cast-To-Bool.ll
M llvm/test/Assembler/2007-01-16-CrashOnBadCast.ll
M llvm/test/Assembler/2007-01-16-CrashOnBadCast2.ll
M llvm/test/Assembler/2007-03-18-InvalidNumberedVar.ll
M llvm/test/Assembler/2007-04-20-AlignedLoad.ll
M llvm/test/Assembler/2007-04-20-AlignedStore.ll
M llvm/test/Assembler/2007-08-06-AliasInvalid.ll
M llvm/test/Assembler/2008-01-11-VarargAttrs.ll
M llvm/test/Assembler/2008-02-18-IntPointerCrash.ll
M llvm/test/Assembler/2008-09-29-RetAttr.ll
M llvm/test/Assembler/2008-10-14-QuoteInName.ll
Log Message:
-----------
Assembler: Replace some usage of grep in tests with FileCheck (#138114)
Commit: 3015edf96e4faad0d367d0879269c1c905a4eec7
https://github.com/llvm/llvm-project/commit/3015edf96e4faad0d367d0879269c1c905a4eec7
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/cmake/modules/CrossCompile.cmake
Log Message:
-----------
[cmake] Pass LLVM_TABLEGEN_FLAGS to cross compile targets (#138086)
If ValueTypes.td contains conditional directives enabled by defs in
LLVM_TABLEGEN_FLAGS then native build tblgen and min-tblgen must be
built with matching flags.
This ensures the embedded types in TableGen are consistent with those
used for building tables.
Commit: 0fab741a2687a6c42832fe8286591ebe626c40a8
https://github.com/llvm/llvm-project/commit/0fab741a2687a6c42832fe8286591ebe626c40a8
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/cmp.ll
M llvm/test/Analysis/CostModel/AArch64/vector-select.ll
M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/fp16-v8-instructions.ll
Log Message:
-----------
[LLVM][CodeGen][AArch64] Don't scalarise v8{f16,bf16} vsetcc operations. (#135398)
I have also removed custom promotion code for the v4{f16,bf16} cases
because the same common code can be used.
Commit: 149d795ab097d66a7ad0aa5d777534eb9c7420dd
https://github.com/llvm/llvm-project/commit/149d795ab097d66a7ad0aa5d777534eb9c7420dd
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-binop.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-to-u-form.ll
Log Message:
-----------
[LLVM][InstCombine] Enable constant folding for SVE sdiv & udiv intrinsics. (#137966)
Commit: 724eea76544cd3fe4bc739886f3dd2bb92ee169d
https://github.com/llvm/llvm-project/commit/724eea76544cd3fe4bc739886f3dd2bb92ee169d
Author: Martin Storsjö <martin at martin.st>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/test/ExecutionEngine/RuntimeDyld/X86/coff-alignment.ll
Log Message:
-----------
[llvm][test] Change an XFAIL into a more correct REQUIRES (#137942)
As this test is about executing x86_64 code with "lli", we should only
try to do it if we actually execute on an x86_64 target. So instead of
XFAILing individual architectures that can't execute it, instead change
this into requiring an x86_64 target.
Also generalize the target triple form used; don't assume that the
vendor field is set to "pc" - many mingw toolchains use the vendor field
set to "w64".
Commit: 3376071a24b772446d2f2241e4370b6d0cba6947
https://github.com/llvm/llvm-project/commit/3376071a24b772446d2f2241e4370b6d0cba6947
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV][NFC] Add missed // clang-format on
clang-format was turned off for the defines, but there was no matching
`// clang-format on` comment at the end. Ran into this in #137973
Commit: 49941749a84235bbe61db34cbb729d5fa65aaef2
https://github.com/llvm/llvm-project/commit/49941749a84235bbe61db34cbb729d5fa65aaef2
Author: Ross Brunton <bruntonross at protonmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M offload/unittests/OffloadAPI/CMakeLists.txt
Log Message:
-----------
[offload] Don't print device path during configure (#138109)
Commit: 180bc5916b1dfdf4da8516ed2666de386127e8c6
https://github.com/llvm/llvm-project/commit/180bc5916b1dfdf4da8516ed2666de386127e8c6
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M libcxx/include/__type_traits/is_unbounded_array.h
Log Message:
-----------
[libc++] Simplify the implementation of is_unbounded_array a bit (#137716)
Commit: a6459debc06f9cb86940ff5cdae35a1f52e1ed19
https://github.com/llvm/llvm-project/commit/a6459debc06f9cb86940ff5cdae35a1f52e1ed19
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M libcxx/include/__bit/bit_floor.h
M libcxx/include/__bit/countl.h
M libcxx/include/__bit/countr.h
M libcxx/include/__bit/popcount.h
Log Message:
-----------
[libc++] Remove a few unused includes from <__bit/*> (#137934)
Commit: 001cc34275111df842edbaa874b7319eef930c81
https://github.com/llvm/llvm-project/commit/001cc34275111df842edbaa874b7319eef930c81
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ODRDiagsEmitter.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M llvm/include/llvm/ADT/STLForwardCompat.h
Log Message:
-----------
[clang] Add scoped enum support to `StreamingDiagnostic` (#138089)
This patch adds templated `operator<<` for diagnostics that pass scoped
enums, saving people from `llvm::to_underlying()` clutter on the side of
emitting the diagnostic. This eliminates 80 out of 220 usages of
`llvm::to_underlying()` in Clang.
I also backported `std::is_scoped_enum_v` from C++23.
Commit: b6f65f07bc0214f932aa69fc58859ad5ac9efa1a
https://github.com/llvm/llvm-project/commit/b6f65f07bc0214f932aa69fc58859ad5ac9efa1a
Author: Nicholas Guy <nicholas.guy at arm.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/partial-reduction-add.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-wide-add.ll
Log Message:
-----------
[SelectionDAG] Improve type legalisation for PARTIAL_REDUCE_MLA (#130935)
Implement proper splitting functions for PARTIAL_REDUCE_MLA ISD nodes.
This makes the udot_8to64 and sdot_8to64 tests generate dot product
instructions for when the new ISD nodes are used.
---------
Co-authored-by: James Chesterman <james.chesterman at arm.com>
Commit: 0009a1783490a8ff69251a0ec7df1891a427cfb0
https://github.com/llvm/llvm-project/commit/0009a1783490a8ff69251a0ec7df1891a427cfb0
Author: Simon Camphausen <simon.camphausen at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M mlir/include/mlir/Conversion/ArithToEmitC/ArithToEmitC.h
A mlir/include/mlir/Conversion/ConvertToEmitC/ConvertToEmitCPass.h
A mlir/include/mlir/Conversion/ConvertToEmitC/ToEmitCInterface.h
M mlir/include/mlir/Conversion/FuncToEmitC/FuncToEmitC.h
M mlir/include/mlir/Conversion/MemRefToEmitC/MemRefToEmitC.h
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Conversion/SCFToEmitC/SCFToEmitC.h
M mlir/include/mlir/InitAllExtensions.h
M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
M mlir/lib/Conversion/CMakeLists.txt
A mlir/lib/Conversion/ConvertToEmitC/CMakeLists.txt
A mlir/lib/Conversion/ConvertToEmitC/ConvertToEmitCPass.cpp
M mlir/lib/Conversion/FuncToEmitC/FuncToEmitC.cpp
M mlir/lib/Conversion/FuncToEmitC/FuncToEmitCPass.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp
M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
M mlir/lib/Dialect/Arith/IR/ArithDialect.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/Func/IR/FuncOps.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefDialect.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
A mlir/test/Conversion/ConvertToEmitC/func-failed.mlir
A mlir/test/Conversion/ConvertToEmitC/func.mlir
A mlir/test/Conversion/ConvertToEmitC/tosa.mlir
M mlir/test/Conversion/FuncToEmitC/func-to-emitc.mlir
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc.mlir
M mlir/test/Conversion/SCFToEmitC/for.mlir
M mlir/test/Conversion/SCFToEmitC/if.mlir
M mlir/test/Conversion/SCFToEmitC/switch.mlir
Log Message:
-----------
[mlir][EmitC] Add pass that combines all available emitc conversions (#117549)
Commit: b69dcb873476cd8e7d3f6f9ffd5b6d0bbe1a3a17
https://github.com/llvm/llvm-project/commit/b69dcb873476cd8e7d3f6f9ffd5b6d0bbe1a3a17
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang-tools-extra/clang-include-fixer/IncludeFixer.cpp
M clang-tools-extra/clangd/Compiler.cpp
M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
M clang/include/clang/Frontend/CompilerInstance.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Frontend/Rewrite/FrontendActions.cpp
M clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
M clang/lib/Testing/TestAST.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/tools/clang-import-test/clang-import-test.cpp
M clang/tools/driver/cc1_main.cpp
M clang/unittests/AST/ExternalASTSourceTest.cpp
M clang/unittests/Frontend/CodeGenActionTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Frontend/FrontendActionTest.cpp
M clang/unittests/Frontend/OutputStreamTest.cpp
M clang/unittests/Sema/SemaNoloadLookupTest.cpp
M clang/unittests/Serialization/ForceCheckFileInputTest.cpp
M clang/unittests/Serialization/LoadSpecLazilyTest.cpp
M clang/unittests/Serialization/ModuleCacheTest.cpp
M clang/unittests/Serialization/NoCommentsTest.cpp
M clang/unittests/Serialization/PreambleInNamedModulesTest.cpp
M clang/unittests/Serialization/VarDeclConstantInitTest.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
M clang/unittests/Tooling/Syntax/TokensTest.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
Log Message:
-----------
[clang][frontend] Require invocation to construct `CompilerInstance` (#137668)
This PR makes it so that `CompilerInvocation` needs to be provided to
`CompilerInstance` on construction. There are a couple of benefits in my
view:
* Making it impossible to mis-use some `CompilerInstance` APIs. For
example there are cases, where `createDiagnostics()` was called before
`setInvocation()`, causing the `DiagnosticEngine` to use the
default-constructed `DiagnosticOptions` instead of the intended ones.
* This shrinks `CompilerInstance`'s state space.
* This makes it possible to access **the** invocation in
`CompilerInstance`'s constructor (to be used in a follow-up).
Commit: b877cfa8f25412a3946d1cde63a1dad95fd95c90
https://github.com/llvm/llvm-project/commit/b877cfa8f25412a3946d1cde63a1dad95fd95c90
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/include/clang/Basic/Diagnostic.h
M llvm/include/llvm/ADT/STLForwardCompat.h
Log Message:
-----------
[ADT] Remove `is_scoped_enum_v` (#138134)
`std::underlying_type` is not SFINAE-friendly in Clang and GCC before 9,
and it's too much of a hassle to make it work. Instead, I'm inlining the
implementation in the only place it's needed. Fixes buildbot failure
https://lab.llvm.org/buildbot/#/builders/134/builds/17904 caused by
#138089. Demo: https://godbolt.org/z/9qo3csP98
Commit: d33c6764680ed78ffe824a83b6a33c0b609bafce
https://github.com/llvm/llvm-project/commit/d33c6764680ed78ffe824a83b6a33c0b609bafce
Author: Luke Lau <luke at igalia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/ConstantFolding.h
M llvm/lib/Analysis/ConstantFolding.cpp
Log Message:
-----------
[ConstantFolding] Constify ConstantFoldInstOperands and ConstantFoldInstruction argument. NFC (#138108)
I tried to use these with a const reference in a separate patch, but the
pointers weren't marked as const. It turns out that these don't mutate
the instruction.
Commit: 0c7c82af230bd525bb96a54ca9480797b5fa2a42
https://github.com/llvm/llvm-project/commit/0c7c82af230bd525bb96a54ca9480797b5fa2a42
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/test/CMakeLists.txt
A llvm/test/DebugInfo/KeyInstructions/Generic/parse.ll
A llvm/test/DebugInfo/KeyInstructions/lit.local.cfg
M llvm/test/lit.site.cfg.py.in
Log Message:
-----------
[KeyInstr] Add fields to DILocation behind compile time flag (#133477)
Add AtomGroup and AtomRank to DILocation behind compile time flag
EXPERIMENTAL_KEY_INSTRUCTIONS which is controlled by cmake flag
LLVM_EXPERIMENTAL_KEY_INSTRUCTIONS.
Add IR read-write roundtrip test in a directory that is unsupported unless the
CMake flag is enabled.
RFC: https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
Commit: 80233751f9f3c9c8c5b1d66cd93399615f4d3ba2
https://github.com/llvm/llvm-project/commit/80233751f9f3c9c8c5b1d66cd93399615f4d3ba2
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M libc/src/setjmp/x86_64/setjmp.cpp
Log Message:
-----------
[libc][NFC] add remarks to the setjmp implementation (#137066)
We use naked functions to avoid compiler-generated prologue and
epilogue.
Despite GCC documentation listing this as an unsupported case for
extended asm, the generated code is not wrong as we only pass in
constant operands to extended asm.
See https://github.com/llvm/llvm-project/issues/137055 for related
remarks.
---------
Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>
Commit: 64f552cefacbb36ccb5f6df7b57f532bb63f0006
https://github.com/llvm/llvm-project/commit/64f552cefacbb36ccb5f6df7b57f532bb63f0006
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineInstrBuilder.h
M llvm/lib/CodeGen/MachineInstr.cpp
Log Message:
-----------
[NFC][LLVM][CodeGen] Refactor MachineInstr operand accessors (#137261)
- Change MachineInstr operand accessors to use `ArrayRef` internally to
slice the operand array into sub-arrays.
- Minor: remove unnecessary {} on `MachineInstrBuilder::add`.
Commit: 38c283370121e8f41c5f7575b547511bdac0a702
https://github.com/llvm/llvm-project/commit/38c283370121e8f41c5f7575b547511bdac0a702
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Use early return to simplify VLA shuffle lowering [nfc]
Commit: 47681736cbf6f32a70ca0aaf5d2671bc9c76112d
https://github.com/llvm/llvm-project/commit/47681736cbf6f32a70ca0aaf5d2671bc9c76112d
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.h
Log Message:
-----------
[Clang][NFC] Explicitly delete copy ctor and assignment for CGAtomicOptionsRAII (#137275)
Static analysis flagged CGAtomicOptionsRAII as having an explicit
destructor but not having explicit copy ctor and assignment. Rule of
three says we should. We are just using this as an RAII object, no need
for either so they will be specified as deleted.
Commit: abd2c07e390c39830296ee70d4743663b02dc8df
https://github.com/llvm/llvm-project/commit/abd2c07e390c39830296ee70d4743663b02dc8df
Author: David Green <david.green at arm.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/AMDGPU/R600TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/R600TargetTransformInfo.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
Log Message:
-----------
[CostModel] Make Op0 and Op1 const in getVectorInstrCost. NFC (#137631)
This does not alter much at the moment, but allows const pointers to be
passed as Op0 and Op1, simplifying later patches
Commit: 7ffaaf47528ff42d4c037e1b003d940e51347db5
https://github.com/llvm/llvm-project/commit/7ffaaf47528ff42d4c037e1b003d940e51347db5
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/Parser/cxx1z-fold-expressions.cpp
M clang/test/SemaTemplate/cxx1z-fold-expressions.cpp
Log Message:
-----------
[Clang] Warning as error for fold expressions over comparison operators (#136836)
We made chained comparisons an error.
Fold-expressions over a comparison operator produce chained comparisons,
so we should be consistent there too.
We only emit the warning when instantiating the fold expression so as
not to warn on types with user-defined comparisons.
Partially addresses #129570
Commit: 2876dbcd6617898cef8396ff30b20b07556d2456
https://github.com/llvm/llvm-project/commit/2876dbcd6617898cef8396ff30b20b07556d2456
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
Log Message:
-----------
[AArch64] Don't allow mixed partial reductions without i8mm (#137602)
Partial reductions with mixed extends should only be allowed if i8mm is
present.
Commit: 2bb2f8ab49d66cc2ebacd099d70fb80a5f13d9b2
https://github.com/llvm/llvm-project/commit/2bb2f8ab49d66cc2ebacd099d70fb80a5f13d9b2
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/RegAllocEvictionAdvisor.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/RegAllocGreedy.cpp
Log Message:
-----------
[CodeGen] Remove experimental deferred spilling from GreedyRegAlloc (#137850)
This experimental option was introduced in 2015 via commit 1192294, and
the target hook was added in 2020 via commit 99e865b6. There does not
appear to have ever been a use of this target hook in tree.
This code is complicating one of the most complicated and hard to
understand parts of our code base, and was an experiment introduced
nearly 10 years ago. Let's get rid of it.
Note that the idea described in the original patch is not neccessarily a
bad one, and we might return to it someday.
Commit: c61746650178c117996e1787617f36ccda7233f7
https://github.com/llvm/llvm-project/commit/c61746650178c117996e1787617f36ccda7233f7
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/Todo/atomic-capture-implicit-cast.f90
A flang/test/Lower/OpenMP/atomic-implicit-cast.f90
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[flang][llvm][OpenMP] Add implicit casts to omp.atomic (#131603)
Currently, implicit casts in Fortran are handled by the OMPIRBuilder.
This patch shifts that responsibility to FIR codegen.
Commit: 09488bcfba77d1a16b0b83c2d6b1135e5e7d5302
https://github.com/llvm/llvm-project/commit/09488bcfba77d1a16b0b83c2d6b1135e5e7d5302
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/Debugger.cpp
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb] Disable statusline on Windows (#138111)
Something to do with control code handling in Windows terminals breaks
the statusline in various ways. It makes LLDB unusable and even if you
set the setting to disable statusline, it's too late, and the terminal
session is now in a weird state.
See https://github.com/llvm/llvm-project/issues/134846 for more details.
Until we figure this out, don't allow it to be used on Windows.
Commit: e5f09aac483e11595e5cb0c999710ec6e0fb43e9
https://github.com/llvm/llvm-project/commit/e5f09aac483e11595e5cb0c999710ec6e0fb43e9
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACCLoop.cpp
M clang/lib/Sema/SemaOpenACC.cpp
A clang/test/CIR/CodeGenOpenACC/loop.cpp
M clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
Log Message:
-----------
[OpenACC][CIR] Start work to lower 'loop' (#137972)
As can be seen by the comment, this ends up being a construct that is
going to be quite a lot of work in the future to make sure we properly
identify the upperbound, lowerbound, and step. For now, we just treat
the 'loop' as container so that we can put the 'for' loop into it.
In the future, we'll have to teach the OpenACC dialect how to derive the
upperbound, lowerbound, and step from the cir.for loop. Additionally,
we'll probably have to add a few more options to it so that we can give
it the recipes it needs to determine these for random access iterators.
For Integer and Pointer values, these should already be known.
Commit: 927cdd2c73590ef6475f7e00ce79078d6e8323bd
https://github.com/llvm/llvm-project/commit/927cdd2c73590ef6475f7e00ce79078d6e8323bd
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M libc/src/stdio/printf_core/core_structs.h
Log Message:
-----------
[libc] Fix typo in uint128 type for PPC printf handling (#138157)
Commit: 0e9740ea1783ceaf8686b13ab7bf9278f34aef6a
https://github.com/llvm/llvm-project/commit/0e9740ea1783ceaf8686b13ab7bf9278f34aef6a
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
A llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors-complex.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors.ll
Log Message:
-----------
[NFC] Precommit: Autogenerate checks for an LSV test (#138155)
Related PR: https://github.com/llvm/llvm-project/pull/134436
Commit: a7aca819d44b8d67f2cffd452e6b63741c83cd62
https://github.com/llvm/llvm-project/commit/a7aca819d44b8d67f2cffd452e6b63741c83cd62
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
R llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors-complex.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors.ll
Log Message:
-----------
Revert "[NFC] Precommit: Autogenerate checks for an LSV test" (#138161)
Reverts llvm/llvm-project#138155
Commit: a9ccb246178a454abba8fb53499012d586e5eea9
https://github.com/llvm/llvm-project/commit/a9ccb246178a454abba8fb53499012d586e5eea9
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
Log Message:
-----------
[CIR][NFC] Fix an unused variable warning (#138110)
This fixes a warning where a variable assigned in 'if' statement wasn't
referenced again.
Commit: dadd91e793a7622e0ca34ad9c3993a01a437b651
https://github.com/llvm/llvm-project/commit/dadd91e793a7622e0ca34ad9c3993a01a437b651
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
A llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors-complex.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors.ll
Log Message:
-----------
[NFC] Precommit tests for an LSV patch (#138167)
Autogenerate checks for merge-vectors.ll and introduce
merge-vectors-complex.ll with mismatched types.
Related PR: https://github.com/llvm/llvm-project/pull/134436
This is a reland of https://github.com/llvm/llvm-project/pull/138155,
which was reverted due to missed nits.
Commit: acc40ed0a747ad8f5dbb93788da7ce104c36c0a3
https://github.com/llvm/llvm-project/commit/acc40ed0a747ad8f5dbb93788da7ce104c36c0a3
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/Lex/ModuleMap.cpp
Log Message:
-----------
[Clang][NFC] Use const auto & to avoid copy (#138069)
Static analysis flagged this code as causing a copy when we never modify
ModName and therefore we can use const auto & and avoid copying.
Commit: f24606376d449fa14bc72953951c52005f590434
https://github.com/llvm/llvm-project/commit/f24606376d449fa14bc72953951c52005f590434
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/Support/BranchProbability.h
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MIRPrintingPass.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
Log Message:
-----------
[NFC][LLVM][CodeGen] Refactor MIR Printer (#137361)
- Move `MIPrinter` class to anonymous namespace, and remove it as a
friend of `MachineBasicBlock`.
- Move `canPredictBranchProbabilities` to `MachineBasicBlock` and change
it to use the new `BranchProbability::normalizeProbabilities` function
that accepts a range, and also to use `llvm::equal()` to check equality
of the two vectors.
- Use `ListSeparator` to print comma separate lists instead of manual
code to do that.
Commit: 35c76eb195990865ee63a0aba3c18ad3c4189e73
https://github.com/llvm/llvm-project/commit/35c76eb195990865ee63a0aba3c18ad3c4189e73
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M flang/test/lit.cfg.py
Log Message:
-----------
[flang][OpenMP] Always set "openmp_flags" (#138153)
Many OpenMP tests use "%openmp_flags" in the RUN line. In many OpenMP
lit tests this variable is expected to at least have "-fopenmp" in it.
However, in the lit config this variable was only given a value when the
OpenMP runtime build was enabled.
If the runtime build was not enabled, %openmp_flags would expand to an
empty string, and unless a lit test specifically used -fopenmp in the
RUN line, OpenMP would be disabled.
This patch sets %openmp_flags to start with "-fopenmp" regardless of the
build configuration.
Commit: 526ae7ffb5317ebdfab3564c2c5811d1d08259b1
https://github.com/llvm/llvm-project/commit/526ae7ffb5317ebdfab3564c2c5811d1d08259b1
Author: James Newling <james.newling at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
Log Message:
-----------
[mlir][vector] Remove remaining bitwidths from linearization patterns (#138072)
In https://github.com/llvm/llvm-project/pull/136581 the bitwidth logic
was supposed to be completely removed from the linearization patterns.
But it was left in a few places. This PR removes the remainders (they
were default valued constructor arguments that were unused).
Commit: 5718460b22400e71e1832be489c9090f2c7d3ebb
https://github.com/llvm/llvm-project/commit/5718460b22400e71e1832be489c9090f2c7d3ebb
Author: James Newling <james.newling at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/CPU/X86/vector-transpose-lowering.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/ops.mlir
Log Message:
-----------
[mlir][vector] Relax constraints on shape_cast (#136587)
`vector.shape_cast` was initially designed to be the union of
collapse_shape and expand_shape. There was an inconsistency in the
verifier that allowed any shape casts when the rank did not change, which
led to a strange middle ground where you could cast from shape (4,3) to
(3,4) but not from (4,3) to (2,3,2). That issue was fixed (verifier made stricter)
in https://github.com/llvm/llvm-project/pull/135855, but further feedback
there (and polling) suggests that vector.shape_cast should rather allow all
shape casts (so more like tensor.reshape than
tensor.collapse_shape/tensor.expand_shape). This PR makes this simplification
by relaxing the verifier.
Commit: a88d580860b88bbb02797bae95032b6eb0c4579c
https://github.com/llvm/llvm-project/commit/a88d580860b88bbb02797bae95032b6eb0c4579c
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/NVPTX/CMakeLists.txt
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXPassRegistry.def
A llvm/lib/Target/NVPTX/NVPTXTagInvariantLoads.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
A llvm/test/CodeGen/NVPTX/byval-const-global.ll
A llvm/test/CodeGen/NVPTX/tag-invariant-loads.ll
Log Message:
-----------
[NVPTX] Pull invariant load identification into IR pass (#138015)
Pull invariant load identification, which was previously part of
DAGToDAG ISel, into a new IR pass NVPTXTagInvariantLoads. This makes it
possible to disable this optimization at O0 and reduces the complexity
of the SelectionDAG pass. Moving this logic to an IR pass also allows
for implementing a more powerful traversal in the future.
Fixes https://github.com/llvm/llvm-project/issues/138138
Commit: b6d4b7eba1dabadd934c0b92fc32bb6d658e2cf6
https://github.com/llvm/llvm-project/commit/b6d4b7eba1dabadd934c0b92fc32bb6d658e2cf6
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][EmitC] Add Bazel rules for conversions (#138154)
Follow-up from #117549
tested by:
```
cd utils/bazel
bazelisk build --config=generic_clang @llvm-project//mlir:all
bazelisk test --config=generic_clang @llvm-project//mlir/test:all
```
Commit: deae5eef7147c5ad3acff612ab0ed00e2186d9a5
https://github.com/llvm/llvm-project/commit/deae5eef7147c5ad3acff612ab0ed00e2186d9a5
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lld/MachO/ConcatOutputSection.cpp
M lld/MachO/ConcatOutputSection.h
M lld/test/MachO/arm64-thunks.s
Log Message:
-----------
[lld-macho] Fix branch extension logic compatibility with __objc_stubs (#137913)
Enhance branch extension logic to handle __objc_stubs identically to
__stubs
The branch extension algorithm currently has specific handling for the
`__stubs` section:
1. It ensures all `__stubs` content is directly reachable via branches
from the text section.
2. It calculates the latest text section address that might require
thunks to reach the end of `__stubs`.
The `__objc_stubs` section requires precisely the same handling due to
its similar nature, but this was not implemented.
This commit generalizes the existing logic so it applies consistently to
both the `__stubs` and `__objc_stubs` sections, ensuring correct
reachability and thunk placement for both. Without this change it's
possible to get relocation errors during linking in scenarios where the
`__objc_stubs` section is large enough.
Commit: 0a4be7898aa4b4c3dc06deabefc82e44e76b3bb6
https://github.com/llvm/llvm-project/commit/0a4be7898aa4b4c3dc06deabefc82e44e76b3bb6
Author: David Truby <david.truby at arm.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[flang] Move LLVM_ENABLE_RUNTIMES definition above uses (#138136)
Commit: 514b853972d81a2834a9d2b89df27cd9c382df7d
https://github.com/llvm/llvm-project/commit/514b853972d81a2834a9d2b89df27cd9c382df7d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M mlir/include/mlir/Conversion/ConvertToEmitC/ConvertToEmitCPass.h
Log Message:
-----------
[mlir] Fix the build
This patch fixes:
llvm/include/llvm/ADT/SmallVector.h:1162:7: error: implicit
instantiation of undefined template 'std::basic_string<char>'
This happens under -DCMAKE_CXX_FLAGS="-stdlib=libc++".
Commit: e25ddf908178d6ad4a2557b2800b4ea6248eb632
https://github.com/llvm/llvm-project/commit/e25ddf908178d6ad4a2557b2800b4ea6248eb632
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/inline-attr.ll
Log Message:
-----------
[NFC][AMDGPU] Auto generate check lines for `llvm/test/CodeGen/AMDGPU/inline-attr.ll`
Commit: 334e05b4b78a5de6efdcb23f208f3453a5b364a0
https://github.com/llvm/llvm-project/commit/334e05b4b78a5de6efdcb23f208f3453a5b364a0
Author: Alan Zhao <ayzhao at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[nfc] Fix formatting in clang release notes (#138172)
`-ftime-report` was supposed to be an inline code section, which
requires two backticks instead of one.
Commit: 6aa963f780d63d4c8fa80de97dd79c932bc35f4e
https://github.com/llvm/llvm-project/commit/6aa963f780d63d4c8fa80de97dd79c932bc35f4e
Author: Mikhail Zakharov <zmish1993 at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lldb/include/lldb/Target/Memory.h
M lldb/include/lldb/Target/Process.h
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/Options.td
M lldb/source/Target/Memory.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/TargetProperties.td
M lldb/test/API/commands/settings/TestSettings.py
A lldb/test/Shell/Expr/TestExprWithSideEffect.cpp
A lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVar.cpp
A lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVarWindows.cpp
A lldb/test/Shell/Expr/TestProcessModificationIdOnExpr.cpp
Log Message:
-----------
[lldb] Do not bump memory modificator ID when "internal" debugger memory is updated (#129092)
This change adds a setting `target.process.track-memory-cache-changes`.
Disabling this setting prevents invalidating and updating values in
`ValueObject::UpdateValueIfNeeded` when only "internal" debugger memory
is updated. Writing to "internal" debugger memory happens when, for
instance, expressions are evaluated by visualizers (pretty printers).
One of the examples when cache invalidation has a particularly heavy
impact is visualizations of some collections: in some collections
getting collection size is an expensive operation (it requires traversal
of the collection).
At the same time evaluating user expression with side effects (visible
to target, not only to debugger) will still bump memory ID because:
- If expression is evaluated via interpreter: it will cause write to
"non-internal" memory
- If expression is JIT-compiled: then to call the function LLDB will
write to "non-internal" stack memory
The downside of disabled `target.process.track-memory-cache-changes`
setting is that convenience variables won't reevaluate synthetic
children automatically.
---------
Co-authored-by: Mikhail Zakharov <mikhail.zakharov at jetbrains.com>
Commit: 49a5dd3dac285ba12f3fcaa55cacbea5968f5a37
https://github.com/llvm/llvm-project/commit/49a5dd3dac285ba12f3fcaa55cacbea5968f5a37
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll
Log Message:
-----------
[NFC][AMDGPU] Correct the check line update script for `llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll`
Commit: 5209668e357e0a1d295d9e9aa9dbca8f41132c0c
https://github.com/llvm/llvm-project/commit/5209668e357e0a1d295d9e9aa9dbca8f41132c0c
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/test/CIR/CodeGen/pointers.cpp
Log Message:
-----------
[CIR] Upstream pointer arithmetic support (#138041)
This adds support for explicit pointer arithmetic, including unary
increment and decrement of pointer values.
Commit: 74f55c744a18b848cc780c42f0e3dde7e7c96195
https://github.com/llvm/llvm-project/commit/74f55c744a18b848cc780c42f0e3dde7e7c96195
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll
Log Message:
-----------
Revert "[NFC][AMDGPU] Correct the check line update script for `llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll`"
This reverts commit 49a5dd3dac285ba12f3fcaa55cacbea5968f5a37.
Commit: cf9d4048fb5840b2800df532c9f93bb2fb842614
https://github.com/llvm/llvm-project/commit/cf9d4048fb5840b2800df532c9f93bb2fb842614
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll
Log Message:
-----------
Reapply "[NFC][AMDGPU] Correct the check line update script for `llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll`"
This reverts commit 74f55c744a18b848cc780c42f0e3dde7e7c96195 with a fix for the
check lines.
Commit: 760bba4666d6cdb7b4aef3c8ce9a242f59e39216
https://github.com/llvm/llvm-project/commit/760bba4666d6cdb7b4aef3c8ce9a242f59e39216
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[flang][OpenMP] Allow UPDATE clause to not have any arguments (#137521)
The UPDATE clause can be specified on both ATOMIC and DEPOBJ directives.
Currently, the ATOMIC directive has its own handling of it, and the
definition of the UPDATE clause only supports its use in the DEPOBJ
directive, where it takes a dependence-type as an argument.
The UPDATE clause on the ATOMIC directive may not have any arguments.
Since the implementation of the ATOMIC construct will be modified to use
the standard handling of clauses, the definition of UPDATE should
reflect that.
Commit: 1f56afa9b4d1839b8c8703ff9c7a4784546a6451
https://github.com/llvm/llvm-project/commit/1f56afa9b4d1839b8c8703ff9c7a4784546a6451
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/Spiller.h
Log Message:
-----------
[InlineSpiller] Fix missing LiveRegMatrix declaration. NFC.
b25b51eb639d adds a reference to LiveRegMatrix in Spiller.h without
including the header, or adding a declaration. That breaks modules
builds.
It looks like it might get reverted in #137801, but let's fix the
breakage in the meantime.
Commit: a60984ec8d8eb84fd087ed1bcf2ebfb6512ae20d
https://github.com/llvm/llvm-project/commit/a60984ec8d8eb84fd087ed1bcf2ebfb6512ae20d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
A offload/Maintainers.md
Log Message:
-----------
[Offload] Add 'Maintainers.md' file for offload (#138177)
Summary:
The offload project lacks a maintainers file. Adding it with myself and
Johannes as the still active maintainers.
Commit: d7f98a4ef9992936a92c2a71fec743ea6f3493d0
https://github.com/llvm/llvm-project/commit/d7f98a4ef9992936a92c2a71fec743ea6f3493d0
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/Lex/ModuleMap.cpp
Log Message:
-----------
[Clang][NFC] Use std::move to avoid copy (#138073)
Static analysis flagged this code for using copy when we could use
std::move.
Worth noting that CD.Message is a StringRef but Conflict.Message is
std::string. Otherwise I would have used a temporary in place and avoid
a local variable.
Commit: c2bec64833753df539ab9089555e8c039c33b9bb
https://github.com/llvm/llvm-project/commit/c2bec64833753df539ab9089555e8c039c33b9bb
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
Log Message:
-----------
[AMDGPU] Simplify GCNTTIImpl::isValidAddrSpaceCast. NFCI. (#137986)
This just removes some code that references specific address spaces.
Commit: 2bff80f25d51e24d3c552e033a2863dd36ef648b
https://github.com/llvm/llvm-project/commit/2bff80f25d51e24d3c552e033a2863dd36ef648b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lldb/source/Target/Memory.cpp
Log Message:
-----------
[lldb] Fix a warning
This patch fixes:
lldb/source/Target/Memory.cpp:438:3: error: 'lock_guard' may not
intend to support class template argument deduction
[-Werror,-Wctad-maybe-unsupported]
Commit: 441b68370a2fb97c1a650de15528e5600eacab6b
https://github.com/llvm/llvm-project/commit/441b68370a2fb97c1a650de15528e5600eacab6b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M mlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp:586:14: error:
variable 'realParam' set but not used
[-Werror,-Wunused-but-set-variable]
Commit: 978df3b9f1b74dcb4748eca93f4bf989253d4839
https://github.com/llvm/llvm-project/commit/978df3b9f1b74dcb4748eca93f4bf989253d4839
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/test/CodeGen/NVPTX/byval-const-global.ll
Log Message:
-----------
[NVPTX][test] Fixup to get ptxas passing for byval-const-global.ll (#138175)
Commit: b2e2ae8702e9fbbe0ef0eb5929aa2d5dc867b1c5
https://github.com/llvm/llvm-project/commit/b2e2ae8702e9fbbe0ef0eb5929aa2d5dc867b1c5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
Log Message:
-----------
[mlir] Fix warnings
This patch fixes:
mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp:901:12:
error: variable 'origVecType' set but not used
[-Werror,-Wunused-but-set-variable]
mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp:908:12:
error: variable 'origTensorDescTy' set but not used
[-Werror,-Wunused-but-set-variable]
Commit: 8d02529f77f809a1a8db623a3a124a33f0be94b9
https://github.com/llvm/llvm-project/commit/8d02529f77f809a1a8db623a3a124a33f0be94b9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Consistently use ArrayRef<VPValue *> for operands in ctors (NFC) (#137798)
Now that there is an ArrayRef constructor taking iterator_ranges, use it
consistently to slightly simplify code.
Depends on https://github.com/llvm/llvm-project/pull/137796.
PR: https://github.com/llvm/llvm-project/pull/137798
Commit: 42f5d716cbb8b391203eb880ac81f6272fd611f1
https://github.com/llvm/llvm-project/commit/42f5d716cbb8b391203eb880ac81f6272fd611f1
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/test/Semantics/assign02.f90
M flang/test/Semantics/call03.f90
Log Message:
-----------
[flang][frontend] warn when a volatile target is pointer associated with an non-volatile pointer (#136778)
closes #135805
Commit: 4fdb8cb42f73ebec9a3bdd37b2f27c222f9afd87
https://github.com/llvm/llvm-project/commit/4fdb8cb42f73ebec9a3bdd37b2f27c222f9afd87
Author: jimingham <jingham at apple.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lldb/include/lldb/Target/Target.h
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/Options.td
M lldb/source/Target/Process.cpp
M lldb/source/Target/Target.cpp
M lldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py
M lldb/test/API/commands/target/stop-hooks/TestStopHooks.py
A lldb/test/API/commands/target/stop-hooks/on-core-load/TestStopHookOnCoreLoad.py
A lldb/test/API/commands/target/stop-hooks/on-core-load/linux-x86_64.core
A lldb/test/API/commands/target/stop-hooks/on-core-load/stop_hook.py
A lldb/test/API/commands/target/stop-hooks/on-core-load/test.core.yaml
M lldb/test/API/python_api/event/TestEvents.py
Log Message:
-----------
Make stop-hooks fire when lldb first gains control of a process. (#137410)
stop-hooks are supposed to trigger every time the process stops, but as
initially implemented they would only fire when control was returned to
the user. So for instance when a process was launched the stop hook
would only trigger when the process hit a breakpoint or crashed.
However, it would be really useful to be able to trigger a stop hook
when lldb first gains control over the process. One way to do that would
be to implement general "target lifecycle events" and then send process
created events that users could bind actions to.
OTOH, extending the stop hooks to fire when lldb first gains control
over the process is a pretty natural extension to the notion of a stop
hook. So this patch takes the shorter route to that ability by making
stop-hooks fire when lldb first gains control over the process.
I also added the ability to specify whether to trigger the stop hook "on
gaining control". I'm on the fence about whether to set the default to
be "trigger on gaining control" or "don't trigger on gaining control".
Since I think it's a generally useful feature, I've set the default to
"trigger on gaining control".
Commit: a073bb5afdb8715429d98ea80ecdef1390fb4962
https://github.com/llvm/llvm-project/commit/a073bb5afdb8715429d98ea80ecdef1390fb4962
Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M mlir/lib/Dialect/OpenACC/Transforms/LegalizeDataValues.cpp
M mlir/test/Dialect/OpenACC/legalize-data.mlir
Log Message:
-----------
[mlir][acc] Add LegalizeDataValues support for DeclareEnterOp (#138008)
The patch extends the existing LegalizeDataValues to support
DeclareEnter and DeclareExit pair.
Since unlike other ops, DeclareEnter and DeclareExit don't have a region
defined, we use dominance/post dominance information to ensure only the
uses within the region dominated by DeclareEnter and post dominated by
DeclareExit are updated with data on device.
Commit: c37b2549ff0150301eb23bd28c2802efc426b7f2
https://github.com/llvm/llvm-project/commit/c37b2549ff0150301eb23bd28c2802efc426b7f2
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll
M llvm/test/Transforms/InstCombine/store.ll
M llvm/test/Transforms/InstSimplify/gep.ll
Log Message:
-----------
Revert "[InstSimplify] Fold `getelementptr inbounds null, idx -> null` (#130742)" (#138168)
Revert #130742 for now to avoid breaking glibc failures until the
workaround patches are landed.
Commit: 3a492abf05521467bc882094272d03c3eb6251c4
https://github.com/llvm/llvm-project/commit/3a492abf05521467bc882094272d03c3eb6251c4
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/test/Dialect/Vector/linearize.mlir
Log Message:
-----------
[mlir][vector] Add linearization pattern for vector.splat (#137651)
This PR is a breakdown [2 / 4] of the PR #136193
The PR adds linearization patterns for vector.splat.
Commit: 9400270449bc848fa8dd2a7575fc4fc102e34d0d
https://github.com/llvm/llvm-project/commit/9400270449bc848fa8dd2a7575fc4fc102e34d0d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/phi-comparator-fix-vec-ops-compare.ll
Log Message:
-----------
[SLP]Fix comparator for vector operands of extractelements in PHICompare
Need to make comparator to follow strict-weak ordering to fix compiler
crashes.
Fixes #138178
Commit: faf4e8af74eec8dac4c7e55702227d7d9a82f93c
https://github.com/llvm/llvm-project/commit/faf4e8af74eec8dac4c7e55702227d7d9a82f93c
Author: Justin Cai <justin.cai at intel.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/include/clang/Basic/OffloadArch.h
M clang/lib/Basic/OffloadArch.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/unittests/Basic/CMakeLists.txt
A clang/unittests/Basic/OffloadArchTest.cpp
Log Message:
-----------
[Clang][SYCL] Add initial set of Intel OffloadArch values (#138158)
Following #137070, this PR adds an initial set of Intel `OffloadArch`
values with corresponding predicates that will be used in SYCL
offloading. More Intel architectures will be added in a future PR.
Commit: 4efcc52ed839c4348c69a01538c7ecd399e4b113
https://github.com/llvm/llvm-project/commit/4efcc52ed839c4348c69a01538c7ecd399e4b113
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.h
M clang/test/CIR/CodeGenOpenACC/loop.cpp
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[OpenACC][CIR] Implement Loop lowering of seq/auto/independent (#138164)
These just add a standard 'device_type' flag to the acc.loop, so
implement that lowering. This also modifies the dialect to add helpers
for these as well, to be consistent with the previous ones.
Commit: a76936f1c01c7cadbce8ea6553af758d0f614b6a
https://github.com/llvm/llvm-project/commit/a76936f1c01c7cadbce8ea6553af758d0f614b6a
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/test/CIR/CodeGen/loop.cpp
Log Message:
-----------
[CIR] Upstream support for range-based for loops (#138176)
This upstreams the code needed to handle CXXForRangeStmt.
Commit: 472c211f58f4169fe18f7941bb6b519e5425e621
https://github.com/llvm/llvm-project/commit/472c211f58f4169fe18f7941bb6b519e5425e621
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add deps missing from 0009a1783490a8ff69251a0ec7df1891a427cfb0 to //mlir:AllExtensions
Commit: 7d6fda4fd3a529bc3e14a2a71ea6ab33883757d2
https://github.com/llvm/llvm-project/commit/7d6fda4fd3a529bc3e14a2a71ea6ab33883757d2
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M bolt/lib/Passes/PatchEntries.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
Log Message:
-----------
[BOLT] Run PatchEntries pass before LongJmp (#137236)
With --force-patch option, every original function entry point is
overwritten with a trampoline to a new version of the function to
prevent the execution of the original code.
If the function size is too small for the trampoline code, we are forced
to bail out on rewriting the function. That presented a problem on
AArch64 due to LongJmp pass that assumed the presence of the new copy of
the function. If the new copy was not emitted it could have lead to a
relocation overflow.
Run PatchEntries pass before LongJmp and make the latter aware of the
functions that are not going to be emitted. Make --force-patch option
behavior on AArch64 consistent with other architectures.
Commit: cd6a614ef5a5b00899791520249b6fe11b5761dd
https://github.com/llvm/llvm-project/commit/cd6a614ef5a5b00899791520249b6fe11b5761dd
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dep after a073bb5afdb8715429d98ea80ecdef1390fb4962
Commit: b69957fa642635f769c3aa33a539f74497df0b4d
https://github.com/llvm/llvm-project/commit/b69957fa642635f769c3aa33a539f74497df0b4d
Author: Ely Ronnen <elyronnen at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lldb/source/Symbol/Symbol.cpp
M lldb/test/Shell/ObjectFile/ELF/eh_frame-symbols.yaml
M lldb/test/Shell/SymbolFile/Breakpad/symtab-sorted-by-size.test
M lldb/test/Shell/SymbolFile/Breakpad/symtab.test
Log Message:
-----------
[lldb] Change synthetic symbol names to have file address (#137512)
Changes the default synthetic symbol names to contain their file address
Commit: 1b1e360b76d31fcd09b93b8c05be8a93dfea432b
https://github.com/llvm/llvm-project/commit/1b1e360b76d31fcd09b93b8c05be8a93dfea432b
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/Driver/ToolChains/UEFI.cpp
M clang/test/Driver/uefi-constructed-args.c
Log Message:
-----------
[NFC][clang] No sharedlibs for UEFI (#137872)
There is no support for shared libraries for UEFI target. Remove the
incorrect -dll flag set from UEFI toolchain.
Commit: ed8d4fe0b1d8088bd1a4f99f77afe33f435ef668
https://github.com/llvm/llvm-project/commit/ed8d4fe0b1d8088bd1a4f99f77afe33f435ef668
Author: James Newling <james.newling at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
A mlir/test/Dialect/Vector/linearize-subject-to-bitwidth.mlir
M mlir/test/Dialect/Vector/linearize.mlir
Log Message:
-----------
[mlir][vector] Separate bitwidth specific tests out (#138071)
In https://github.com/llvm/llvm-project/pull/136581 the logic pertaining
to bitwidth was removed from the patterns. This PR further factorizes
bitwidth logic out of the main test file.
The number of tests with bitwidth (in the new file added in this PR) is
now lower than before this PR. This is because this PR only tests the
bitwidth specific logic once (there was a fair amount of redundant
testing before).
I didn't do this test refactoring in
https://github.com/llvm/llvm-project/pull/136581 because I wanted to
make it clear that it was NFC by leaving the tests unchanged there
Commit: 1a44f38d2af8724e9819f03d4b76a50615217a8d
https://github.com/llvm/llvm-project/commit/1a44f38d2af8724e9819f03d4b76a50615217a8d
Author: James Newling <james.newling at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/canonicalize/vector-transpose.mlir
Log Message:
-----------
[mlir][vector] Canonicalize/fold 'order preserving' transposes (#135841)
Handles special case where transpose doesn't permute any non-1
dimensions (and so is effectively a shape_cast) and is adjacent to a
shape_cast that it can fold into. For example
```
%1 = vector.transpose %0, [1, 0, 3, 2] : vector<4x1x1x6xf32> to vector<1x4x6x1xf32>
```
can be folded into an adjacent shape_cast. An alternative to this PR
would be to canonicalize such transposes to shape_casts directly, but I
think it'll be difficult getting consensus that shape_cast is 'more
canonical' than transpose, so this PR compromises with the less
opinionated claim that
1) shape_cast is more canonical than shape_cast(transpose)
2) shape_cast is more canonical than transpose(shape_cast)
The pattern `ConvertIllegalShapeCastOpsToTransposes` that is specific to
transposes with scalable dimensions reverses the canonicalization added
here, so I've I've disabled this canonicalization for scalable vectors
Commit: 471fe9c68948d339016d0c4aa66c116ff31e0516
https://github.com/llvm/llvm-project/commit/471fe9c68948d339016d0c4aa66c116ff31e0516
Author: jimingham <jingham at apple.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lldb/test/API/python_api/event/TestEvents.py
Log Message:
-----------
Fix TestEvents.py after: 4fdb8cb (#138211)
I changed the option name from at-first-stop (-F) to at-initial-stop
(-I) but missed one place in the testsuite.
Commit: aa6d541065ef755bea9c6ed2b3598f0664c10002
https://github.com/llvm/llvm-project/commit/aa6d541065ef755bea9c6ed2b3598f0664c10002
Author: Luke Lau <luke at igalia.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/maxmin_intrinsics.ll
Log Message:
-----------
[InstSimplify] Fold {u,s}{min,max} x, poison -> poison (#138166)
Following from the discussion in
https://github.com/llvm/llvm-project/pull/138095#discussion_r2070484664,
these intrinsics are poison if any of their operands are poison, and are
marked as such in propagatesPoison in ValueTracking.cpp.
This will help fold away leftover vectors produced by VectorCombine when
scalarizing intrinsics.
Commit: 4b1f1f77b0bd7085ecb8c9a431a3161666ec0f54
https://github.com/llvm/llvm-project/commit/4b1f1f77b0bd7085ecb8c9a431a3161666ec0f54
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lld/docs/ld.lld.1
Log Message:
-----------
ELF: Fix man page formatting.
Commit: 7f922f1400f00a73d1618e3f17556704c6b9436d
https://github.com/llvm/llvm-project/commit/7f922f1400f00a73d1618e3f17556704c6b9436d
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/allocator-registry.h
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/reduction-templates.h
M flang-rt/lib/cuda/allocatable.cpp
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/lib/runtime/allocatable.cpp
M flang-rt/lib/runtime/array-constructor.cpp
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/character.cpp
M flang-rt/lib/runtime/copy.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/extrema.cpp
M flang-rt/lib/runtime/findloc.cpp
M flang-rt/lib/runtime/matmul-transpose.cpp
M flang-rt/lib/runtime/matmul.cpp
M flang-rt/lib/runtime/misc-intrinsic.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang-rt/lib/runtime/temporary-stack.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/lib/runtime/transformational.cpp
M flang-rt/unittests/Evaluate/reshape.cpp
M flang-rt/unittests/Runtime/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang-rt/unittests/Runtime/CUDA/Memory.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang-rt/unittests/Runtime/CommandTest.cpp
M flang-rt/unittests/Runtime/TemporaryStack.cpp
M flang-rt/unittests/Runtime/tools.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Runtime/CUDA/allocatable.h
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/pointer.h
M flang/include/flang/Runtime/allocatable.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/cuf-invalid.fir
M flang/test/Fir/cuf.mlir
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Transforms/lower-repack-arrays.fir
Log Message:
-----------
[flang][cuda] Use a reference for asyncObject (#138186)
Switch from `int64_t` to `int64_t*` to fit with the rest of the
implementation.
New tentative with some fix. The previous was reverted yesterday.
Commit: 9b6b144438ccf371e51b578e642f2ce5d3aa89c8
https://github.com/llvm/llvm-project/commit/9b6b144438ccf371e51b578e642f2ce5d3aa89c8
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/allocator-registry.h
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/reduction-templates.h
M flang-rt/lib/cuda/allocatable.cpp
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/lib/runtime/allocatable.cpp
M flang-rt/lib/runtime/array-constructor.cpp
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/character.cpp
M flang-rt/lib/runtime/copy.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/extrema.cpp
M flang-rt/lib/runtime/findloc.cpp
M flang-rt/lib/runtime/matmul-transpose.cpp
M flang-rt/lib/runtime/matmul.cpp
M flang-rt/lib/runtime/misc-intrinsic.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang-rt/lib/runtime/temporary-stack.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/lib/runtime/transformational.cpp
M flang-rt/unittests/Evaluate/reshape.cpp
M flang-rt/unittests/Runtime/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang-rt/unittests/Runtime/CUDA/Memory.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang-rt/unittests/Runtime/CommandTest.cpp
M flang-rt/unittests/Runtime/TemporaryStack.cpp
M flang-rt/unittests/Runtime/tools.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Runtime/CUDA/allocatable.h
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/pointer.h
M flang/include/flang/Runtime/allocatable.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/cuf-invalid.fir
M flang/test/Fir/cuf.mlir
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Transforms/lower-repack-arrays.fir
Log Message:
-----------
Revert "[flang][cuda] Use a reference for asyncObject" (#138221)
Reverts llvm/llvm-project#138186
Commit: feda31e0483c47cbef549c068aab1c60e7d10572
https://github.com/llvm/llvm-project/commit/feda31e0483c47cbef549c068aab1c60e7d10572
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/bindings/python/clang/cindex.py
Log Message:
-----------
[libclang/python] Remove compatibility workaround for briefComment (#138135)
Remove a workaround that made cindex.py from LLVM 3.2 work with older
libclang.so versions
Commit: 2cae14fdc62a07252ad1c2c2b11678c4539416a6
https://github.com/llvm/llvm-project/commit/2cae14fdc62a07252ad1c2c2b11678c4539416a6
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lldb/source/Symbol/Symbol.cpp
M lldb/test/Shell/ObjectFile/ELF/eh_frame-symbols.yaml
M lldb/test/Shell/SymbolFile/Breakpad/symtab-sorted-by-size.test
M lldb/test/Shell/SymbolFile/Breakpad/symtab.test
Log Message:
-----------
Revert "[lldb] Change synthetic symbol names to have file address (#137512)"
This reverts commit b69957fa642635f769c3aa33a539f74497df0b4d.
Commit: 44c4b4cef9d13ef91a771c45664dde643009f996
https://github.com/llvm/llvm-project/commit/44c4b4cef9d13ef91a771c45664dde643009f996
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/TargetInfo.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/test/CIR/CodeGen/call.cpp
M clang/test/CIR/IR/call.cir
M clang/test/CIR/IR/invalid-call.cir
Log Message:
-----------
[CIR] Upstream cir.call with scalar arguments (#136810)
This PR upstreams support for scalar arguments in `cir.call` operation.
Related to #132487 .
Commit: f46ff4c204b622029b02d0c7d4ed47ad162521e8
https://github.com/llvm/llvm-project/commit/f46ff4c204b622029b02d0c7d4ed47ad162521e8
Author: Jim Lin <jim at andestech.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/CodeGen/AllocationOrder.h
Log Message:
-----------
[NFC][regalloc] Fix typo in llvm/lib/CodeGen/AllocationOrder.h.
Commit: 36541ec3ca7027aec87118262773b35964c0edec
https://github.com/llvm/llvm-project/commit/36541ec3ca7027aec87118262773b35964c0edec
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M flang/lib/Parser/preprocessor.cpp
A flang/test/Preprocessing/pp048.F
Log Message:
-----------
[flang] Fix #else with trailing text (#138045)
Fixed the issue, where the extra text on #else line (' Z' in the example
below) caused the data from the "else" clause to be processed together
with the data of "then" clause.
```
#ifndef XYZ42
PARAMETER(A=2)
#else Z
PARAMETER(A=3)
#endif
end
```
Commit: 099a0fa3f2cf1a434e20b2fa97b6251088321467
https://github.com/llvm/llvm-project/commit/099a0fa3f2cf1a434e20b2fa97b6251088321467
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/ProfileData/MemProfYAML.h
M llvm/lib/ProfileData/IndexedMemProfData.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/MemProf.cpp
M llvm/test/tools/llvm-profdata/memprof-yaml.test
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[MemProf] Add v4 which contains CalleeGuids to CallSiteInfo. (#137394)
This patch adds CalleeGuids to the serialized format and increments the version number to 4. The unit tests are updated to include a new test for v4 and the YAML format is also updated to be able to roundtrip the v4 format.
Commit: ade1203337d7453a51edc549e6dba61f1c5e54e3
https://github.com/llvm/llvm-project/commit/ade1203337d7453a51edc549e6dba61f1c5e54e3
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/bindings/python/tests/cindex/test_cursor.py
M clang/bindings/python/tests/cindex/test_location.py
M clang/bindings/python/tests/cindex/test_source_range.py
Log Message:
-----------
[libclang/python] Add tests for equality operators. (#138132)
Adds tests for SourceRange, SourceLocation and Cursor.
This is a follow-up to #138074
Commit: 68fd69aca6c9d8129cd5dc27829a8abebea4cefc
https://github.com/llvm/llvm-project/commit/68fd69aca6c9d8129cd5dc27829a8abebea4cefc
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaType.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::PointerAuthDiscArgKind` to scoped enum
Commit: 09fb9adbd2a432a83e451ee9156faceb9d76e9aa
https://github.com/llvm/llvm-project/commit/09fb9adbd2a432a83e451ee9156faceb9d76e9aa
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaType.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::NonTrivialCUnionContext` to scoped enum
Commit: 8089c3d1edf0f880415bfbc155571f4a43fcdf17
https://github.com/llvm/llvm-project/commit/8089c3d1edf0f880415bfbc155571f4a43fcdf17
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[clang][NFC] Convert `Sema::NonTagKind` to scoped enum
Commit: ed673aac7aa78896ec55aa615e37432006c2830a
https://github.com/llvm/llvm-project/commit/ed673aac7aa78896ec55aa615e37432006c2830a
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Parse/RAIIObjectsForParser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaTemplate.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::OffsetOfKind` to scoped enum
Commit: 7e71db8463adfbaadbd28a6c0e8b807ff7075c3c
https://github.com/llvm/llvm-project/commit/7e71db8463adfbaadbd28a6c0e8b807ff7075c3c
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::AvailabilityMergeKind` to scoped enum
Commit: 35e743d4bf1960a9ea982227a6159325784c56b9
https://github.com/llvm/llvm-project/commit/35e743d4bf1960a9ea982227a6159325784c56b9
Author: Urvi Rav <94829943+ravurvi20 at users.noreply.github.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/docs/OpenMPSupport.rst
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/metadirective_ast_print.c
A clang/test/OpenMP/metadirective_default.cpp
M clang/test/OpenMP/metadirective_messages.cpp
M clang/test/OpenMP/metadirective_otherwise.cpp
Log Message:
-----------
default clause replaced by otherwise clause for metadirective in OpenMP 5.2 (#128640)
This PR replaces the `default` clause with the `otherwise` clause for
the `metadirective` in OpenMP. The `otherwise` clause serves as a
fallback condition when no directive from the when clauses is selected.
In the `when` clause, context selectors define traits evaluated to
determine the directive to be applied.
The previous merge was reverted due to a failing test case, which has
now been resolved.
---------
Co-authored-by: urvi-rav <urvi.rav at hpe.com>
Commit: 8f06f5dca05f8c63caf4cfc171b59ce673afecec
https://github.com/llvm/llvm-project/commit/8f06f5dca05f8c63caf4cfc171b59ce673afecec
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M flang/test/Lower/volatile-openmp.f90
Log Message:
-----------
[flang] update LIT test for AIX (NFC) (#138228)
Commit: ae344408348a5c3ff6ccdbc675c401ea83d8a708
https://github.com/llvm/llvm-project/commit/ae344408348a5c3ff6ccdbc675c401ea83d8a708
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
Log Message:
-----------
[DirectX] Make DXILOpLowering responsible for cleaning up dead intrinsics (#138199)
This moves the responsibility for cleaning up dead intrinsics from
DXILFinalizeLinkage to DXILOpLowering, and moves DXILFinalizeLinkage
back to it's pre-#136244 place in the pipeline. Doing this avoids issues
with DXIL passes running on obviously dead code, and makes it more clear
what DXILFinalizeLinkage is really doing.
This also helps with the story for #134260, as cleaning up dead
intrinsics doesn't make sense if this becomes a more generic pass.
Note that test/CodeGen/DirectX/remove-dead-intriniscs.ll already covers
most of the testing here. It'd be nice to have something that catches
the regression from changing the pass ordering but I couldn't come up
with anything that wouldn't be incredibly fragile.
Fixes #138180.
Commit: 6f39995da24d1eb5a8efc40531abff3054f2b6bf
https://github.com/llvm/llvm-project/commit/6f39995da24d1eb5a8efc40531abff3054f2b6bf
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Target/LLVMIR/Import/instructions.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[mlir] Ensure fmaximum/fminimum is defined in mlir/Dialect/LLVMIR/LLVMEnums.td (#138198)
Fix a compile error (with LLVM_ENABLE_WERROR=On) when building
`bin/flang`:
```
enumeration values 'FMaximum' and 'FMinimum' not handled in switch
```
caused by adding new LLVM IR instructions in #137701.
This wasn't picked up by the auto CI builders on GitHub, so I hadn't
realised until @kazutakahirata notified me about it.
Commit: 630a0ff2c25c4ced739b1c07633097ccbf182cd6
https://github.com/llvm/llvm-project/commit/630a0ff2c25c4ced739b1c07633097ccbf182cd6
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaType.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::TrivialABIHandling` to scoped enum
Commit: 32adf2c3601fd766d98410336bdcc9df6224e07b
https://github.com/llvm/llvm-project/commit/32adf2c3601fd766d98410336bdcc9df6224e07b
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M .ci/metrics/metrics.py
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github][CI] Rename New Premerge Jobs (#138024)
This patch renames the new premerge job as suggested in
https://discourse.llvm.org/t/github-ci-notifications-and-main-branch/85868/10.
This uses more industry standard terms (like CI vs premerge checks which
might be somewhat of a LLVM CI idiom?) and makes it more generic if we
end up doing postcommit testing through Github.
Commit: be6497ff7583248d76a6710dd48cfeb63dd68f27
https://github.com/llvm/llvm-project/commit/be6497ff7583248d76a6710dd48cfeb63dd68f27
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[clang][NFC] Convert `Sema::TryCaptureKind` to scoped enum
Commit: 048befe9ef7edab3580a922d69664b21e2a532fa
https://github.com/llvm/llvm-project/commit/048befe9ef7edab3580a922d69664b21e2a532fa
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
Revert "[clang][NFC] Convert `Sema::TryCaptureKind` to scoped enum"
This reverts commit be6497ff7583248d76a6710dd48cfeb63dd68f27.
Commit: 0294c3615c5dcb5eee140bd3fa9ba3c084e1836f
https://github.com/llvm/llvm-project/commit/0294c3615c5dcb5eee140bd3fa9ba3c084e1836f
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[clang][NFC] Reland "Convert `Sema::TryCaptureKind` to scoped enum"
Commit: aea2f6f69cd256d85a0d3986c0e72181bb5247ab
https://github.com/llvm/llvm-project/commit/aea2f6f69cd256d85a0d3986c0e72181bb5247ab
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/DeclCXX.cpp
M clang/test/SemaCXX/lambda-unevaluated.cpp
Log Message:
-----------
[Clang] incorrect assertion when checking template template parameter of a lambda (#138121)
When a lambda is used in an alias declaration, we were trying to refer
to its call operator. However, that could happen before (or during) the
call operator is defined.
So we should not assume a lambda always has a call operator.
Fixes #136432
Fixes #137014
Fixes #138018
Commit: b4ab53c3b04787f430c2e3484998951c48b05968
https://github.com/llvm/llvm-project/commit/b4ab53c3b04787f430c2e3484998951c48b05968
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
Log Message:
-----------
[Target] Use llvm::max_element (NFC) (#137926)
Commit: 8b752b9874489229e4afceadd958fdc9ff7a2edb
https://github.com/llvm/llvm-project/commit/8b752b9874489229e4afceadd958fdc9ff7a2edb
Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/unittests/Tooling/QualTypeNamesTest.cpp
Log Message:
-----------
[clang] Add test for QualTypes in template class NNS (#137804)
Recently commit dc17429ae6 removed some code related to template
arguments in NestedNameSpecifier::print that would not pass on the
TemplateParameterList. This would cause printIntegral to add type
suffixes for the unsigned parameter, but only for the prefix. Add a
regression test to prevent such problems from coming back.
Commit: 3f367a65d31a7178e222a7babae7baa0a93ff292
https://github.com/llvm/llvm-project/commit/3f367a65d31a7178e222a7babae7baa0a93ff292
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
A clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Dialect/IR/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/IR/CMakeLists.txt
Log Message:
-----------
[CIR] Refactor IntType constraints (#138106)
- Adds `CIR_` prefixes to integer type constraints types to disambiguate their names from other dialects.
- Renames `PrimitiveInt` to `CIR_AnyFundamentalIntType` to align more with constrian conventions.
- Adds bunch of helper constraint classes to be able to define base types to reduce clutter of necessary type casts.
- Reworks constraints to use `CIR_ConfinedType` to avoid repeating validation checks.
- Adds `IntOfWidths` variadic bitwidth constraint to reduce boilerplate code needed to handle multi-bitwidth parameters.
- Constraints are moved into a separate file, which starts decoupling of constraints and types to remove the cyclic dependency between types and attributes and will eventually help fix several outstanding TODOs.
This mirrors incubator changes from https://github.com/llvm/clangir/pull/1593
Commit: ff28e1a5a92da380c2869aba09971687c26d2f0f
https://github.com/llvm/llvm-project/commit/ff28e1a5a92da380c2869aba09971687c26d2f0f
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
A clang/test/CIR/IR/invalid-long-double.cir
Log Message:
-----------
[CIR] Refactor floating point type constraints (#138112)
- This cleans up moves cir floating point type constraints to dedicated constraints file, and fixes long double verifier to use constraints directly.
- Renames `CIR_AnyFloat` to `CIR_AnyFloatType`.
This mirrors inbubator changes from https://github.com/llvm/clangir/pull/1594
Commit: 4109bac3301eb7b7033eec3c8e8107be8cad9bc9
https://github.com/llvm/llvm-project/commit/4109bac3301eb7b7033eec3c8e8107be8cad9bc9
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.cpp
M llvm/include/llvm/IR/Constants.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/CodeGen/AsmPrinter/WinCFGuard.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/IPO/PartialInlining.cpp
M llvm/lib/Transforms/IPO/SCCP.cpp
M llvm/test/tools/llvm-reduce/reduce-functions-blockaddress-wrong-function.ll
M llvm/test/tools/llvm-reduce/reduce-functions-blockaddress.ll
M llvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp
M llvm/tools/llvm-reduce/deltas/Utils.cpp
M llvm/tools/llvm-reduce/deltas/Utils.h
M mlir/test/Target/LLVMIR/Import/blockaddress.ll
Log Message:
-----------
[IR] Do not store Function inside BlockAddress (#137958)
Currently BlockAddresses store both the Function and the BasicBlock they
reference, and the BlockAddress is part of the use list of both the
Function and BasicBlock.
This is quite awkward, because this is not really a use of the function
itself (and walks of function uses generally skip block addresses for
that reason). This also has weird implications on function RAUW (as that
will replace the function in block addresses in a way that generally
doesn't make sense), and causes other peculiar issues, like the ability
to have multiple block addresses for one block (with different
functions).
Instead, I believe it makes more sense to specify only the basic block
and let the function be implied by the BB parent. This does mean that we
may have block addresses without a function (if the BB is not inserted),
but this should only happen during IR construction.
Commit: 140c2b6d081b781b19f50bf1c4fbf4b17bfacdc1
https://github.com/llvm/llvm-project/commit/140c2b6d081b781b19f50bf1c4fbf4b17bfacdc1
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaType.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::AllowFoldKind` to scoped enum
Commit: a8ec6e8788832cff77ec855a2331438c937fb5da
https://github.com/llvm/llvm-project/commit/a8ec6e8788832cff77ec855a2331438c937fb5da
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/IR/Verifier.cpp
A llvm/test/Verifier/global-initializer-sized.ll
M llvm/test/Verifier/scalable-global-vars.ll
Log Message:
-----------
[IR] Require that global value initializers are sized (#137358)
While external globals can be unsized, I don't think an unsized
initializer makes sense.
It seems like the backend currently ends up treating this as a zero-size
global. If people want that behavior, they should declare it as such.
Commit: f66f2fe0e5be6dc6eb3ef4d42af8692f9adcdc80
https://github.com/llvm/llvm-project/commit/f66f2fe0e5be6dc6eb3ef4d42af8692f9adcdc80
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/Writer.cpp
A lld/test/COFF/cygwin-symbols.s
Log Message:
-----------
[LLD][COFF] add __{data,bss}_{start,end}__ symbols for Cygwin support (#136180)
Cygwin requires these symbols for its fork emulation to know what data
to copy into the child. GNU ld defines these symbols for MinGW targets
also, so do the same here.
Cygwin also has the `.data_cygwin_nocopy` section, which is merged into
`.data` outside the `__data_start__` to `__data_end__` range. This
excludes it from fork's copying. AFAIK it's only used by the Cygwin DLL
itself (which requires a custom linker script to link, that's not
supported by LLD), but the section is included in GNU ld's default
linker script so handle it here too.
Signed-off-by: Jeremy Drake <github at jdrake.com>
Commit: 592243c1cb3ea53b34033132a87b0d14af9d1079
https://github.com/llvm/llvm-project/commit/592243c1cb3ea53b34033132a87b0d14af9d1079
Author: Mateusz Mikuła <oss at mateuszmikula.dev>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Support/Compiler.h
Log Message:
-----------
[Clang][Cygwin] Fix symbol visibility definition (#138118)
Currently building for Cygwin hits this error:
```
In file included from /h/projects/llvm-project/clang/lib/Basic/Attributes.cpp:17:
/h/projects/llvm-project/clang/include/clang/Basic/ParsedAttrInfo.h:180:73: error: invalid declarator before ‘;’ token
180 | extern template class CLANG_TEMPLATE_ABI Registry<clang::ParsedAttrInfo>;
```
That's because `CLANG_TEMPLATE_ABI` ends up not being defined. The
solution here is to follow MinGW case.
Commit: db247ddc9d5411ace70b478f7119eb44a43a8e5c
https://github.com/llvm/llvm-project/commit/db247ddc9d5411ace70b478f7119eb44a43a8e5c
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::ArithConvKind` to scoped enum
Commit: 9bc20fbbadb18a1c3415d4442066ed35a6bcc175
https://github.com/llvm/llvm-project/commit/9bc20fbbadb18a1c3415d4442066ed35a6bcc175
Author: Mateusz Mikuła <oss at mateuszmikula.dev>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/tools/CMakeLists.txt
M clang/tools/libclang/CMakeLists.txt
Log Message:
-----------
[Clang][Cygwin] Disable shared libs on Cygwin by default (#138119)
This change follows MinGW decisions, otherwise build with GCC fail with:
```
FAILED: bin/msys-clang-cpp-21.0git.dll lib/libclang-cpp.dll.a
...
/usr/lib/gcc/x86_64-pc-msys/13.3.0/../../../../x86_64-pc-msys/bin/ld: error: export ordinal too large: 92250
```
Co-authored-by: jeremyd2019 <github at jdrake.com>
Commit: 8a84a19cf9ccbc1d0878f51b0466dc3a3b93dbe3
https://github.com/llvm/llvm-project/commit/8a84a19cf9ccbc1d0878f51b0466dc3a3b93dbe3
Author: Mateusz Mikuła <oss at mateuszmikula.dev>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Support/Unix/Signals.inc
Log Message:
-----------
[LLVM][Cygwin] Fix Signals compatibility with Cygwin API (#138117)
Cygwin types sometimes do not match Linux exactly. Like in this case:
```
In file included from /h/projects/llvm-project/llvm/include/llvm/Support/Error.h:23,
from /h/projects/llvm-project/llvm/include/llvm/Support/FileSystem.h:34,
from /h/projects/llvm-project/llvm/lib/Support/Signals.cpp:22:
/h/projects/llvm-project/llvm/include/llvm/Support/Format.h: In instantiation of ‘llvm::format_object<Ts>::format_object(const char*, const Ts& ...) [with Ts = {int, char [4096]}]’:
/h/projects/llvm-project/llvm/include/llvm/Support/Format.h:126:10: required from ‘llvm::format_object<Ts ...> llvm::format(const char*, const Ts& ...) [with Ts = {int, char [4096]}]’
/h/projects/llvm-project/llvm/lib/Support/Unix/Signals.inc:850:19: required from here
/h/projects/llvm-project/llvm/include/llvm/Support/Format.h:106:34: error: no matching function for call to ‘std::tuple<int, char [4096]>::tuple(const int&, const char [4096])’
106 | : format_object_base(fmt), Vals(vals...) {
| ^~~~~~~~~~~~~
```
Casting here is safe and solves the issue.
Commit: 68bfe91b5a34f80dbcc4f0a7fa5d7aa1cdf959c2
https://github.com/llvm/llvm-project/commit/68bfe91b5a34f80dbcc4f0a7fa5d7aa1cdf959c2
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Target/X86/X86CallingConv.td
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.h
M llvm/lib/Target/X86/X86Subtarget.h
Log Message:
-----------
[llvm] X86_64 CC for UEFI (#137905)
Select appropriate registers for X86_64 UEFI.
Commit: abe93fe7c88c477343c884036982ddc15f820425
https://github.com/llvm/llvm-project/commit/abe93fe7c88c477343c884036982ddc15f820425
Author: Mateusz Mikuła <oss at mateuszmikula.dev>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/tools/libclang/CIndexer.cpp
Log Message:
-----------
[Clang][Cygwin] Remove erroneous _WIN32 define and clean up Cygwin code (#138120)
With this define present and building with Clang the build fails:
```
In file included from /h/projects/llvm-project/clang/tools/libclang/CIndexer.cpp:36:
In file included from /usr/include/w32api/windows.h:69:
In file included from /usr/include/w32api/windef.h:9:
In file included from /usr/include/w32api/minwindef.h:163:
In file included from /usr/include/w32api/winnt.h:1658:
In file included from /usr/lib/clang/20/include/x86intrin.h:15:
In file included from /usr/lib/clang/20/include/immintrin.h:24:
In file included from /usr/lib/clang/20/include/xmmintrin.h:31:
/usr/lib/clang/20/include/mm_malloc.h:45:22: error: use of undeclared identifier '_aligned_malloc'; did you mean 'aligned_alloc'?
45 | __mallocedMemory = _aligned_malloc(__size, __align);
| ^
```
Removing it allows the build with Clang to succeed and doesn't break
build with GCC.
The "#define _WIN32" was originally "#define LLVM_ON_WIN32", but this
was changed into a plain "#define _WIN32" (which not necessarily is
something that is supported to do) in
1865df49960e34cc90d0083b0e0cd4771c0feb35 as part of a larger
refactoring.
This cygwin specific code isn't needed for converting paths anymore, as
dladdr takes care of it. (dladdr was added to cygwin in 2017, according
to the tags in version 2.8.0.)
Co-authored-by: Jeremy Drake <github at jdrake.com>
Commit: df344285e260109e016e28a14e663f376d8e903c
https://github.com/llvm/llvm-project/commit/df344285e260109e016e28a14e663f376d8e903c
Author: Nathan Gauër <brioche at google.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/include/llvm/IR/GenericConvergenceVerifierImpl.h
M llvm/test/Assembler/convergence-control.ll
A llvm/test/Transforms/ADCE/convergence.ll
A llvm/test/Transforms/BDCE/convergence.ll
M llvm/test/Transforms/FunctionAttrs/convergent.ll
M llvm/test/Verifier/convergencectrl-invalid.ll
Log Message:
-----------
[IR] Relax convergence requirements on call (#135794)
Before this commit, having a convergence token on a non-convergent call
was considered to be an error.
This commit relaxes this requirement and allows convergence tokens to be
present on non-convergent calls.
When such token is present, they have no effect as the underlying call
is non-convergent.
This allows passes like DCE to strip `convergent` attribute from
functions for which all convergent operations have been stripped. When
this happens, a convergence token can still exist in the call-site,
causing the verifier to complain.
Alternatives have been considered in #134863 and #134844.
Commit: d0dcfd4c68171c3b9b863626c08efa7f38cd0c54
https://github.com/llvm/llvm-project/commit/d0dcfd4c68171c3b9b863626c08efa7f38cd0c54
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::VarArgKind` to scoped enum
Commit: aa10f879dcbb3a08698d8c956de9cdf3b03def66
https://github.com/llvm/llvm-project/commit/aa10f879dcbb3a08698d8c956de9cdf3b03def66
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-reduce.rst
Log Message:
-----------
llvm-reduce: Fix trailing whitespace in command guide (#138240)
Commit: df264170f7f83530e03fb1ac22b3241797e86fe4
https://github.com/llvm/llvm-project/commit/df264170f7f83530e03fb1ac22b3241797e86fe4
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Transforms/ObjCARC/ProvenanceAnalysisEvaluator.cpp
M llvm/test/Transforms/ObjCARC/provenance.ll
Log Message:
-----------
[ObjC][ProvenanceEval] Only evaluate pointers (#136876)
I believe this pass should only be calling PA.related() on pointer
arguments -- the operation is not really meaningful for non-pointers.
I've adjusted the test to use ptr loads instead of i8 loads, which I
believe aligns with how these special globals would actually be used,
and which is probably what this was intending to test.
Ran into this while trying to eliminate illegal non-pointer AA queries.
Commit: daa4061d61216456baa83ab404e096200e327fb4
https://github.com/llvm/llvm-project/commit/daa4061d61216456baa83ab404e096200e327fb4
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M lldb/include/lldb/Target/Memory.h
M lldb/include/lldb/Target/Process.h
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/Options.td
M lldb/source/Target/Memory.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/TargetProperties.td
M lldb/test/API/commands/settings/TestSettings.py
R lldb/test/Shell/Expr/TestExprWithSideEffect.cpp
R lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVar.cpp
R lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVarWindows.cpp
R lldb/test/Shell/Expr/TestProcessModificationIdOnExpr.cpp
Log Message:
-----------
Revert "[lldb] Do not bump memory modificator ID when "internal" debugger memory is updated (#129092)"
And a follow up warning fix.
This reverts commit 6aa963f780d63d4c8fa80de97dd79c932bc35f4e
and 2bff80f25d51e24d3c552e033a2863dd36ef648b.
This is failing on Windows on Arm: https://lab.llvm.org/buildbot/#/builders/141/builds/8375
Seems to produce the line the test wants but not in the right place.
Reverting while I investigate.
Commit: 40edb37bb370541b71657fc308ba26b1ec2deb16
https://github.com/llvm/llvm-project/commit/40edb37bb370541b71657fc308ba26b1ec2deb16
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/CodeGen/StackSlotColoring.cpp
Log Message:
-----------
[StackSlotColoring] Fix issue where colors for a StackID are dropped (#138140)
In InitializeSlots, if an interval with a non-zero StackID (A) is
encountered we set All/UsedColors to a size of A + 1. If after this we
process another interval with a non-zero StackID (B), where B < A, then
we resize All/UsedColors to size < A + 1, and lose the BitVector
associated with A.
AFAIK this is a latent bug upstream, but when adding a new TargetStackID
locally I hit a `NextColors[StackID] != -1 && "No more spill slots?"`
assertion due to this issue.
Commit: ff8060a642377a17a1dfadb865634583cde4e097
https://github.com/llvm/llvm-project/commit/ff8060a642377a17a1dfadb865634583cde4e097
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPseudoObject.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::AssignConvertType` to scoped enum
Commit: 461255e0c17265141009437ba3887f49f9838a40
https://github.com/llvm/llvm-project/commit/461255e0c17265141009437ba3887f49f9838a40
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaExprCXX.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::AllocationFunctionScope` to scoped enum
Commit: f7fdc8d0cf7cd5caa7d463e1e80e0d5a08c71bb2
https://github.com/llvm/llvm-project/commit/f7fdc8d0cf7cd5caa7d463e1e80e0d5a08c71bb2
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/unittests/Support/ProgramStackTest.cpp
Log Message:
-----------
[llvm][Support] Disable runOnNewStack test when threading is disabled
On our buildbot https://lab.llvm.org/buildbot/#/builders/122/builds/1478,
one of the new tests added by https://github.com/llvm/llvm-project/pull/136046
failed.
This is because on non-Apple Silicon platforms, the implementation
is to start a new thread, but when threading is disabled this is the
same as calling a function normally.
Commit: c0917ab2e1cf603c3746f519fe1826869767bd8b
https://github.com/llvm/llvm-project/commit/c0917ab2e1cf603c3746f519fe1826869767bd8b
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[clang][NFC] Convert `Sema::IfExistsResult` to scoped enum
Commit: 4ba27780d34916d4a856e6593035b15a5cace56e
https://github.com/llvm/llvm-project/commit/4ba27780d34916d4a856e6593035b15a5cace56e
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::CorrectTypoKind` to scoped enum
Commit: 083b4a3d66c2d3e87b9b35104b59e07a004b5d3e
https://github.com/llvm/llvm-project/commit/083b4a3d66c2d3e87b9b35104b59e07a004b5d3e
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
A llvm/test/CodeGen/SystemZ/mcount.ll
Log Message:
-----------
[SystemZ] Add proper mcount handling (#135767)
When compiling with `-pg`, the `EntryExitInstrumenterPass` will insert
calls to the glibc function `mcount` at the begining of each
`MachineFunction`.
On SystemZ, these calls require special handling:
- The call to `mcount` needs to happen at the beginning of the prologue.
- Prior to the call to `mcount`, register `%r14`, the return address of
the callee function, must be stored 8 bytes above the stack pointer
`%r15`. After the call to `mcount` returns, that register needs to be
restored.
This commit adds some special handling to the EntryExitInstrumenterPass
that keeps the insertion of the mcount function into the module, but
skips over insertion of the actual call in order to perform this
insertion in the `emitPrologue` function. There, a simple sequence of
store/call/load is inserted, which implements the above.
The desired change in the `EntryExitInstrumenterPass` necessitated the
addition of a new attribute and attribute kind to each function, which
is used to trigger the postprocessing, aka call insertion, in
`emitPrologue`. Note that the new attribute must be of a different kind
than the `mcount` atribute, since otherwise it would replace that
attribute and later be deleted by the code that intended to delete
`mcount`. The new attribnute is called `insert-mcount`, while the
attribute kind is `systemz-backend`, to clearly mark it as a
SystemZ-specific backend concern.
This PR should address issue #121137 . The test inserted here is derived
from the example given in that issue.
Commit: 6e63b68389983194b5007d8d489e74d1ffcea500
https://github.com/llvm/llvm-project/commit/6e63b68389983194b5007d8d489e74d1ffcea500
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::OverloadKind` to scoped enum
Commit: e4d9be3d1205ddcdc131658409fcfa0f76aa1317
https://github.com/llvm/llvm-project/commit/e4d9be3d1205ddcdc131658409fcfa0f76aa1317
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bdep.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bext.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bgrp.c
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_aes_bitperm_sha3_sm4.cpp
Log Message:
-----------
[Clang][AArch64] make bitperm intrinsics available in streaming mode (#129700)
Based on recent changes in armv9.6 BitPerm instructions and thus
intrinsics are available in streaming mode when
[FEAT_SSVE_BitPerm](https://developer.arm.com/documentation/109697/2024_12/Feature-descriptions/The-Armv9-6-architecture-extension?lang=en#md463-the-armv96-architecture-extension__feat_FEAT_SSVE_BitPerm)
is available. This patch reflects this change and is based on [ACLE
proposal](https://github.com/ARM-software/acle/pull/385).
Commit: 8b56fb7a705a368c691b203a430009342b440886
https://github.com/llvm/llvm-project/commit/8b56fb7a705a368c691b203a430009342b440886
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Target/X86/X86LowerTileCopy.cpp
Log Message:
-----------
[X86] Check for AMXTile in asserting (#136507)
Assert if hasAMXTILE is false.
Commit: cf2f13a867fb86b5c7ce33df8a569477dce71f4f
https://github.com/llvm/llvm-project/commit/cf2f13a867fb86b5c7ce33df8a569477dce71f4f
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::CCEKind` to scoped enum
Commit: 7f5c34bc5e54e0fb149275d9ee6805e9e6a7a3ea
https://github.com/llvm/llvm-project/commit/7f5c34bc5e54e0fb149275d9ee6805e9e6a7a3ea
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/include/llvm/IR/BasicBlock.h
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Constants.cpp
Log Message:
-----------
[IR] Replace blockaddress refcount with single flag (#138239)
BasicBlock currently has a blockaddress refcount. However,
blockaddresses are uniqued, which means that there can only be a single
blockaddress for a given BasicBlock. Prior to #137958 there were some
edge case exceptions to this, but now it always holds. As such, replace
the refcount with a single flag.
As we're now just tracking two bits, I've dropped the BasicBlockBits
structure, as I found it more annoying than useful (esp with the weird
AIX workarounds). Instead handle the subclass data the same way we do in
Operators.
Commit: 3d4f979e271d2a1fe0906f4d1b16db108838f98f
https://github.com/llvm/llvm-project/commit/3d4f979e271d2a1fe0906f4d1b16db108838f98f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/Sema/SemaInit.cpp
M clang/test/Sema/attr-nonstring.c
Log Message:
-----------
[C] Allow __attribute__((nonstring)) on multidimensional arrays (#138133)
This addresses post-commit review feedback from the Linux kernel folks
and improves compatibility with the same feature in GCC
Commit: 85c810060e1a2a90dc4ec184b4c4275db17ef28f
https://github.com/llvm/llvm-project/commit/85c810060e1a2a90dc4ec184b4c4275db17ef28f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/TokenKinds.def
M clang/lib/Basic/IdentifierTable.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/test/OpenMP/assumes_messages.c
A clang/test/Sema/c++-keyword-in-c.c
A clang/test/Sema/c++-keyword-in-objc.m
Log Message:
-----------
[C] Diagnose use of C++ keywords in C (#137234)
This adds a new diagnostic group, -Wc++-keyword, which is off by default
and grouped under -Wc++-compat. The diagnostic catches use of C++
keywords in C code.
This change additionally fixes an issue with -Wreserved-identifier not
diagnosing use of reserved identifiers in function parameter lists in a
function declaration which is not a definition.
Fixes https://github.com/llvm/llvm-project/issues/21898
Commit: 72f5ac442da0e4af3a856d11f2c6dfd1c790998d
https://github.com/llvm/llvm-project/commit/72f5ac442da0e4af3a856d11f2c6dfd1c790998d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Stop setting intermediate cloned function names
The name will be stolen from the original function, so there's
no point in setting an initial suffixed name.
Commit: da3022577e1f277999922acaef9be169c20dfd48
https://github.com/llvm/llvm-project/commit/da3022577e1f277999922acaef9be169c20dfd48
Author: William <113542065+saturn691 at users.noreply.github.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/nearest_integer.h
M libc/src/__support/FPUtil/sqrt.h
M libc/src/string/memory_utils/aarch64/inline_bcmp.h
M libc/src/string/memory_utils/aarch64/inline_memcmp.h
M libc/src/string/memory_utils/aarch64/inline_memmove.h
M libc/src/string/memory_utils/aarch64/inline_memset.h
M libc/src/string/memory_utils/inline_bcmp.h
M libc/src/string/memory_utils/inline_memcmp.h
M libc/src/string/memory_utils/inline_memset.h
M libc/src/string/memory_utils/op_aarch64.h
Log Message:
-----------
[libc] Add support for string/memory_utils functions for AArch64 without HW FP/SIMD (#137592)
Add conditional compilation to add support for AArch64 without vector
registers and/or hardware FPUs by using the generic implementation.
**Context:**
A few functions were hard-coded to use vector registers/hardware FPUs.
This meant that libc would not compile on architectures that did not
support these features. This fix falls back on the generic
implementation if a feature is not supported.
Commit: f33dc8e4388cb1cc6a9212bc0618542c80b5c1ee
https://github.com/llvm/llvm-project/commit/f33dc8e4388cb1cc6a9212bc0618542c80b5c1ee
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/test/Sema/warn-duplicate-decl-specifier.c
Log Message:
-----------
Add additional test coverage
Test was requested via post-commit review
Commit: 74ca51eac39dbed18dbcbcd0f00b50562b90361f
https://github.com/llvm/llvm-project/commit/74ca51eac39dbed18dbcbcd0f00b50562b90361f
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
Log Message:
-----------
[NFC][TableGen] Use private inheritance for TrailingObjects (#138027)
- Use private inheritance for `TrailingObjects` as suggested in the
documentation for `TrailingObjects` class.
- Move std::uninitialized_copy calls from various `get` functions to the
constructors of respective classes.
- Eliminate `NumArgNames` from `DagInit`. Its always equal to `NumArgs`.
- Eliminate unused `name_size/name_empty` from `DagInit`.
Commit: 9060ca01913776cbed78b03e72d7700adc2201b7
https://github.com/llvm/llvm-project/commit/9060ca01913776cbed78b03e72d7700adc2201b7
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/codegen-prepare-addrspacecast-non-null.ll
Log Message:
-----------
[AMDGPU] Check for nonnull loads feeding addrspacecast (#138184)
Handle nonnull loads just like nonnull arguments when checking for
addrspacecasts that are known never null.
Commit: 5060f08c3a98c2e4976d7ec380d9d8ea1888a68c
https://github.com/llvm/llvm-project/commit/5060f08c3a98c2e4976d7ec380d9d8ea1888a68c
Author: John Brawn <john.brawn at arm.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-fast-isel-conversion-fallback.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fmax.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fmin.ll
M llvm/test/CodeGen/AArch64/bf16-instructions.ll
M llvm/test/CodeGen/AArch64/bf16_fast_math.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
Log Message:
-----------
[AArch64] Use pattern to select bf16 fpextend (#137212)
Currently bf16 fpextend is lowered to a vector shift. Instead leave it
as fpextend and have an instruction selection pattern which selects to a
shift later. Doing this means that DAGCombiner patterns for fpextend
will be applied, leading to better codegen. It also means that in some
situations we use a mov instruction where we previously have a dup
instruction, but I don't think this makes any difference.
Commit: 41035f4aa8139353a532509e5d4406dbb07446ac
https://github.com/llvm/llvm-project/commit/41035f4aa8139353a532509e5d4406dbb07446ac
Author: Ivan Ho <ivan.ho at cl.cam.ac.uk>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M mlir/CMakeLists.txt
M mlir/cmake/modules/CMakeLists.txt
A mlir/cmake/modules/IRDLToCpp.cmake
M mlir/cmake/modules/MLIRConfig.cmake.in
M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
M mlir/include/mlir/InitAllTranslations.h
A mlir/include/mlir/Target/IRDLToCpp/IRDLToCpp.h
A mlir/include/mlir/Target/IRDLToCpp/TranslationRegistration.h
M mlir/lib/Dialect/IRDL/IR/IRDL.cpp
M mlir/lib/Target/CMakeLists.txt
A mlir/lib/Target/IRDLToCpp/CMakeLists.txt
A mlir/lib/Target/IRDLToCpp/IRDLToCpp.cpp
A mlir/lib/Target/IRDLToCpp/Templates/DialectDecl.txt
A mlir/lib/Target/IRDLToCpp/Templates/DialectDef.txt
A mlir/lib/Target/IRDLToCpp/Templates/Header.txt
A mlir/lib/Target/IRDLToCpp/Templates/PerOperationDecl.txt
A mlir/lib/Target/IRDLToCpp/Templates/PerOperationDef.txt
A mlir/lib/Target/IRDLToCpp/Templates/TypeDecl.txt
A mlir/lib/Target/IRDLToCpp/Templates/TypeDef.txt
A mlir/lib/Target/IRDLToCpp/Templates/TypeHeaderDecl.txt
A mlir/lib/Target/IRDLToCpp/Templates/TypeHeaderDef.txt
A mlir/lib/Target/IRDLToCpp/TemplatingUtils.h
A mlir/lib/Target/IRDLToCpp/TranslationRegistration.cpp
M mlir/test/Dialect/IRDL/invalid.irdl.mlir
A mlir/test/Dialect/IRDL/invalid_names.irdl.mlir
M mlir/test/Dialect/IRDL/regions-ops.irdl.mlir
M mlir/test/lib/Dialect/CMakeLists.txt
A mlir/test/lib/Dialect/TestIRDLToCpp/CMakeLists.txt
A mlir/test/lib/Dialect/TestIRDLToCpp/TestIRDLToCppDialect.cpp
A mlir/test/lib/Dialect/TestIRDLToCpp/TestIRDLToCppDialect.h
A mlir/test/lib/Dialect/TestIRDLToCpp/test.testd.mlir
A mlir/test/lib/Dialect/TestIRDLToCpp/test_conversion.testd.mlir
A mlir/test/lib/Dialect/TestIRDLToCpp/test_irdl_to_cpp.irdl.mlir
A mlir/test/lib/Dialect/TestIRDLToCpp/test_irdl_to_cpp_invalid_unsupported_types.irdl.mlir
M mlir/test/tblgen-to-irdl/TestDialect.td
A mlir/tools/mlir-irdl-to-cpp/CMakeLists.txt
A mlir/tools/mlir-irdl-to-cpp/mlir-irdl-to-cpp.cpp
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[MLIR][IRDL] Added IRDL to C++ Translation (#133982)
This PR introduces a new tool, mlir-irdl-to-cpp, that converts IRDL to
C++ definitions.
The C++ definitions allow use of the IRDL-defined dialect in MLIR C++
infrastructure, enabling the use of conversion patterns with IRDL
dialects for example. This PR also adds CMake utilities to easily
integrate the IRDL dialects into MLIR projects.
Note that most IRDL features are not supported. In general, we are only
able to define simple types and operations.
- The only type constraint supported is `irdl.any`.
- Variadic operands and results are not supported.
- Verifiers for the IRDL constraints are not generated.
- Attributes are not supported.
---------
Co-authored-by: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
Co-authored-by: Fehr Mathieu <mathieu.fehr at gmail.com>
Commit: 26a1366380796f95f308faab5010b019c4b75b10
https://github.com/llvm/llvm-project/commit/26a1366380796f95f308faab5010b019c4b75b10
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTMetadata.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTMetadata.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/test/API/lang/cpp/dynamic-value/Makefile
M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
M lldb/test/API/lang/cpp/dynamic-value/a.h
A lldb/test/API/lang/cpp/dynamic-value/forward-a.cpp
M lldb/test/API/lang/cpp/dynamic-value/pass-to-base.cpp
Log Message:
-----------
[lldb] Fix dynamic type resolution for types parsed from declarations (#137974)
This fixes a regression caused by us starting to parse types from
declarations. The code in TypeSystemClang was assuming that the value
held in ClangASTMetadata was authoritative, but this isn't (and cannot)
be the case when the type is parsed from a forward-declaration.
For the fix, I add a new "don't know" state to ClangASTMetadata, and
make sure DWARFASTParserClang sets it only when it encounters a forward
declaration. In this case, the type system will fall back to completing
the type.
This does mean that we will be completing more types than before, but
I'm hoping this will offset by the fact that we don't search for
definition DIEs eagerly. In particular, I don't expect it to make a
difference in -fstandalone-debug scenarios, since types will nearly
always be present as definitions.
To avoid this cost, we'd need to create some sort of a back channel to
query the DWARFASTParser about the dynamicness of the type without
actually completing it. I'd like to avoid that if it is not necessary.
Commit: cffb8aee140ce0c022060941b7b60025dd70395c
https://github.com/llvm/llvm-project/commit/cffb8aee140ce0c022060941b7b60025dd70395c
Author: Alexander Peskov <apeskov at nvidia.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
A llvm/test/DebugInfo/NVPTX/debug-bool-var.ll
Log Message:
-----------
[DEBUGINFO] Propagate debug metadata for sext SDNode. (#135971)
In some cases of chained `sext` operators the debug metadata can be
missed. This patch propagates proper metadata to resulting node.
Particular case of issue is NVPTX codegen for function with bool local
variable:
```
void test(int i) {
bool xyz = i == 0;
foo(i);
}
```
---------
Signed-off-by: Alexander Peskov <apeskov at nvidia.com>
Commit: f6ac5276ee364b3b22ce746439e0ce3224dc9091
https://github.com/llvm/llvm-project/commit/f6ac5276ee364b3b22ce746439e0ce3224dc9091
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M offload/liboffload/include/OffloadImpl.hpp
M offload/liboffload/src/OffloadImpl.cpp
M offload/unittests/OffloadAPI/kernel/olGetKernel.cpp
Log Message:
-----------
[Offload] Ensure all `llvm::Error`s are handled (#137339)
`llvm::Error`s containing errors must be explicitly handled or an assert
will be raised. With this change, `ol_impl_result_t` can accept and
consume an `llvm::Error` for errors raised by PluginInterface that have
multiple causes and other places now call `llvm::consumeError`.
Note that there is currently no facility for PluginInterface to
communicate exact error codes, but the constructor is designed in
such a way that it can be easily added later. This MR is to
convert a crash into an error code.
A new test was added, however due to the aforementioned issue with
error codes, it does not pass and instead is marked as a skip.
Commit: 7d01b85c2a0aa8bc91f731cfeb2a7b6885b8d04a
https://github.com/llvm/llvm-project/commit/7d01b85c2a0aa8bc91f731cfeb2a7b6885b8d04a
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M lldb/include/lldb/Target/Memory.h
M lldb/include/lldb/Target/Process.h
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/Options.td
M lldb/source/Target/Memory.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/TargetProperties.td
M lldb/test/API/commands/settings/TestSettings.py
A lldb/test/Shell/Expr/TestExprWithSideEffect.cpp
A lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVar.cpp
A lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVarWindows.cpp
A lldb/test/Shell/Expr/TestProcessModificationIdOnExpr.cpp
Log Message:
-----------
Reland "[lldb] Do not bump memory modificator ID when "internal" debugger memory is updated (#129092)"
This reverts commit daa4061d61216456baa83ab404e096200e327fb4.
Original PR https://github.com/llvm/llvm-project/pull/129092.
I have restricted the test to X86 Windows because it turns out the only
reason that `expr x.get()` would change m_memory_id is that on x86 we
have to write the return address to the stack in ABIWindows_X86_64::PrepareTrivialCall:
```
// Save return address onto the stack
if (!process_sp->WritePointerToMemory(sp, return_addr, error))
return false;
```
This is not required on AArch64 so m_memory_id was not changed:
```
(lldb) expr x.get()
(int) $0 = 0
(lldb) process status -d
Process 15316 stopped
* thread #1, stop reason = Exception 0x80000003 encountered at address 0x7ff764a31034
frame #0: 0x00007ff764a31038 TestProcessModificationIdOnExpr.cpp.tmp`main at TestProcessModificationIdOnExpr.cpp:35
32 __builtin_debugtrap();
33 __builtin_debugtrap();
34 return 0;
-> 35 }
36
37 // CHECK-LABEL: process status -d
38 // CHECK: m_stop_id: 2
ProcessModID:
m_stop_id: 3
m_last_natural_stop_id: 0
m_resume_id: 0
m_memory_id: 0
```
Really we should find a better way to force a memory write here, but
I can't think of one right now.
Commit: 543f112e148a81de290d099f10784dc3ff698aa4
https://github.com/llvm/llvm-project/commit/543f112e148a81de290d099f10784dc3ff698aa4
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/JumpDiagnostics.cpp
M clang/lib/Sema/SemaDecl.cpp
A clang/test/Sema/warn-jump-bypasses-init.c
Log Message:
-----------
[C] Add -Wjump-bypasses-init (#138009)
We already diagnose when a jump bypasses initialization in C++ because
such code is ill-formed there. However, we were not using this to
diagnose those same jumps in C.
-Wjump-bypasses-init is grouped under -Wc++-compat and diagnoses this
situation as a compatibility issue with C++. This diagnostic is off by
default.
The diagnostic could perhaps be enabled by default for C, but due to the
design of jump diagnostic handling, it not a trivial task. For now,
we'll add the diagnostic as off-by-default so we get incremental
improvement, but a follow-up could try to refactor jump diagnostics so
we can enable this by default in C and have it as a C++ compatibility
diagnostic as well.
Commit: a4ceac7e3e04c32cb3e334eb89b54d8e99a298f8
https://github.com/llvm/llvm-project/commit/a4ceac7e3e04c32cb3e334eb89b54d8e99a298f8
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTStructuralEquivalence.h
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/test/ASTMerge/struct/test.c
A clang/test/C/C23/n3037.c
A clang/test/C/C23/n3037_1.c
M clang/test/C/drs/dr1xx.c
M clang/unittests/AST/StructuralEquivalenceTest.cpp
M clang/www/c_status.html
Log Message:
-----------
[C23] Implement WG14 N3037 (#132939)
This changes the type compatibility rules so that it is permitted to
redefine tag types within the same TU so long as they are equivalent
definitions.
It is intentionally not being exposed as an extension in older C
language modes. GCC does not do so and the feature doesn't seem
compelling enough to warrant it.
Commit: 98e31b75f1ad7bd838d11b1ab5f610965ed6e64e
https://github.com/llvm/llvm-project/commit/98e31b75f1ad7bd838d11b1ab5f610965ed6e64e
Author: David Green <david.green at arm.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
Log Message:
-----------
[AArch64] Cleanup SDValue(N,0) to Op in tablegen PatFrag. NFC
Commit: 0b2ab11321d2b400987e9ade28a221dff67aea7d
https://github.com/llvm/llvm-project/commit/0b2ab11321d2b400987e9ade28a221dff67aea7d
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/Basic/IdentifierTable.cpp
Log Message:
-----------
Simplify implementation; NFC
Suggestion came via post-commit review feedback
Commit: e66592509b7d56c8a6db8883be2257325f1d7b56
https://github.com/llvm/llvm-project/commit/e66592509b7d56c8a6db8883be2257325f1d7b56
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/include/llvm/IR/Function.h
M llvm/lib/IR/Function.cpp
A llvm/test/tools/llvm-reduce/reduce-instructions-to-return-nonvoid-noncallee-use.ll
A llvm/test/tools/llvm-reduce/reduce-instructions-to-return.ll
M llvm/test/tools/llvm-reduce/reduce-operands-fp.ll
M llvm/test/tools/llvm-reduce/reduce-operands-int.ll
M llvm/test/tools/llvm-reduce/reduce-operands-ptr.ll
M llvm/tools/llvm-reduce/CMakeLists.txt
M llvm/tools/llvm-reduce/DeltaManager.cpp
M llvm/tools/llvm-reduce/DeltaPasses.def
A llvm/tools/llvm-reduce/deltas/ReduceValuesToReturn.cpp
A llvm/tools/llvm-reduce/deltas/ReduceValuesToReturn.h
Log Message:
-----------
llvm-reduce: Add values to return reduction (#132686)
In void functions, try to replace instruction uses
with a new non-void return. If the return type matches
the instruction, also try to directly return it.
This handles most of the cases, but doesn't try to handle
all of the weird exception related terminators.
Also doesn't try to replace argument uses, although it could. We
could also handle cases where we can insert a simple cast to an
original return value. I didn't think too hard about where to put this
in the default pass order. In many cases it obviates the need for most
of the CFG folds, but I've left it near the end initially.
I also think this is too aggressive about removing dead code, and
should leave existing dead code alone. I'm also not sure why we have
both "removeUnreachableBlocks" and EliminateUnreachableBlocks" in Utils.
Fixes #66039, fixes #107327
Commit: aa4b44e69979b12d85e2b88cd8c924ce2e800b96
https://github.com/llvm/llvm-project/commit/aa4b44e69979b12d85e2b88cd8c924ce2e800b96
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
Log Message:
-----------
[clang][NFC] Fix some clang-format mistakes (#138036)
Fixes for https://github.com/llvm/llvm-project/pull/138000
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 26bc8b0ffa4335fa18359de7c224f1460a8c102c
https://github.com/llvm/llvm-project/commit/26bc8b0ffa4335fa18359de7c224f1460a8c102c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-values-to-return-args.ll
M llvm/tools/llvm-reduce/DeltaPasses.def
M llvm/tools/llvm-reduce/deltas/ReduceValuesToReturn.cpp
M llvm/tools/llvm-reduce/deltas/ReduceValuesToReturn.h
Log Message:
-----------
llvm-reduce: Reduce with early return of arguments (#133627)
Extend the instruction -> return reduction with one that inserts
return of function arguments. Not sure how useful this really is. This
has more freedom since we could insert the return anywhere in the function,
but this just inserts the return in the entry block.
Commit: e3a81df38cb67d472d66db3e918a46bd534ea11c
https://github.com/llvm/llvm-project/commit/e3a81df38cb67d472d66db3e918a46bd534ea11c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/reduce-instructions-to-return.ll
A llvm/test/tools/llvm-reduce/reduce-values-to-return-new-return-type.ll
M llvm/tools/llvm-reduce/deltas/ReduceValuesToReturn.cpp
Log Message:
-----------
llvm-reduce: Change function return types if function is not called (#134035)
Extend the early return on value reduction to mutate the function return
type if the function has no call uses. This could be generalized to rewrite
cases where all callsites are used, but it turns out that complicates the
visitation order given we try to compute all opportunities up front.
This is enough to cleanup the common case where we end up with one
function with a return of an uninteresting constant.
Commit: 1ab70fed622bcbd4a679f66b1c638cdd46f0365c
https://github.com/llvm/llvm-project/commit/1ab70fed622bcbd4a679f66b1c638cdd46f0365c
Author: Reilly Brogan <reilly at reillybrogan.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M flang/CMakeLists.txt
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
[flang] Enable installing binding header and modules as part of distribution (#133962)
This allows the C/Fortran interop header (`ISO_Fortran_binding.h`) and
the Fortran module interfaces (`.mod` files) to be installed with
`LLVM_DISTRIBUTION_COMPONENTS`.
Signed-off-by: Reilly Brogan <reilly at reillybrogan.com>
Commit: 65438787c7729d84964a25c2db5f7996dd1343cc
https://github.com/llvm/llvm-project/commit/65438787c7729d84964a25c2db5f7996dd1343cc
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/Sema/SemaExprObjC.cpp
Log Message:
-----------
[Clang][NFC] assert IFaceT in SemaObjC::HandleExprPropertyRefExpr (#138026)
Static analysis flagged that we use IFaceT in HandleExprPropertyRefExpr
without checking even though getInterfaceType() can return nullptr. The
comments make it clear the assumption is that we will always have an
interface, so we will document this via an assert.
Fixes: https://github.com/llvm/llvm-project/issues/134954
Commit: a18adb2358cac0f14cce5faf27f607c2b1601ed9
https://github.com/llvm/llvm-project/commit/a18adb2358cac0f14cce5faf27f607c2b1601ed9
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/test/Lower/OpenMP/cray-pointers01.f90
M flang/test/Semantics/declarations08.f90
A flang/test/Semantics/resolve125.f90
Log Message:
-----------
[flang] fix scoping of cray pointer declarations and add check for initialization (#136776)
This PR:
- makes Cray pointer declarations shadow previous bindings instead of
modifying them,
- errors when the pointee of a cray pointee has the SAVE attribute, and
- adds a missing newline after dumping the list of cray pointers in a
scope.
Closes #135579
Commit: 04e32b8a33bbbd184114aba23c017706b957fb95
https://github.com/llvm/llvm-project/commit/04e32b8a33bbbd184114aba23c017706b957fb95
Author: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M mlir/CMakeLists.txt
M mlir/cmake/modules/CMakeLists.txt
R mlir/cmake/modules/IRDLToCpp.cmake
M mlir/cmake/modules/MLIRConfig.cmake.in
M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
M mlir/include/mlir/InitAllTranslations.h
R mlir/include/mlir/Target/IRDLToCpp/IRDLToCpp.h
R mlir/include/mlir/Target/IRDLToCpp/TranslationRegistration.h
M mlir/lib/Dialect/IRDL/IR/IRDL.cpp
M mlir/lib/Target/CMakeLists.txt
R mlir/lib/Target/IRDLToCpp/CMakeLists.txt
R mlir/lib/Target/IRDLToCpp/IRDLToCpp.cpp
R mlir/lib/Target/IRDLToCpp/Templates/DialectDecl.txt
R mlir/lib/Target/IRDLToCpp/Templates/DialectDef.txt
R mlir/lib/Target/IRDLToCpp/Templates/Header.txt
R mlir/lib/Target/IRDLToCpp/Templates/PerOperationDecl.txt
R mlir/lib/Target/IRDLToCpp/Templates/PerOperationDef.txt
R mlir/lib/Target/IRDLToCpp/Templates/TypeDecl.txt
R mlir/lib/Target/IRDLToCpp/Templates/TypeDef.txt
R mlir/lib/Target/IRDLToCpp/Templates/TypeHeaderDecl.txt
R mlir/lib/Target/IRDLToCpp/Templates/TypeHeaderDef.txt
R mlir/lib/Target/IRDLToCpp/TemplatingUtils.h
R mlir/lib/Target/IRDLToCpp/TranslationRegistration.cpp
M mlir/test/Dialect/IRDL/invalid.irdl.mlir
R mlir/test/Dialect/IRDL/invalid_names.irdl.mlir
M mlir/test/Dialect/IRDL/regions-ops.irdl.mlir
M mlir/test/lib/Dialect/CMakeLists.txt
R mlir/test/lib/Dialect/TestIRDLToCpp/CMakeLists.txt
R mlir/test/lib/Dialect/TestIRDLToCpp/TestIRDLToCppDialect.cpp
R mlir/test/lib/Dialect/TestIRDLToCpp/TestIRDLToCppDialect.h
R mlir/test/lib/Dialect/TestIRDLToCpp/test.testd.mlir
R mlir/test/lib/Dialect/TestIRDLToCpp/test_conversion.testd.mlir
R mlir/test/lib/Dialect/TestIRDLToCpp/test_irdl_to_cpp.irdl.mlir
R mlir/test/lib/Dialect/TestIRDLToCpp/test_irdl_to_cpp_invalid_unsupported_types.irdl.mlir
M mlir/test/tblgen-to-irdl/TestDialect.td
R mlir/tools/mlir-irdl-to-cpp/CMakeLists.txt
R mlir/tools/mlir-irdl-to-cpp/mlir-irdl-to-cpp.cpp
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
Revert "[MLIR][IRDL] Added IRDL to C++ Translation" (#138285)
Reverts llvm/llvm-project#133982
Commit: 580da48a93ea3065cced426bb37df65a933c21f7
https://github.com/llvm/llvm-project/commit/580da48a93ea3065cced426bb37df65a933c21f7
Author: Anchu Rajendran S <asudhaku at amd.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
A flang/test/Driver/func-attr-instrument-functions.f90
Log Message:
-----------
[flang][flang-driver] Support flag -finstrument-functions (#137996)
Commit: c54122fe538f0edbf5a7a6f2a62bf4973a00262c
https://github.com/llvm/llvm-project/commit/c54122fe538f0edbf5a7a6f2a62bf4973a00262c
Author: Xiang Li <python3kgae at outlook.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M mlir/lib/IR/AsmPrinter.cpp
M mlir/test/IR/pretty-resources-print.mlir
Log Message:
-----------
[NFC][mlir][AsmPrinter] Don't compute resourceStr when --mlir-elide-resource-strings-if-larger=0 (#138275)
When skipping the printing of large DenseResourceElementsAttr with
--mlir-elide-resource-strings-if-larger,
we need to compute resourceStr to check if the string is small enough to
print.
With --mlir-elide-resource-strings-if-larger set to 0, nothing should be
printed, but we still compute the size.
This change will allow an early return when
--mlir-elide-resource-strings-if-larger=0, making the print process
faster.
Commit: 9a26b2903bd1c3fbb3a71747f9c53aec93158595
https://github.com/llvm/llvm-project/commit/9a26b2903bd1c3fbb3a71747f9c53aec93158595
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_and.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_div_urem.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_lshr.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction2.ll
Log Message:
-----------
[VPlan] Don't rely on region check in isUniformAfterVectorization. (#137883)
Generalize isUniformAfterVectorization check to not rely on the region,
but purely work on checking operands and opcodes.
This will be needed when disolving the vector region
(https://github.com/llvm/llvm-project/pull/117506) and improves codegen
slightly in some cases.
PR: https://github.com/llvm/llvm-project/pull/137883
Commit: ee3610efb511ec0a8d5ebd2016ce23b4b4344cd1
https://github.com/llvm/llvm-project/commit/ee3610efb511ec0a8d5ebd2016ce23b4b4344cd1
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/AST/ASTStructuralEquivalence.cpp
Log Message:
-----------
Remove unused function; NFC
Commit: ace189b23b4f4ce6dc7b6ae31b25943f89a14aa0
https://github.com/llvm/llvm-project/commit/ace189b23b4f4ce6dc7b6ae31b25943f89a14aa0
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
Log Message:
-----------
[lldb][test] Disable flaky TestLldbGdbServer.py (#138263)
See #138085 for details.
Commit: 52d2b589b2d7adc3e2b4ea503df4131e088de61f
https://github.com/llvm/llvm-project/commit/52d2b589b2d7adc3e2b4ea503df4131e088de61f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/test/Analysis/ScalarEvolution/guards.ll
M llvm/test/Transforms/IndVarSimplify/canonicalize-cmp.ll
M llvm/test/Transforms/IndVarSimplify/cycled_phis.ll
M llvm/test/Transforms/IndVarSimplify/floating-point-iv.ll
M llvm/test/Transforms/IndVarSimplify/floating-point-small-iv.ll
M llvm/test/Transforms/IndVarSimplify/implied-via-addition.ll
M llvm/test/Transforms/IndVarSimplify/iv-sext.ll
M llvm/test/Transforms/IndVarSimplify/lftr.ll
M llvm/test/Transforms/IndVarSimplify/pr102597.ll
M llvm/test/Transforms/IndVarSimplify/pr126012.ll
M llvm/test/Transforms/IndVarSimplify/pr66986.ll
M llvm/test/Transforms/IndVarSimplify/preserving-debugloc.ll
M llvm/test/Transforms/IndVarSimplify/scev-invalidation.ll
M llvm/test/Transforms/IndVarSimplify/shift-range-checks.ll
M llvm/test/Transforms/LoopDeletion/invalidate-scev-after-hoisting.ll
Log Message:
-----------
[IndVarSimplify] Set samesign when converting signed comparison to unsigned comparison in eliminateIVComparison. (#138215)
Commit: d6dbe7799e638702309e23fc7b73d4be2231e2ac
https://github.com/llvm/llvm-project/commit/d6dbe7799e638702309e23fc7b73d4be2231e2ac
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/include/llvm/Pass.h
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/LTO/AMDGPU/closed-world-assumption.ll
Log Message:
-----------
[AMDGPU][Attributor] Add `ThinOrFullLTOPhase` as an argument (#123994)
Commit: 4ec473e0e19c1586f27ebc146249b10acb3b8769
https://github.com/llvm/llvm-project/commit/4ec473e0e19c1586f27ebc146249b10acb3b8769
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
M llvm/lib/Target/RISCV/RISCVLoadStoreOptimizer.cpp
M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
Log Message:
-----------
[llvm] Remove redundant calls to std::unique_ptr<T>::get (NFC) (#138236)
Commit: 32ca368c1e5de75f8800a45de883ee93d5854c91
https://github.com/llvm/llvm-project/commit/32ca368c1e5de75f8800a45de883ee93d5854c91
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPC.td
Log Message:
-----------
[PPC][NFC] Remove duplicate processor feature from pwr9/10/11 and future (#137903)
The new TableGen warning introduced in
https://github.com/llvm/llvm-project/commit/951292be2c21bc903e63729338d872a878d2d49c
shows the following warnings:
```
warning: Processor future contains duplicate feature 'predictable-select-expensive'
warning: Processor pwr10 contains duplicate feature 'predictable-select-expensive'
warning: Processor pwr11 contains duplicate feature 'predictable-select-expensive'
warning: Processor pwr9 contains duplicate feature 'predictable-select-expensive'
```
Commit: e777e7a5d21b2fb3e77f16b86c4531f35a0a5cac
https://github.com/llvm/llvm-project/commit/e777e7a5d21b2fb3e77f16b86c4531f35a0a5cac
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/test/SemaOpenACC/compute-construct-num_gangs-clause.c
M clang/test/SemaOpenACC/compute-construct-num_workers-clause.c
M clang/test/SemaOpenACC/compute-construct-vector_length-clause.c
M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
M clang/test/SemaOpenACC/loop-construct-tile-clause.cpp
Log Message:
-----------
[OpenACC] Implement better dupe catching for device_type clauses (#138196)
Previously we just checked duplicates for a handful of clauses between
active device_type clauses. However, after looking into the
implementation for 'collapse', I discovered that duplicate device_type
identifiers with duplicate versions of htese clause are problematic.
This patch corrects this and now catches these conflicts.
Commit: 7220fdad0cbf42a9d134e157ba5821192327f4f3
https://github.com/llvm/llvm-project/commit/7220fdad0cbf42a9d134e157ba5821192327f4f3
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/test/Fir/invalid.fir
M flang/test/Fir/volatile.fir
M flang/test/Fir/volatile2.fir
M flang/test/HLFIR/volatile.fir
M flang/test/HLFIR/volatile1.fir
M flang/test/HLFIR/volatile2.fir
M flang/test/HLFIR/volatile3.fir
M flang/test/HLFIR/volatile4.fir
A flang/test/Lower/volatile-allocatable1.f90
M flang/test/Lower/volatile-openmp.f90
M flang/test/Lower/volatile-string.f90
M flang/test/Lower/volatile1.f90
M flang/test/Lower/volatile2.f90
M flang/test/Lower/volatile3.f90
M flang/test/Lower/volatile4.f90
Log Message:
-----------
[flang] Hide strict volatility checks behind flag (#138183)
Enabling volatility lowering by default revealed some issues in lowering
and op verification.
For example, given volatile variable of a nested type, accessing
structure members of a structure member would result in a volatility
mismatch when the inner structure member is designated (and thus a
verification error at compile time).
In other cases, I found correct codegen when the checks were disabled,
also related to allocatable types and how we handle volatile references
of boxes.
This hides the strict verification of fir and hlfir ops behind a flag so
I can iteratively improve lowering of volatile variables without causing
compile-time failures, keeping the strict verification on when running
tests.
Commit: 39e6e888a8155583713e1b8b256119a2be7902e0
https://github.com/llvm/llvm-project/commit/39e6e888a8155583713e1b8b256119a2be7902e0
Author: John Harrison <harjohn at google.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M lldb/tools/lldb-dap/README.md
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
Log Message:
-----------
[lldb-dap] Adding defaults to VSCode settings for user level defaults. (#137694)
This adds support for loading user level defaults in VSCode. The
defaults are stored as basic settings that are loaded when the debug
configuration is resolved. Not all settings are currently supported, I
limited it to settings that would likely apply across multiple
launch.json configurations.
This should resolve #134564
Commit: 58addfbbcc520d925e93f33b2c68dcf657496828
https://github.com/llvm/llvm-project/commit/58addfbbcc520d925e93f33b2c68dcf657496828
Author: Richard Howell <rmaz at users.noreply.github.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M lld/MachO/InputFiles.cpp
A lld/test/MachO/reexport-without-rpath.s
Log Message:
-----------
[lld] handle re-exports for full framework paths (#137989)
Framework load paths can be either the top level framework name, or
subpaths of the framework bundle pointing to specific framework binary
versions. Extend the framework lookup logic to handle the latter case.
Commit: a635bbf1418e351651ed86230eab3d13f871f971
https://github.com/llvm/llvm-project/commit/a635bbf1418e351651ed86230eab3d13f871f971
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/test/Sema/sizeless-1.c
M clang/test/Sema/typedef-retain.c
M clang/test/Sema/warn-default-const-init.c
M clang/test/SemaOpenCL/invalid-block.cl
Log Message:
-----------
[C] Update the -Wdefault-const-init-unsafe wording (#138266)
This drops the "and is incompatible with C++" phrasing from the
diagnostic unless -Wc++-compat is explicitly passed. This makes the
diagnostic less confusing when it is on by default rather than enabled
because of C++ compatibility concerns
Commit: b5dbddd2004a42a8c80dc38e9571b4d29b395d17
https://github.com/llvm/llvm-project/commit/b5dbddd2004a42a8c80dc38e9571b4d29b395d17
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitEXTRACT_SUBVECTOR - change fold helper methods to take operands instead of EXTRACT_SUBVECTOR node. NFC. (#138279)
Call with the individual subvector type, source vector and index operands instead of the original EXTRACT_SUBVECTOR node.
Some of these folds still assumed that EXTRACT_SUBVECTOR/INSERT_SUBVECTOR nodes could have variable indices, despite us moving to all constant indices some time ago - all of that code has now been simplified.
I've moved the narrowExtractedVectorBinOp call higher up, but it won't affect fold order - it didn't rely on the peekThroughBitcasts call, and worked on BinOps, not BUILD_VECTOR/INSERT_SUBVECTOR nodes.
Prep work to make it easier for more of these folds to work through BITCAST nodes.
Commit: 8313d2a8dbc5e23741d7c67c3b009fc3f6de4875
https://github.com/llvm/llvm-project/commit/8313d2a8dbc5e23741d7c67c3b009fc3f6de4875
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaOpenACCClauseAppertainment.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/atomic-construct.cpp
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-default-clause.c
M clang/test/SemaOpenACC/combined-construct-default-clause.cpp
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/combined-construct-gang-clause.cpp
M clang/test/SemaOpenACC/combined-construct-num_gangs-clause.c
M clang/test/SemaOpenACC/combined-construct-num_workers-clause.c
M clang/test/SemaOpenACC/combined-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/combined-construct-self-clause.c
M clang/test/SemaOpenACC/combined-construct-self-clause.cpp
M clang/test/SemaOpenACC/combined-construct-vector-clause.cpp
M clang/test/SemaOpenACC/combined-construct-vector_length-clause.c
M clang/test/SemaOpenACC/combined-construct-worker-clause.cpp
M clang/test/SemaOpenACC/compute-construct-async-clause.c
M clang/test/SemaOpenACC/compute-construct-default-clause.c
M clang/test/SemaOpenACC/compute-construct-default-clause.cpp
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-num_gangs-clause.c
M clang/test/SemaOpenACC/compute-construct-num_workers-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/compute-construct-self-clause.c
M clang/test/SemaOpenACC/compute-construct-self-clause.cpp
M clang/test/SemaOpenACC/compute-construct-vector_length-clause.c
M clang/test/SemaOpenACC/data-construct-async-clause.c
M clang/test/SemaOpenACC/data-construct-default-clause.c
M clang/test/SemaOpenACC/data-construct-device_type-clause.c
M clang/test/SemaOpenACC/data-construct-if-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
M clang/test/SemaOpenACC/init-construct.cpp
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/test/SemaOpenACC/loop-construct-gang-clause.cpp
M clang/test/SemaOpenACC/loop-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/loop-construct-tile-clause.cpp
M clang/test/SemaOpenACC/loop-construct-vector-clause.cpp
M clang/test/SemaOpenACC/loop-construct-worker-clause.cpp
M clang/test/SemaOpenACC/routine-construct-clauses.cpp
M clang/test/SemaOpenACC/set-construct.cpp
M clang/test/SemaOpenACC/shutdown-construct.cpp
M clang/test/SemaOpenACC/update-construct.cpp
Log Message:
-----------
[OpenACC] Fixup previous-clause diagnostics
Brought up in a previous review as a TODO, we could be better about how
we highlight what hte previous clause was, and how to show that the
'device_type' is the one being targetted. This patch rewords the
diagnostics and updates a massive number of tests.
Commit: 5d16a18c4bd0fed88086bc1e93e6fb6f1be4caab
https://github.com/llvm/llvm-project/commit/5d16a18c4bd0fed88086bc1e93e6fb6f1be4caab
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/unittests/IR/MetadataTest.cpp
Log Message:
-----------
[Metadata] Return the valid DebugLoc if one of them is null with -pick-merged-source-locations. (#138148)
Previously when getMergedLocation was passed nullptr as one of the
parameters we returned nullptr. Change that behaviour to instead return
a valid DebugLoc. This is beneficial for binaries from which SamplePGO
profiles are obtained.
Commit: b752822c445b9fba1f59a2822c7b675561749dd4
https://github.com/llvm/llvm-project/commit/b752822c445b9fba1f59a2822c7b675561749dd4
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/Sema/SemaOpenACCClauseAppertainment.cpp
Log Message:
-----------
[NFCI]Prospective fix for MVSC Build bot-
The previous code hits an assert inside the MSVC compiler version 16.8,
which is our minimum supported version. This patch looks on godbolt
like it avoids this crash, so submitting it to hopefully unbreak the
bot.
Commit: cb068dcec1b30528f0d06916911f55b4bd61b0bb
https://github.com/llvm/llvm-project/commit/cb068dcec1b30528f0d06916911f55b4bd61b0bb
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/builtin-object-size-cxx14.cpp
Log Message:
-----------
[Clang] Fix handling of reference types in tryEvaluateBuiltinObjectSize (#138247)
The order of operation was slightly incorrect, as we were checking for
incomplete types *before* handling reference types.
Fixes #129397
---------
Co-authored-by: Erich Keane <ekeane at nvidia.com>
Commit: 173ec728d287f989053bd77521b3497b069c98a2
https://github.com/llvm/llvm-project/commit/173ec728d287f989053bd77521b3497b069c98a2
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/test/CodeGen/SystemZ/mcount.ll
Log Message:
-----------
[SystemZ] Fix a bug introduced by #135767 (#138280)
Commit `083b4a3d66` introduced a store-and-load pair around the `BRASL`
call to mcount. That load instruction did not properly declare its
target register as defined, leading to a bad machine instruction.
This commit fixes this by explicitly labeling `%r14` on the load as
`def`.
Commit: aa613777af4a2f2d5103e5e67da96f41ca2bb19e
https://github.com/llvm/llvm-project/commit/aa613777af4a2f2d5103e5e67da96f41ca2bb19e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Analysis/KernelInfo.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/lib/IR/ConvergenceVerifier.cpp
M llvm/lib/Support/Mustache.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[llvm] Remove redundant control flow (NFC) (#138304)
Commit: e59ed0fb0f3324ae3fce4080e15472a316713dfd
https://github.com/llvm/llvm-project/commit/e59ed0fb0f3324ae3fce4080e15472a316713dfd
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
[Clang] __has_unique_object_representations should not accept Incomplete[] (#138291)
This implements [LWG4113](https://cplusplus.github.io/LWG/issue411)
This is technically a breaking change, but it's a fix, and I think
anyone who relies on this today is in a world of hurt.
Fixes #118350
Commit: a4e9cfd117301b662fb3cee52ce3762c525917d3
https://github.com/llvm/llvm-project/commit/a4e9cfd117301b662fb3cee52ce3762c525917d3
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/include/llvm/Pass.h
M llvm/lib/IR/Pass.cpp
Log Message:
-----------
[NFC] Fix a potential compile error in `llvm::to_string(ThinOrFullLTOPhase Phase)`
https://github.com/llvm/llvm-project/pull/123994#discussion_r2071940298
Commit: 52c62364e76be0c66ba69764a80999aa651f6b59
https://github.com/llvm/llvm-project/commit/52c62364e76be0c66ba69764a80999aa651f6b59
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
M llvm/include/llvm/Frontend/Directive/DirectiveBase.td
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/TableGen/DirectiveEmitter.h
M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
Log Message:
-----------
[OpenMP] Remove "alternativeName" from Clause and Directive classes (#138179)
The "alternativeName" was introduced ~5 years ago in D82405, and at the
moment it has only one use, the one that the original change introduced.
OpenMP 6.0 spec has introduced different spellings of some directives,
but the "alternativeName" is not an adequate mechanism to implement it.
For those reasons remove the "alternativeName" member from both Clause
and Directive in DirectiveBase.td.
Since the alternativeName text appeared in a number of clang OpenMP
tests, implement `getOpenMPClauseNameForDiag` in SemaOpenMP.cpp to
preserve the text of the diagnostics.
Commit: 12778374881e84bf2a8571f2815ed1e94ffe5709
https://github.com/llvm/llvm-project/commit/12778374881e84bf2a8571f2815ed1e94ffe5709
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
M mlir/test/Dialect/LLVMIR/debuginfo.mlir
Log Message:
-----------
[MLIR][LLVM] Debug info: fix DIDerivedTypeAttr relation to DIScopeAttr (#138200)
Fix `di_subprogram` references to scopes composed of `di_derived_type`s,
which currently fail to parse with:
```
error: failed to parse LLVM_DISubprogramAttr parameter 'scope' which is to be a `DIScopeAttr`
```
Commit: 2f16cbc700004c9d60c4ea03d102ce5d3b1343b8
https://github.com/llvm/llvm-project/commit/2f16cbc700004c9d60c4ea03d102ce5d3b1343b8
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/boost/use-ranges.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/casting-through-void.rst
Log Message:
-----------
[clang-tidy][NFC][doc] fix typos in docs. (#138305)
Fixed typos in docs of `clang-tidy` checks.
Commit: 0ddcd209ddc8956eb52d642937a4397c6b08449c
https://github.com/llvm/llvm-project/commit/0ddcd209ddc8956eb52d642937a4397c6b08449c
Author: jimingham <jingham at apple.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M lldb/source/Core/ModuleList.cpp
Log Message:
-----------
Don't hold the Target's ModuleListLock over running LoadScriptingResourceInTarget (#138216)
That calls an unknown amount of Python code, and can do quite a bit of
work - especially if people do things like launch scripted processes in
this script affordance. Doing that while holding a major lock like the
ModuleList lock is asking for trouble.
I tried to make a test that would actually stall without this, but I
couldn't come up with anything that reliably failed. You always have to
get pretty unlucky.
Commit: cce6de83138223db07d538824e0c398d5da83190
https://github.com/llvm/llvm-project/commit/cce6de83138223db07d538824e0c398d5da83190
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Overload.h
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
Log Message:
-----------
[Clang] Never consider conversion from single-element braced-init-list perfect (#138307)
We might prefer a template std::initializer list constructor.
Fix a regression introduced by #136203
https://github.com/llvm/llvm-project/pull/136203#issuecomment-2843498895
GCC had a similar issue and a similar fix
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100963
Commit: 1101b767329dd163d528fa5f667a6c0dbdde0ad5
https://github.com/llvm/llvm-project/commit/1101b767329dd163d528fa5f667a6c0dbdde0ad5
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
A clang/test/CXX/drs/cwg30xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[Clang] Implement CWG3005 Function parameters should never be name-independent (#138245)
We already attempted to implement this (it was the intent of the paper),
in that parameters were never considered name-independent. However, we
failed to check that any previously found parameter declaration was also
name-independent.
Note that, as worded, the current resolution is insufficient (I wrote to
CWG with better wording), but there is some consensus on the design
outcome.
Fixes #136373
Commit: 3715de976e41654db83a0aef5be50790024639ea
https://github.com/llvm/llvm-project/commit/3715de976e41654db83a0aef5be50790024639ea
Author: Lily Orth-Smith <lilyorthsmith at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Conversion/VectorToLLVM/ConvertVectorToLLVM.h
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
A mlir/test/Conversion/VectorToLLVM/use-vector-alignment.mlir
Log Message:
-----------
[mlir] Add use-vector-alignment flag to ConvertVectorToLLVMPass (#137389)
In ConvertVectorToLLVM, the only option for setting alignment of
`vector.gather`, `vector.scatter`, and the `vector.load/store` ops was
to extract it from the datatype of the memref type. However, this is
insufficient for hardware backends requiring alignment of vector types.
This PR introduces the `use-vector-alignment` option to the
`ConvertVectorToLLVMPass`, which makes the pass use the alignment of the
vector type of these operations instead of the alignment of the memref
type.
---------
Co-authored-by: Lily Orth-Smith <lorthsmith at microsoft.com>
Commit: 55e39100dae2a131c7cbcdbbe628c0b82f8c12ca
https://github.com/llvm/llvm-project/commit/55e39100dae2a131c7cbcdbbe628c0b82f8c12ca
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Basic/FPOptions.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
Log Message:
-----------
[clang] Remove FEM_Indeterminable (#137661)
Remove FEM_Indeterminable as it is unused and cannot be stored safely in
an unsigned bitfield
Commit: 4fcbdb2c89a5f7a95e844ea8ff62893447938cd1
https://github.com/llvm/llvm-project/commit/4fcbdb2c89a5f7a95e844ea8ff62893447938cd1
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
A clang/test/CIR/IR/invalid-vector-create-wrong-size.cir
A clang/test/CIR/IR/invalid-vector-create-wrong-type.cir
M clang/test/CIR/IR/vector.cir
Log Message:
-----------
[CIR] Upstream local initialization for VectorType (#138107)
This change adds local initialization for VectorType
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: d76a1639e0b641d9761293608be7bce88fa30f86
https://github.com/llvm/llvm-project/commit/d76a1639e0b641d9761293608be7bce88fa30f86
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-values-to-return-callbr.ll
A llvm/test/tools/llvm-reduce/reduce-values-to-return-invoke.ll
M llvm/test/tools/llvm-reduce/remove-bb-switch-default.ll
M llvm/tools/llvm-reduce/deltas/ReduceValuesToReturn.cpp
M llvm/tools/llvm-reduce/deltas/Utils.cpp
Log Message:
-----------
llvm-reduce: Support exotic terminators in instructions-to-return (#134794)
Use splitBasicBlock and avoid directly dealing with the specific of
how to trim the existing terminators. We just need to deal with
unconditional branch to return.
Commit: a9ce60ee885e25cba54c8900605563ff66e067b7
https://github.com/llvm/llvm-project/commit/a9ce60ee885e25cba54c8900605563ff66e067b7
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.h
Log Message:
-----------
[clang] Complete the revert of 1a14ef1 (#138341)
When merging the fix for FEM_Indeterminate I reverted the follow on
warning fixes, but misread this diff and retained the explicitly
defaulted constructor.
Commit: 17fdcda3790c669fc3d378cb192d66f3d29da47c
https://github.com/llvm/llvm-project/commit/17fdcda3790c669fc3d378cb192d66f3d29da47c
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
Log Message:
-----------
[CIR][NFC] Upstream bulk handling for Decl kinds (#138319)
This adds explicit case statements for Decl types that weren't
explicitly present in the emitDecl function. Those that need no handling
are just accepted. Those that will need handling still go to errorNYI,
but the default statement is removed.
Commit: f313b0af15857dada7743af310229b6944fd1c61
https://github.com/llvm/llvm-project/commit/f313b0af15857dada7743af310229b6944fd1c61
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
Log Message:
-----------
[Clang][NFC] Capture by ref to avoid copying std::string (#138231)
Static analysis flagged capturing BName by value as opposed to by
reference. Updated capture to be by reference.
Commit: 9b4f747827489c5969ff903c728e65c545f58eaa
https://github.com/llvm/llvm-project/commit/9b4f747827489c5969ff903c728e65c545f58eaa
Author: Eric Astor <epastor at google.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
A llvm/include/llvm/MC/MCParser/MCMasmParser.h
M llvm/include/llvm/MC/MCSymbolCOFF.h
M llvm/lib/MC/MCParser/COFFMasmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
A llvm/test/tools/llvm-ml/proc_distance.asm
Log Message:
-----------
[ms] [llvm-ml] Implement support for PROC NEAR/FAR (#131707)
Matches ML.EXE by translating "ret" instructions inside a `PROC FAR` to "retf", and automatically prepending a `push cs` to all near calls to a `PROC FAR`.
Commit: 312d6b488ef9d7c0e4d649827820db7285e36406
https://github.com/llvm/llvm-project/commit/312d6b488ef9d7c0e4d649827820db7285e36406
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/include/llvm/Support/Win64EH.h
M llvm/lib/MC/MCWin64EH.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp
M llvm/test/MC/AArch64/seh.s
M llvm/test/tools/llvm-readobj/COFF/arm64-win-error1.s
M llvm/tools/llvm-readobj/ARMWinEHPrinter.cpp
M llvm/tools/llvm-readobj/ARMWinEHPrinter.h
Log Message:
-----------
[AArch64] Implement assembler support for new SVE SEH unwind opcodes. (#137895)
In order to support the AArch64 ABI, Microsoft has extended the unwinder
to support additional opcodes. (Updated documentation at
https://learn.microsoft.com/en-us/cpp/build/arm64-exception-handling .)
First in a series of patches to support SVE on Windows.
Commit: 692f832b190a93383cb4ed8912856ff651e453d2
https://github.com/llvm/llvm-project/commit/692f832b190a93383cb4ed8912856ff651e453d2
Author: Eric Astor <epastor at google.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
R llvm/include/llvm/MC/MCParser/MCMasmParser.h
M llvm/include/llvm/MC/MCSymbolCOFF.h
M llvm/lib/MC/MCParser/COFFMasmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
R llvm/test/tools/llvm-ml/proc_distance.asm
Log Message:
-----------
Revert "[ms] [llvm-ml] Implement support for PROC NEAR/FAR" (#138353)
Reverts llvm/llvm-project#131707 - apparently it had gotten into a bad
state, and will need relanding.
Commit: 105ce585d35eff433031d3edce977eba97eeb6ff
https://github.com/llvm/llvm-project/commit/105ce585d35eff433031d3edce977eba97eeb6ff
Author: Muzammil <55665739+Muzammiluddin-Syed-ECE at users.noreply.github.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/test/Conversion/AMDGPUToROCDL/mfma-gfx950.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
Log Message:
-----------
[mlir][amdgpu] Define an amdgpu.scaling_mfma wrapper (#137498)
Create a wrapper around the new scaled MFMAs that operate on specific
element types and tile sizes.
See [Issue](https://github.com/iree-org/iree/issues/20616).
---------
Signed-off-by: Muzammiluddin Syed <muzasyed at amd.com>
Commit: 123758b1f4a8106926d95268ea8dc27158b6393a
https://github.com/llvm/llvm-project/commit/123758b1f4a8106926d95268ea8dc27158b6393a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Transforms/Vectorize/LoopIdiomVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[IRBuilder] Add versions of createInsertVector/createExtractVector that take a uint64_t index. (#138324)
Most callers want a constant index. Instead of making every caller
create a ConstantInt, we can do it in IRBuilder. This is similar to
createInsertElement/createExtractElement.
Commit: 50e1db7194e70ddf235edad289e726ed5c6027b7
https://github.com/llvm/llvm-project/commit/50e1db7194e70ddf235edad289e726ed5c6027b7
Author: Steven Perron <stevenperron at google.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/HLSL.cpp
A clang/test/Driver/dxc_fspv_extension.hlsl
Log Message:
-----------
[HLSL][SPIRV] Add CLI option `-fspv-extension` (#137985)
This commit implements DXC's `-fspv-extension` options. It is
implemented by replaced it with the equivalent `-spirv-ext` option. Note
that if the option is not used, that is the same as enabling all
extension, so `-spirv-ext=all` is used.
Fixes https://github.com/llvm/llvm-project/issues/137647
---------
Co-authored-by: Cassandra Beckley <cbeckley at google.com>
Commit: 880de1cae2e50e28984e56f97689e39bd60e12a3
https://github.com/llvm/llvm-project/commit/880de1cae2e50e28984e56f97689e39bd60e12a3
Author: Reid Kleckner <rnk at google.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M mlir/include/mlir/Pass/Pass.h
M mlir/lib/Pass/Pass.cpp
Log Message:
-----------
[mlir] Declare explicit typeid to fix dylib build (#138357)
This makes the dyn_cast<PassExecutionAction> work outside the dylib,
i.e. from the unit test binary, when the CMake setting
MLIR_LINK_MLIR_DYLIB is ON.
Fixes #138202
Commit: e8825900838a11afe326e202d19a3df6e3408422
https://github.com/llvm/llvm-project/commit/e8825900838a11afe326e202d19a3df6e3408422
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenConstantEmitter.h
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
Log Message:
-----------
[CIR] Refactor global variable emission and initialization (#138222)
When global variable support was initially upstreamed, we took some
shortcuts and only implemented the minimum support for simple variables
and constant initializers.
This change refactors the code that creates global variables to
introduce more of the complexities that are present in the incubator and
the classic codegen. I can't really say this is NFC, because the code
executed is very different and it will report different NYI diagnostics,
but for the currently implemented cases, it results in the same output.
Commit: 6b25cfbb98b25bb3d127e7b7fd462e6dcf3f9f7e
https://github.com/llvm/llvm-project/commit/6b25cfbb98b25bb3d127e7b7fd462e6dcf3f9f7e
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
A lld/utils/run_benchmark.py
Log Message:
-----------
Add lld benchmarking script.
The purpose of this script is to measure the performance effect
of an lld change in a statistically sound way, automating all the
tedious parts of doing so. It copies the test case into /tmp as well as
running the test binaries from /tmp to reduce the influence on the test
machine's storage medium on the results. It accounts for measurement
bias caused by binary layout (using the --randomize-section-padding
flag to link the test binaries) and by environment variable size
(implemented by hyperfine [1]). Runs of the base and test case are
interleaved to account for environmental factors which may influence
the result due to the passage of time. The results of running hyperfine
are collected into a results.csv file in the output directory and
may be analyzed by the user with a tool such as ministat.
Requirements: Linux host, hyperfine [2] in $PATH, run from a build
directory configured to use ninja and a recent version of lld that
supports --randomize-section-padding, /tmp is tmpfs.
[1] https://github.com/sharkdp/hyperfine/blob/3cedcc38d0c430cbf38b4364b441c43a938d2bf3/src/util/randomized_environment_offset.rs#L1
[2] https://github.com/sharkdp/hyperfine
Reviewers: rnk, MaskRay, smithp35
Reviewed By: rnk
Pull Request: https://github.com/llvm/llvm-project/pull/138367
Commit: ebe7fd6df492cfe0aa01d1188644cadec601f9d6
https://github.com/llvm/llvm-project/commit/ebe7fd6df492cfe0aa01d1188644cadec601f9d6
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqcilo-valid.s
Log Message:
-----------
[RISCV] Add some more compress patterns for Xqcilo instructions (#138309)
There are some load/store instructions that are a part of the Zcb
extension that the Xqcilo instructions can be compressed to. Add
patterns for the same.
Commit: 659f5acd038afbb281b4d1d410762f40954e08c8
https://github.com/llvm/llvm-project/commit/659f5acd038afbb281b4d1d410762f40954e08c8
Author: Princeton Ferro <pferro at nvidia.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTX.td
M llvm/test/CodeGen/NVPTX/sm-version.ll
Log Message:
-----------
[NVPTX] Add support for PTX ISA v8.8 (#136639)
Support PTX version 8.8 (`-mattr=+ptx88`) from CUDA 12.9. The following
new targets are also added:
- SM103 and SM121: sm_103, sm_103a, sm_121, sm_121a.
Also, some things were reformatted.
https://docs.nvidia.com/cuda/parallel-thread-execution/#changes-in-ptx-isa-version-8-8
Commit: 2b62a311d76cfe5cdceab73b3fe145ee50449d08
https://github.com/llvm/llvm-project/commit/2b62a311d76cfe5cdceab73b3fe145ee50449d08
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/hip-options.hip
M clang/test/Driver/openmp-offload-gpu.c
Log Message:
-----------
[Clang][Driver] Enable internalization by default for AMDGPU (#138365)
Commit: fba68b41190805d1755d24a829d7cdc74e946095
https://github.com/llvm/llvm-project/commit/fba68b41190805d1755d24a829d7cdc74e946095
Author: satyajanga <satyajanga at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M lldb/source/Commands/CommandObjectPlatform.cpp
Log Message:
-----------
[LLDB][NFC] Remove unneeded conditional (#138321)
we already check for `platform_sp` not null in one line below.
existing code
```
if (platform_sp) {
Status error;
if (platform_sp) {
...
...
}
}
```
`platform_sp` null check is redundant and error variable is unused.
### TEST PLAN
manual test
```
satyajanga at devvm21837:toolchain $ ./bin/lldb
LLDB logging initialized. Logs stored in: /tmp
(lldb) platform select host
Platform: host
Triple: x86_64-*-linux-gnu
OS Version: 6.9.0 (6.9.0-0_fbk5_hardened_1_gf368ae920c1a)
Hostname: 127.0.0.1
WorkingDir: /home/satyajanga/llvm-sand/build/Debug/fbcode-x86_64/toolchain
Kernel: #1 SMP Tue Feb 11 07:24:41 PST 2025
Kernel: Linux
Release: 6.9.0-0_fbk5_hardened_1_gf368ae920c1a
Version: #1 SMP Tue Feb 11 07:24:41 PST 2025
(lldb) platform process list
144 matching processes were found on "host"
PID PARENT USER TRIPLE NAME
====== ====== ========== ============================== ============================
130461 874915 satyajanga x86_64-*-linux-gnu sushd
135505 874915 satyajanga x86_64-*-linux-gnu hg.real
817146 874915 satyajanga x86_64-*-linux-gnu vscode-thrift
874915 1 satyajanga
874947 874915 satyajanga
```
and running the existing tests
```
satyajanga at devvm21837:toolchain $ ./bin/llvm-lit -v ~/llvm-sand/external/llvm-project/lldb/test/API/commands/platform/
-- Testing: 9 tests, 9 workers --
PASS: lldb-api :: commands/platform/file/read/TestPlatformFileRead.py (1 of 9)
PASS: lldb-api :: commands/platform/file/close/TestPlatformFileClose.py (2 of 9)
UNSUPPORTED: lldb-api :: commands/platform/sdk/TestPlatformSDK.py (3 of 9)
PASS: lldb-api :: commands/platform/basic/TestPlatformPython.py (4 of 9)
PASS: lldb-api :: commands/platform/basic/TestPlatformCommand.py (5 of 9)
PASS: lldb-api :: commands/platform/connect/TestPlatformConnect.py (6 of 9)
PASS: lldb-api :: commands/platform/process/launch/TestPlatformProcessLaunch.py (7 of 9)
PASS: lldb-api :: commands/platform/launchgdbserver/TestPlatformLaunchGDBServer.py (8 of 9)
PASS: lldb-api :: commands/platform/process/list/TestProcessList.py (9 of 9)
Testing Time: 13.48s
Total Discovered Tests: 9
Unsupported: 1 (11.11%)
Passed : 8 (88.89%)
satyajanga at devvm21837:toolchain $
```
Commit: d3506ee573a2aa1403817642ef45f8c0305bb572
https://github.com/llvm/llvm-project/commit/d3506ee573a2aa1403817642ef45f8c0305bb572
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] RemoveParentheses shouldn't remove empty parentheses (#138229)
Fix #138124
Commit: 79210feb2993ff9a79ef11f8a7016a527d4fcf22
https://github.com/llvm/llvm-project/commit/79210feb2993ff9a79ef11f8a7016a527d4fcf22
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix a crash on formatting missing r_paren/r_brace (#138230)
Fix #138097
Commit: d11df058416aa2e13c6b2559c1ce21209c445bab
https://github.com/llvm/llvm-project/commit/d11df058416aa2e13c6b2559c1ce21209c445bab
Author: Kaitlin Peng <kaitlinpeng at microsoft.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
A clang/test/CodeGenHLSL/builtins/ldexp.hlsl
A clang/test/SemaHLSL/BuiltIns/ldexp-errors.hlsl
Log Message:
-----------
[HLSL] Implement the `ldexp` intrinsic (#138182)
Closes #99133.
Implemented `ldexp` entirely in `hlsl_intrinsics.h` and
`hlsl_intrinsic_helpers.h`, added coresponding tests in
`clang/test/CodeGenHLSL/builtins/ldexp.hlsl` and
`clang/test/SemaHLSL/BuiltIns/ldexp-errors.hlsl`.
Commit: c63687c04f96e3b1db9ce0f70e5f331fce69959b
https://github.com/llvm/llvm-project/commit/c63687c04f96e3b1db9ce0f70e5f331fce69959b
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/include/llvm/MC/MCInstrDesc.h
M llvm/utils/TableGen/InstrInfoEmitter.cpp
Log Message:
-----------
[MC][TableGen] Expand ImplicitOffset field of MCInstrDesc (#138127)
Increase width of ImplicitOffset to `int` from `short` to allow more
table capacity.
Reorder the elements to maintain natural alignment.
Commit: 883afa4ef93d824ec11981ccad04af1cd1e4ce29
https://github.com/llvm/llvm-project/commit/883afa4ef93d824ec11981ccad04af1cd1e4ce29
Author: Baoshan <pangbw at gmail.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/test/CodeGen/AMDGPU/v_swap_b16.ll
M llvm/test/CodeGen/AMDGPU/v_swap_b32.mir
Log Message:
-----------
[AMDGPU] remove move instruction if there is no user of it (#136735)
Co-authored-by: Baoshan Pang <bpang at fortinet.com>
Commit: 8c3aa3e81c68ee3807148a6ab416af71fecce38f
https://github.com/llvm/llvm-project/commit/8c3aa3e81c68ee3807148a6ab416af71fecce38f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M libcxx/include/__vector/vector.h
M libcxx/include/__vector/vector_bool.h
Log Message:
-----------
[libc++][NFC] Replace typedefs with using declarations in <vector> (#134083)
This brings the code base a bit closer to using `using` declarations
everywhere.
Commit: e92013c68589101b2150e3becd9eda651914fe58
https://github.com/llvm/llvm-project/commit/e92013c68589101b2150e3becd9eda651914fe58
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
Log Message:
-----------
[MLIR][TOSA] Simplify getZeroPoint (#138344)
Commit: b006756d44def73fda09c7cb99b1c2347436aadb
https://github.com/llvm/llvm-project/commit/b006756d44def73fda09c7cb99b1c2347436aadb
Author: clubby789 <jamie at hill-daniel.co.uk>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/malloc-free-mismatched.ll
Log Message:
-----------
[InstCombine] Fix crash when alloc functions are missing `alloc-family` (#138310)
Fixes #63477 by bailing out instead of crashing.
Co-authored-by: Jamie <jamie at osec.io>
Commit: 1c68e0e4814e7e0f006a238e1c656c78aa10516b
https://github.com/llvm/llvm-project/commit/1c68e0e4814e7e0f006a238e1c656c78aa10516b
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
A clang/test/Sema/ptrauth-struct-function-ptr-field.c
Log Message:
-----------
[clang][ptrauth] reject incorrectly placed ptrauth qualifier (#138376)
When parsing a function pointer typed field we use
Parser::ParseTypeQualifierListOpt, but then drops subsequent type
attributes and qualifiers unless explicitly handled.
There is an existing solution for the _Atomic qualifier, and this PR
simply extends that to __ptrauth for now. In future we may want to
investigate a more robust mechanism to ensure type qualifiers are not
silently dropped so that future type qualifiers do not suffer the same
problem.
Commit: 5b02a2647594719454611132b7c05318d959bf58
https://github.com/llvm/llvm-project/commit/5b02a2647594719454611132b7c05318d959bf58
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M clang/include/clang/Sema/Overload.h
Log Message:
-----------
[Clang][NFC] Fix typos introduced in #138307
Commit: edb690dc5b5e7804797a497c0b01f1563e67bd00
https://github.com/llvm/llvm-project/commit/edb690dc5b5e7804797a497c0b01f1563e67bd00
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanSLP.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
Log Message:
-----------
Reapply "[VPlan] Add canonical IV during construction (NFC)."
This reverts commit d431921677ae923d189ff2d6f188f676a2964ed8.
Missing gtests have been updated.
Original message:
This addresses an existing TODO and simply moves the current code to add
canonical IV recipes to the initial skeleton construction, at the same
place where the corresponding region will be introduced.
Commit: fdea1b6504770462138a92c9c9aa6b669f7f4217
https://github.com/llvm/llvm-project/commit/fdea1b6504770462138a92c9c9aa6b669f7f4217
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Transforms/Utils/IRNormalizer.cpp
Log Message:
-----------
[Utils] Use StringRef::starts_with (NFC) (#138379)
Commit: d328510f238cca5a95b75fcdaf9dfaddbc7d87c0
https://github.com/llvm/llvm-project/commit/d328510f238cca5a95b75fcdaf9dfaddbc7d87c0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
Log Message:
-----------
[Instrumentation] Remove an unused local variable (NFC) (#138383)
Commit: b23c1865c0b1625c6fc03259b610d4639dd5c92a
https://github.com/llvm/llvm-project/commit/b23c1865c0b1625c6fc03259b610d4639dd5c92a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-objdump/SourcePrinter.cpp
M llvm/tools/llvm-readobj/llvm-readobj.cpp
Log Message:
-----------
[tools] Remove unused local variables (NFC) (#138384)
Commit: b4fac94181c4cf17dbb7ecc2ae975712b0e4a6d1
https://github.com/llvm/llvm-project/commit/b4fac94181c4cf17dbb7ecc2ae975712b0e4a6d1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/unittests/Support/FormatVariadicTest.cpp
M llvm/unittests/Support/YAMLIOTest.cpp
M llvm/unittests/Target/SPIRV/SPIRVAPITest.cpp
M llvm/unittests/Target/SPIRV/SPIRVConvergenceRegionAnalysisTests.cpp
M llvm/unittests/tools/llvm-exegesis/RISCV/TargetTest.cpp
Log Message:
-----------
[llvm] Remove unused using decls (NFC) (#138386)
Commit: 0b96d22f95eeef00ec40723f0d59ccb4389dc1b6
https://github.com/llvm/llvm-project/commit/0b96d22f95eeef00ec40723f0d59ccb4389dc1b6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
Log Message:
-----------
[SPIRV] Use StringRef instead of std::string (NFC) (#138408)
We can use StringRef for PassPrefix because it is used only with
StringRef::starts_with.
Commit: 7cc5e64a26f7c752646577e4e72d9f52cac8870d
https://github.com/llvm/llvm-project/commit/7cc5e64a26f7c752646577e4e72d9f52cac8870d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/FileCheck/FileCheckImpl.h
Log Message:
-----------
[FileCheck] Use default member initialization in ExpressionFormat (NFC) (#138409)
Commit: ea08dd8dc395e5f711f3acc542d3b4f0d4c8dfc0
https://github.com/llvm/llvm-project/commit/ea08dd8dc395e5f711f3acc542d3b4f0d4c8dfc0
Author: David Green <david.green at arm.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
A llvm/test/Transforms/VectorCombine/AArch64/shuffle-of-intrinscis.ll
Log Message:
-----------
[AArch64] Add shuffle-of-intrinsics VectorCombine test coverage. NFC
Commit: d1e38eab95b07b422194427474521623916bbf29
https://github.com/llvm/llvm-project/commit/d1e38eab95b07b422194427474521623916bbf29
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M offload/CMakeLists.txt
Log Message:
-----------
[offload] Fix enabling unittests in standalone builds (#138418)
Modify the unittest logic in offload to only look for
`third-party/unittest` directory when `llvm_gtest` is not provided by
LLVM itself (in-tree or installed). This makes it possible to run
unittests in sparse checkouts without the `third-party/unittest` tree.
While at it, also make sure `LLVM_THIRD_PARTY_DIR` is actually set while
performing standalone builds. The logic is copied from `compiler-rt`.
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 56e01c97430b0536b3b387c1decc74942e804460
https://github.com/llvm/llvm-project/commit/56e01c97430b0536b3b387c1decc74942e804460
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/GSYM/InlineInfo.h
Log Message:
-----------
[DebugInfo] Use default member initialization in InlineInfo (NFC) (#138410)
Commit: db0a7adb5467bb36d038fb8cf12ac6175cb7b7db
https://github.com/llvm/llvm-project/commit/db0a7adb5467bb36d038fb8cf12ac6175cb7b7db
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h
Log Message:
-----------
[ExecutionEngine] Use default member initialization in Segment (NFC) (#138411)
Note that orc::ExecutorAddr default-constructs itself with Addr being 0.
Commit: 9e9c9c49cc818cacaa55b4911c845cb45995d572
https://github.com/llvm/llvm-project/commit/9e9c9c49cc818cacaa55b4911c845cb45995d572
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Target/CSKY/CSKY.td
Log Message:
-----------
[CSKY] Remove duplicate processor features in ck807e/ck807ef (#138316)
The new TableGen warning introduced in 951292b shows the following
warnings:
```
warning: Processor ck807e contains duplicate feature 'edsp'
warning: Processor ck807e contains duplicate feature 'dsp1e2'
warning: Processor ck807e contains duplicate feature 'dspe60'
warning: Processor ck807ef contains duplicate feature 'edsp'
warning: Processor ck807ef contains duplicate feature 'dsp1e2'
warning: Processor ck807ef contains duplicate feature 'dspe60'
```
Commit: daf32369dd1230628e4ca6fc919859bc33dc0032
https://github.com/llvm/llvm-project/commit/daf32369dd1230628e4ca6fc919859bc33dc0032
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
Log Message:
-----------
[VPlan] Move scalarizeInstruction out of ILV (NFC).
15bb1db4a9830 removed the last dependency on ILV, move the code out of
ILV in preparation of consolidating in VPlanRecipes.cpp.
Commit: 8d8a3d9fdcbe823b94e2821b7beb8ead5288b14e
https://github.com/llvm/llvm-project/commit/8d8a3d9fdcbe823b94e2821b7beb8ead5288b14e
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
Log Message:
-----------
[CIR][NFC] Fix an unused variable warning (#138415)
This fixes a warning where a variable assigned in 'if' statement wasn't
referenced again.
Commit: ebdf2e06ffbf1cc0d41f159bf02a7f35947626ee
https://github.com/llvm/llvm-project/commit/ebdf2e06ffbf1cc0d41f159bf02a7f35947626ee
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
Log Message:
-----------
[libc] Add missing dependency for test target (#138423)
It seems we were missing a dependency when adding a new test target,
e.g., test libc.test.src.math.sqrt_test.__unit__ would create a
custom target in the form of:
```
add_custom_target(
libc.test.src.__support.FPUtil.dyadic_float_test.__unit__
COMMAND ${LIBC_UNITTEST_ENV} ${CMAKE_CROSSCOMPILING_EMULATOR} libc.test.src.__support.FPUtil.dyadic_float_test.__unit__.__build__
COMMENT Running unit test libc.test.src.__support.FPUtil.dyadic_float_test.__unit__ )
```
but it wouldn't set that it depends on
libc.test.src.__support.FPUtil.dyadic_float_test.__unit__.__build__
being built.
For some reason, it would break the rv32 buildbot, as it would try to
run a test but the __build__ is nowhere to be found, since it wasn't
built in the first place.
Commit: 9633f87e34dddce49619e7fc2d75c659c61a9db1
https://github.com/llvm/llvm-project/commit/9633f87e34dddce49619e7fc2d75c659c61a9db1
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/cmake/config-ix.cmake
Log Message:
-----------
[LLVM][Cygwin] Define _GNU_SOURCE on Cygwin as well. (#138329)
Without it, certain functions such as dladdr are not make available by
the headers.
Signed-off-by: Jeremy Drake <github at jdrake.com>
Commit: 497fbd0ee0c4c50d46b5b777cdcc3a532d1dcc91
https://github.com/llvm/llvm-project/commit/497fbd0ee0c4c50d46b5b777cdcc3a532d1dcc91
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[LLVM][Cygwin] Remove special case for CXX extensions on Cygwin. (#138328)
This is no longer necessary, and results in an inconvenient define of
`i386` on i386 Cygwin targets which breaks compiling
llvm/include/llvm/ExecutionEngine/JITLink/i386.h.
Signed-off-by: Jeremy Drake <github at jdrake.com>
Commit: 74d921c01ab4aefb5f7f14062ab4aef50d5c6413
https://github.com/llvm/llvm-project/commit/74d921c01ab4aefb5f7f14062ab4aef50d5c6413
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M clang/tools/clang-shlib/CMakeLists.txt
Log Message:
-----------
[Clang][Cygwin] don't use -Bsymbolic-functions (#138217)
GNU ld seems to ignore this option, but LLD treats the presence of this
unknown option as an error.
Commit: deec7fb42dd27d38b2d2925f5e635f27007a0bd7
https://github.com/llvm/llvm-project/commit/deec7fb42dd27d38b2d2925f5e635f27007a0bd7
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Correctly annotate tok::star in braced list (#138389)
Fix #138382
Commit: bb1e3df7009af1bf4b60e1ff4ddb5b7f94d6bff9
https://github.com/llvm/llvm-project/commit/bb1e3df7009af1bf4b60e1ff4ddb5b7f94d6bff9
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M lld/test/ELF/sparcv9-reloc.s
M lld/test/ELF/sparcv9-tls-le.s
M llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp
M llvm/test/MC/Sparc/sparc-assembly-exprs.s
M llvm/test/MC/Sparc/sparc-fixups.s
M llvm/test/MC/Sparc/sparc-little-endian.s
M llvm/test/MC/Sparc/sparc-tls-relocations.s
M llvm/test/MC/Sparc/sparc64-bpr-offset.s
Log Message:
-----------
SparcInstPrinter: Support llvm-objdump --print-imm-hex
... to align with other targets, e.g., https://reviews.llvm.org/D77853
(AArch64) and https://reviews.llvm.org/D83634 (AVR).
binutils's sparc port uses %d when imm<=9, diverging from other ports.
We do not follow the binutils sparc port behavior.
Commit: b1f13293d7672c5f84175d07c92b66142defaf1a
https://github.com/llvm/llvm-project/commit/b1f13293d7672c5f84175d07c92b66142defaf1a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/Reassociate.h
Log Message:
-----------
[Scalar] Use default member initialization in OverflowTracking (NFC) (#138412)
Commit: 7d423c09c0e063eeeaa2f91100eb6f04dc15767c
https://github.com/llvm/llvm-project/commit/7d423c09c0e063eeeaa2f91100eb6f04dc15767c
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcFixupKinds.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
Log Message:
-----------
Sparc: Use mc::isRelocation and remove GOT fixup kinds that map to relocation types
Simplify code, which is enabled by
40789ce7f1b7cff6de82b7f93db25a8c54194d46 ("MCFixup: Move relocation values before FK_NONE")
Commit: 4cde986df42273b272efd7a49cc813cd3af0115c
https://github.com/llvm/llvm-project/commit/4cde986df42273b272efd7a49cc813cd3af0115c
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
Log Message:
-----------
LoongArch: Sink #include llvm/BinaryFormat/ELF.h from LoongArchMCExpr.h. NFC
Remove a fishy `#undef LoongArch` and an unneeded user-provided dtor.
Commit: c32571287ecbe7f5eb5bb7ccb5fbb8e99ea53dec
https://github.com/llvm/llvm-project/commit/c32571287ecbe7f5eb5bb7ccb5fbb8e99ea53dec
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcFixupKinds.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/test/MC/Sparc/sparc-tls-relocations.s
Log Message:
-----------
Sparc: Remove TLS fixup kinds that map to relocationtypes
As described in #136088 (for RISC-V), the `llvm-mc -show-encoding`
output no longer displays descriptive fixup names. Just remove
-show-encoding.
Commit: e276216221b09b296a65c1a6d09e1ae641edcc8e
https://github.com/llvm/llvm-project/commit/e276216221b09b296a65c1a6d09e1ae641edcc8e
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/test/MC/Sparc/sparc-pic.s
M llvm/test/MC/Sparc/sparc-relocations.s
Log Message:
-----------
Sparc: Remove incorrect STT_SECTION adjustment special case for WPLT30
`call local` should perform STT_SECTION adjustment as well as `call .Ltmp0`.
The early support 9fc29098dfa684de53dd180aa93e94c39c388631 from 2014 was
confused.
Commit: 56433e874b96bf7b3da02c13226a996d4fa5aef8
https://github.com/llvm/llvm-project/commit/56433e874b96bf7b3da02c13226a996d4fa5aef8
Author: Koakuma <koachan at protonmail.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/SparcInstr64Bit.td
M llvm/lib/Target/Sparc/SparcInstrInfo.td
Log Message:
-----------
[SPARC][IAS][NFC] Tidy up LDSTUB and 64-bit mul/div instruction definitions
Reviewers: brad0, rorth, s-barannikov
Reviewed By: s-barannikov
Pull Request: https://github.com/llvm/llvm-project/pull/138398
Commit: c34d2fb59974dbad07a41987896dff7da8ec8a67
https://github.com/llvm/llvm-project/commit/c34d2fb59974dbad07a41987896dff7da8ec8a67
Author: Koakuma <koachan at protonmail.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/Sparc.td
Log Message:
-----------
[SPARC] Mark Niagara3 as VIS3-capable
>From SPARC T3 Supplement to the UltraSPARC Architecture 2007 Specification:
> T3 SPARC core has a new 9 stage floating point pipeline and added Fused
> Multiply-Add (FMADD) instruction and VIS 3.0 Instructions compared to
> UltraSPARC T2/T2+.
Reviewers: rorth, s-barannikov, brad0
Reviewed By: s-barannikov
Pull Request: https://github.com/llvm/llvm-project/pull/138399
Commit: de7e23f0e8ca18d3f4b27183cd3930ab831c6c83
https://github.com/llvm/llvm-project/commit/de7e23f0e8ca18d3f4b27183cd3930ab831c6c83
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
A llvm/test/MC/Sparc/relocation-specifier.s
M llvm/test/MC/Sparc/sparc-assembly-exprs.s
M llvm/test/MC/Sparc/sparc-relocations.s
R llvm/test/MC/Sparc/sparc-tls-relocations.s
Log Message:
-----------
Sparc: Improve tests
* Remove unuseful -filetype=asm -show-encoding output from relocation tests.
* Test STT_TLS for TLS relocations
* Test r_offset for a few relocations
* Test ASM output for many relocations
Commit: f7b2c9a439dc4d5d847d7e8c0f36ab2eb5ea81e6
https://github.com/llvm/llvm-project/commit/f7b2c9a439dc4d5d847d7e8c0f36ab2eb5ea81e6
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
Log Message:
-----------
Sparc: Modernize getSpecifierName. NFC
Make the style similar to LoongArch/RISCV.
Remove comment "FIXME: use %got22/%got10, if system assembler supports them."
%got22/%got10 are not available in gas.
Commit: 2d287f51eff2a5fbf84458a33f7fb2493cf67965
https://github.com/llvm/llvm-project/commit/2d287f51eff2a5fbf84458a33f7fb2493cf67965
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Support/Mustache.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp
M llvm/lib/Target/SPIRV/SPIRVIRMapping.h
M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Log Message:
-----------
[llvm] Use *(Set|Map)::contains (NFC) (#138431)
Commit: c22bc215ac9496ee5f6e55ba0b0904dc825c6f56
https://github.com/llvm/llvm-project/commit/c22bc215ac9496ee5f6e55ba0b0904dc825c6f56
Author: Mallikarjuna Gouda <mgouda at mips.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/Target/Mips/Mips.td
A llvm/lib/Target/Mips/MipsScheduleI6400.td
A llvm/test/tools/llvm-mca/Mips/i6400.s
A llvm/test/tools/llvm-mca/Mips/lit.local.cfg
Log Message:
-----------
[MIPS] Reland Scheduling model for MIPS i6400 and i6500 CPUs (#132704) (#137984)
Relands #132704 with a fix in the testcase:
Add llvm/test/tools/llvm-mca/Mips/lit.local.cfg
Add scheduling model for the MIPS i6400 and i6500, an in-order MIPS64R6
processor.
i6400 and i6500 share same instruction latencies.
CPU has following pipelines
- Two ALUs
- Multiply and Divide unit (MDU)
- Branch Unit (CTU)
- Load/Store Unit (LSU)
- Short Floating-point Unit and
- Long Floating-point Unit
Latency information is available at:
https://mips.com/wp-content/uploads/2025/03/MIPS_I6500-F_Data_Sheet_Rev1.10_3-17-2025.pdf
Commit: 1ec9dd256ea287796261ba88d7bdfbeaba38343d
https://github.com/llvm/llvm-project/commit/1ec9dd256ea287796261ba88d7bdfbeaba38343d
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp
M llvm/lib/Target/Sparc/SparcInstrInfo.td
M llvm/test/MC/Sparc/sparc-fixups.s
Log Message:
-----------
Sparc: Refactor R_SPARC_13/R_SPARC_GOT13 handling and fix a bug referencing absolute symbol
https://reviews.llvm.org/D47136 did not correctly handle `ld [%i0 + abs], %o0; abs = 7`
To fix it and make fixup handling less hacky,
* Change TableGen MEMri to use simm13Op instead of i32imm
* Emit a fixup of kind fixup_sparc_13 in SparcMCCodeEmitter::getSImm13OpValue
* Convert fixup_sparc_13 to either R_SPARC_13/R_SPARC_GOT13 in getRelocType
This postpones 13/GOT13 decision to relocation generation, ensuring that
we suppress the relocation when referencing an absolute symbol, matching
gas.
Commit: 55fa7e1ef4851c3c773ea9c11a0ae01798d028c3
https://github.com/llvm/llvm-project/commit/55fa7e1ef4851c3c773ea9c11a0ae01798d028c3
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
Log Message:
-----------
Sparc: Remove fishy VK_WPLT30 special case
I think 9fc29098dfa684de53dd180aa93e94c39c388631 (2014) was misguided
and added the unneeded special case. It probably wanted to handle
R_SPARC_WPLT30/R_SPARC_WDISP30 in PDC/PIC but it's not correct
to check the property in AsmParser.
Commit: 1add318c176b92f5daba46b3a099aff60aa8d8c8
https://github.com/llvm/llvm-project/commit/1add318c176b92f5daba46b3a099aff60aa8d8c8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/IR/DroppedVariableStats.cpp
Log Message:
-----------
[IR] Avoid repeated hash lookups (NFC) (#138430)
Commit: a9699a334bc9666570418a3bed9520bcdc21518b
https://github.com/llvm/llvm-project/commit/a9699a334bc9666570418a3bed9520bcdc21518b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/MachineCSE.cpp
M llvm/lib/CodeGen/RenameIndependentSubregs.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Log Message:
-----------
[CodeGen] Use range-based for loops (NFC) (#138434)
Commit: 47f391fd0e1d9ae6a91e625cff5490dd89a8a17e
https://github.com/llvm/llvm-project/commit/47f391fd0e1d9ae6a91e625cff5490dd89a8a17e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/BranchRelaxation.cpp
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/LiveDebugVariables.cpp
M llvm/lib/CodeGen/ModuloSchedule.cpp
M llvm/lib/CodeGen/RemoveLoadsIntoFakeUses.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[CodeGen] Remove unused local variables (NFC) (#138441)
Commit: 6ab7cb78994e1e2ec8adf07517eb3a205fee5be6
https://github.com/llvm/llvm-project/commit/6ab7cb78994e1e2ec8adf07517eb3a205fee5be6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/lib/Transforms/IPO/Internalize.cpp
M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Utils/EscapeEnumerator.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[Transforms] Remove unused local variables (NFC) (#138442)
Commit: f35e172833f1bdd502e2847e13c3a58430bc654b
https://github.com/llvm/llvm-project/commit/f35e172833f1bdd502e2847e13c3a58430bc654b
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[clang] Document -fstrict-flex-arrays option (#138388)
Fix #138185
Commit: 4e81ee4a158b7c8e4b468c9370abb042a59129b6
https://github.com/llvm/llvm-project/commit/4e81ee4a158b7c8e4b468c9370abb042a59129b6
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/test/Driver/solaris-ld.c
Log Message:
-----------
[Driver] Use AddRunTimeLibs on Solaris (#137596)
When linking `libomp.so` on Solaris, I encountered
```
clang: warning: argument unused during compilation: '-static-libgcc' [-Wunused-command-line-argument]
```
This happens because `Solaris.cpp` (`solaris::Linker::ConstructJob`)
links `-lgcc_s` and `-lgcc` on its own instead of using the common
`CommonArgs.cpp` (`tools::AddRunTimeLibs`) which handles
`-static-libgcc` out of the box.
This patch switches to `AddRunTimeLibs` and adds a test for
`-static-libgcc` handling. In `solaris-ld.c`, a few tests had to be
adjusted because `-lgcc` is now linked before `-lgcc_s`.
Tested on `amd64-pc-solaris2.11` and `sparcv9-sun-solaris2.11`.
Commit: 1b60b83adad8c62140ce8cc092179ed06df7ff09
https://github.com/llvm/llvm-project/commit/1b60b83adad8c62140ce8cc092179ed06df7ff09
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
Log Message:
-----------
[Clang] Don't retain template FoundDecl for conversion function calls (#138377)
Commit: 6e205197178376cfbe3dc5f568bc880b23d4bc8b
https://github.com/llvm/llvm-project/commit/6e205197178376cfbe3dc5f568bc880b23d4bc8b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-04 (Sun, 04 May 2025)
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
Log Message:
-----------
[VPlan] Add VPPhiAccessors to provide interface for phi recipes (NFC) (#129388)
Add a VPPhiAccessors class to provide interfaces to access incoming
values and blocks.
The first user is VPWidenPhiRecipe, with the other phi-like recipes
following soon.
This will also be used to verify def-use chains where users are phi-like
recipes, simplifying https://github.com/llvm/llvm-project/pull/124838.
PR: https://github.com/llvm/llvm-project/pull/129388
Commit: e01cefd85d52ea579fe8fd21fa7986c9e64119e1
https://github.com/llvm/llvm-project/commit/e01cefd85d52ea579fe8fd21fa7986c9e64119e1
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
Log Message:
-----------
[Sparc] Remove unused parameter (NFC)
Commit: 5f4bc4330a395e3cd5caea00448946512233dc68
https://github.com/llvm/llvm-project/commit/5f4bc4330a395e3cd5caea00448946512233dc68
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
Log Message:
-----------
[WebAssembly] Remove an unused using decl (NFC) (#138432)
The "using" decl seems to be unused since it was first introduced in:
commit a8e1135baa9074f7c088c8e1999561f88699b56e
Author: Heejin Ahn <aheejin at gmail.com>
Date: Thu Jan 9 22:36:10 2025 -0800
Commit: d144c13ae59501a61ff1524412bb289261618539
https://github.com/llvm/llvm-project/commit/d144c13ae59501a61ff1524412bb289261618539
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp
M llvm/lib/Target/Mips/MipsCallLowering.cpp
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
M llvm/lib/Target/X86/X86LowerAMXType.cpp
Log Message:
-----------
[Target] Remove unused local variables (NFC) (#138443)
Commit: 2f3067ed69098d9eefb92eda17649bf450641889
https://github.com/llvm/llvm-project/commit/2f3067ed69098d9eefb92eda17649bf450641889
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/Support/GenericLoopInfoImpl.h
M llvm/lib/Analysis/BranchProbabilityInfo.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/ExecutionEngine/Orc/GetDylibInterface.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/SafepointIRVerifier.cpp
M llvm/lib/ObjCopy/CommonConfig.cpp
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
M llvm/tools/llvm-exegesis/lib/ParallelSnippetGenerator.cpp
M llvm/unittests/Analysis/MemorySSATest.cpp
M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/IR/DominatorTreeTest.cpp
M llvm/unittests/Support/Path.cpp
Log Message:
-----------
[llvm] Remove unused local variables (NFC) (#138454)
Commit: 46c730656a03c2dd7127425d7319476caac17b0c
https://github.com/llvm/llvm-project/commit/46c730656a03c2dd7127425d7319476caac17b0c
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
M libcxx/utils/ci/run-buildbot-container
Log Message:
-----------
[libc++][CI] Use latest Docker image. (#132539)
This image was updated in #132271.
Due to issues with upstream packages, it uses #134497 instead.
Commit: f002f300c5e1f9ce8adf00441b7e879fec36a071
https://github.com/llvm/llvm-project/commit/f002f300c5e1f9ce8adf00441b7e879fec36a071
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/StaticAnalyzer/CallDescriptionTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[clang] Remove unused local variables (NFC) (#138453)
Commit: 58e6883c8b6e571d6bd774645ee2b6348cfed6ba
https://github.com/llvm/llvm-project/commit/58e6883c8b6e571d6bd774645ee2b6348cfed6ba
Author: Raul Tambre <raul at tambre.ee>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M clang/include/clang/Driver/Distro.h
M clang/lib/Driver/Distro.cpp
Log Message:
-----------
[clang] Add support for Debian 14 Forky and Debian 15 Duke (#138460)
Futureproofs our single Debian-specific special case for roughly the next 6 years.
See: https://lists.debian.org/debian-devel-announce/2025/01/msg00004.html
Commit: 3fc6ed89c0123cc001af8f67dbfc8dda242378f2
https://github.com/llvm/llvm-project/commit/3fc6ed89c0123cc001af8f67dbfc8dda242378f2
Author: Nico Weber <thakis at chromium.org>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
Log Message:
-----------
[gn] port 0c7c82af230bd
Commit: b713ec9761db566c2fd0962df7c4299d905370b0
https://github.com/llvm/llvm-project/commit/b713ec9761db566c2fd0962df7c4299d905370b0
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/NVPTX/BUILD.gn
Log Message:
-----------
[gn build] Port a88d580860b8
Commit: 8db15333934e239d855d5930fe6edca79ce54967
https://github.com/llvm/llvm-project/commit/8db15333934e239d855d5930fe6edca79ce54967
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn
Log Message:
-----------
[gn build] Port e66592509b7d
Commit: ac69fcf54f28128d0b72143c88a3a7a87dfd3bd4
https://github.com/llvm/llvm-project/commit/ac69fcf54f28128d0b72143c88a3a7a87dfd3bd4
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/Basic/BUILD.gn
Log Message:
-----------
[gn build] Port faf4e8af74ee
Commit: 61714c16be4935d03f52ea7f11cee2f58a82d9fd
https://github.com/llvm/llvm-project/commit/61714c16be4935d03f52ea7f11cee2f58a82d9fd
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/DataFormatters/CXXFunctionPointer.cpp
M lldb/source/Expression/DiagnosticManager.cpp
M lldb/source/Interpreter/CommandObject.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/ProcessGDBRemote.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/CompileUnitIndex.cpp
M lldb/source/Target/Platform.cpp
M lldb/source/Utility/ArchSpec.cpp
M lldb/unittests/Utility/LogTest.cpp
Log Message:
-----------
[lldb] Remove unused local variables (NFC) (#138457)
Commit: 4c587f549cbbea0ac1db2b983b8c5fb4fff82d72
https://github.com/llvm/llvm-project/commit/4c587f549cbbea0ac1db2b983b8c5fb4fff82d72
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M clang/lib/AST/DeclBase.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/utils/TableGen/ClangBuiltinTemplatesEmitter.cpp
Log Message:
-----------
[clang] Use *(Set|Map)::contains (NFC) (#138464)
Commit: c3ff3b2ba36aa638ab6101096799d3960bbd6f17
https://github.com/llvm/llvm-project/commit/c3ff3b2ba36aa638ab6101096799d3960bbd6f17
Author: Alex Rønne Petersen <alex at alexrp.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcFixupKinds.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
M llvm/test/MC/Sparc/relocation-specifier.s
Log Message:
-----------
[SPARC][MC] Fix `%gdop_hix22()` and `%gdop_lox10()` to use correct relocations (#137915)
1bfc5e7 introduced support for `%gdop_hix22()` and `%gdop_lox10()`.
However, it incorrectly mapped them to `R_SPARC_GOTDATA_HIX22` and
`R_SPARC_GOTDATA_LOX10`. They should in fact emit
`R_SPARC_GOTDATA_OP_HIX22` and `R_SPARC_GOTDATA_OP_LOX10`.
This became a problem when assembling glibc's PIC startup code:
```asm
sethi %gdop_hix22(main), %o0
xor %o0, %gdop_lox10(main), %o0
ldx [%l7 + %o0], %o0, %gdop(main)
```
After the `xor`, `%o0` should contain the GOT offset for `main`, but
because of the incorrect relocations, it actually ends up containing the
address of `main`, which of course makes the following `ldx` fail.
Commit: 142f99ad645f9e77dd5adb470e41c55ce6d37b2b
https://github.com/llvm/llvm-project/commit/142f99ad645f9e77dd5adb470e41c55ce6d37b2b
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M clang/test/Driver/solaris-ld.c
Log Message:
-----------
[clang][Driver][test] Fix Driver/solaris-ld.c (#138466)
`Clang :: Driver/solaris-ld.c` currently `FAIL`s on two buildbots:
[fuchsia-x86_64-linux](https://lab.llvm.org/buildbot/#/builders/11/builds/14369)
and
[llvm-clang-win-x-aarch64](https://lab.llvm.org/buildbot/#/builders/193/builds/7452).
Judging from `linux-ld.c`, all subtests need `-rtlib=platform
--unwindlib=platform` whenever host and target have different `rtlib`
and `unwindlib` defaults, which is what this patch does for
`solaris-ld.c`, too.
Tested on `amd64-pc-solaris2.11`, `sparcv9-sun-solaris2.11`, and
`x86_64-pc-linux-gnu`.
Commit: c51a3aa6ceb63a58ab7658ea999c65b818da6b1d
https://github.com/llvm/llvm-project/commit/c51a3aa6ceb63a58ab7658ea999c65b818da6b1d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleRemoteEPCServer.cpp
M llvm/lib/ObjCopy/wasm/WasmReader.cpp
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/tools/sancov/sancov.cpp
M llvm/unittests/DebugInfo/CodeView/TypeHashingTest.cpp
M llvm/unittests/XRay/GraphTest.cpp
M llvm/utils/TableGen/AsmWriterEmitter.cpp
M llvm/utils/TableGen/DFAEmitter.cpp
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[llvm] Remove unused local variables (NFC) (#138467)
Commit: a1803ea063c06c005ba50053f0e2cdb8f852871f
https://github.com/llvm/llvm-project/commit/a1803ea063c06c005ba50053f0e2cdb8f852871f
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M libc/config/linux/riscv/entrypoints.txt
M libc/include/llvm-libc-types/jmp_buf.h
M libc/src/setjmp/riscv/CMakeLists.txt
A libc/src/setjmp/riscv/sigsetjmp.cpp
Log Message:
-----------
[libc] implement sigsetjmp/siglongjmp for riscv (#137992)
See https://godbolt.org/z/jo7s6j7sq for compiled code.
```c++
#if __riscv_xlen == 64
#define STORE(A, B, C) "sd " #A ", %c[" #B "](" #C ")\n\t"
#define LOAD(A, B, C) "ld " #A ", %c[" #B "](" #C ")\n\t"
#elif __riscv_xlen == 32
#define STORE(A, B, C) "sw " #A ", %c[" #B "](" #C ")\n\t"
#define LOAD(A, B, C) "lw " #A ", %c[" #B "](" #C ")\n\t"
#else
#error "Unsupported RISC-V architecture"
#endif
namespace LIBC_NAMESPACE_DECL {
[[gnu::naked]]
LLVM_LIBC_FUNCTION(int, sigsetjmp, (sigjmp_buf, int)) {
// clang-format off
asm("beqz a1, .Lnosave\n\t"
STORE(ra, retaddr, a0)
STORE(s0, extra, a0)
"mv s0, a0\n\t"
"call %c[setjmp]\n\t"
"mv a1, a0\n\t"
"mv a0, s0\n\t"
LOAD(s0, extra, a0)
LOAD(ra, retaddr, a0)
"tail %c[epilogue]\n"
".Lnosave:\n\t"
"tail %c[setjmp]"
// clang-format on
::[retaddr] "i"(offsetof(__jmp_buf, sig_retaddr)),
[extra] "i"(offsetof(__jmp_buf, sig_extra)), [setjmp] "i"(setjmp),
[epilogue] "i"(sigsetjmp_epilogue)
: "a0", "a1", "s0");
}
```
Commit: b807a2bc13e96c6819a90e72b99c823c1f3b2d0e
https://github.com/llvm/llvm-project/commit/b807a2bc13e96c6819a90e72b99c823c1f3b2d0e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Move VPReplicateRecipe::execute to VPlanRecipes.cpp (NFC).
Consolidate ::execute implementation in VPlanRecipes.cpp, in line with
other ::execute implementations.
Commit: 1812a43a22a82adccf46d6589b8460a3a7a2678e
https://github.com/llvm/llvm-project/commit/1812a43a22a82adccf46d6589b8460a3a7a2678e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
M clang/lib/Sema/SemaPPC.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
M clang/unittests/Tooling/CompilationDatabaseTest.cpp
Log Message:
-----------
[clang] Remove unused local variables (NFC) (#138468)
Commit: d3e792cec1c29d2abd52983cc200cd1551ceb2cd
https://github.com/llvm/llvm-project/commit/d3e792cec1c29d2abd52983cc200cd1551ceb2cd
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M lld/COFF/DebugTypes.cpp
M lld/ELF/Driver.cpp
M lld/wasm/WriterUtils.cpp
Log Message:
-----------
[lld] Remove unused local variables (NFC) (#138470)
Commit: 1d955489c3c2fc2da89826a5cd6bf7954cf133b7
https://github.com/llvm/llvm-project/commit/1d955489c3c2fc2da89826a5cd6bf7954cf133b7
Author: Nico Weber <thakis at chromium.org>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/MachineCSE.cpp
M llvm/lib/CodeGen/RenameIndependentSubregs.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Log Message:
-----------
Revert "[CodeGen] Use range-based for loops (NFC) (#138434)"
This reverts commit a9699a334bc9666570418a3bed9520bcdc21518b.
Breaks CodeGen/AMDGPU/collapse-endcf.ll in several configs
(sanitizer builds; macOS; possibly more), see comments on
https://github.com/llvm/llvm-project/pull/138434
Commit: f02386db26affa28eb050174f080567ca8d4b60f
https://github.com/llvm/llvm-project/commit/f02386db26affa28eb050174f080567ca8d4b60f
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp
M llvm/lib/Target/Sparc/SparcMCInstLower.cpp
Log Message:
-----------
Sparc: Don't build SparcMCExpr with a zero specifier
Commit: 4426355bb662204e07f464717cfb208ea93e3048
https://github.com/llvm/llvm-project/commit/4426355bb662204e07f464717cfb208ea93e3048
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
Log Message:
-----------
Sparc: Format class SparcAsmPrinter. NFC
Commit: 944e60f08e3571db12f8ee15e7793e6a6e157c3b
https://github.com/llvm/llvm-project/commit/944e60f08e3571db12f8ee15e7793e6a6e157c3b
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/CMakeLists.txt
M llvm/lib/Target/Sparc/Sparc.h
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
R llvm/lib/Target/Sparc/SparcMCInstLower.cpp
M llvm/utils/gn/secondary/llvm/lib/Target/Sparc/BUILD.gn
Log Message:
-----------
Sparc: Merge SparcMCInstLower.cpp into SparcAsmPrinter.cpp
Similar to https://reviews.llvm.org/D152311 for RISCV.
Commit: dc7037d4ef1572e2652507de8c4108a3282a5a33
https://github.com/llvm/llvm-project/commit/dc7037d4ef1572e2652507de8c4108a3282a5a33
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
Log Message:
-----------
Sparc: Remove unused VK_13. NFC
Commit: 26d71f9ef2215081119066d8396afd65e07f7a43
https://github.com/llvm/llvm-project/commit/26d71f9ef2215081119066d8396afd65e07f7a43
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/Transforms/IPO/ConstantMerge.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
[Transforms] Use range-based for loops (NFC) (#138476)
Commit: ed2f89fa00c784c6a4290955fb2c68dea033fe59
https://github.com/llvm/llvm-project/commit/ed2f89fa00c784c6a4290955fb2c68dea033fe59
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcFixupKinds.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
Log Message:
-----------
Simplify R_SPARC_WDISP30 and R_SPARC_WPLT30 handling
Instead of determining the relocation type during SparcMCExpr
construction (in AsmParser or AsmPrinter), use fixup_sparc_call30 and
expand it to either R_SPARC_WDISP30 or R_SPARC_WPLT30.
Commit: 935e5e127ca330d2cb162520bee8274380a621b2
https://github.com/llvm/llvm-project/commit/935e5e127ca330d2cb162520bee8274380a621b2
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp
A llvm/test/MC/Disassembler/Sparc/invalid.s
Log Message:
-----------
SparcDisassembler: Ensure Size is initialized
To fix uninitialized value with an invalid encoding.
Commit: f39696e7dee4f1dce8c10d2b17f987643c480895
https://github.com/llvm/llvm-project/commit/f39696e7dee4f1dce8c10d2b17f987643c480895
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcFixupKinds.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
Log Message:
-----------
Sparc: Remove fixup kinds and specifiers for H44/M44/L44
The simm13 format OR instruction should use one single fixup kind, while
it currently uses a lot more, including %m44/%l44.
This change refactors R_SPARC_H44/R_SPARC_M44/R_SPARC_M44 handling to
remove fixup kinds and specifiers. We utilize the [0,
FirstLiteralRelocationKind) MCFixupKind range to encode raw relocation
types that may be resolved (see the MCAssembler.cpp change).
The `evaluateAsRelocatableImpl` implementation resembles
PPCMCExpr::evaluateAsRelocatableImpl.
Commit: b3e8b21c57cc5549767d21a2be43baeec431c6f7
https://github.com/llvm/llvm-project/commit/b3e8b21c57cc5549767d21a2be43baeec431c6f7
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcFixupKinds.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/test/MC/Sparc/relocation-specifier.s
Log Message:
-----------
Sparc: Remove fixup kinds and specifiers for GOT10/GOT13/GOT22/PC10/PC22
Similar to f39696e7dee4f1dce8c10d2b17f987643c480895
Commit: aafbddee808b8c81e2401ddcb6803f582ccb6892
https://github.com/llvm/llvm-project/commit/aafbddee808b8c81e2401ddcb6803f582ccb6892
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[clang-linker-wrapper] Remove unused local variables (NFC) (#138480)
Commit: b975487ce98ff68989dc626feba21b95bfffe8db
https://github.com/llvm/llvm-project/commit/b975487ce98ff68989dc626feba21b95bfffe8db
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
A llvm/test/MC/Sparc/Directives/data.s
A llvm/test/MC/Sparc/Misc/elf-feature.s
A llvm/test/MC/Sparc/Misc/elf-machine-type.s
A llvm/test/MC/Sparc/Misc/little-endian.s
A llvm/test/MC/Sparc/Relocations/expr.s
A llvm/test/MC/Sparc/Relocations/reloc-directive.s
A llvm/test/MC/Sparc/Relocations/relocation-specifier-pic.s
A llvm/test/MC/Sparc/Relocations/relocation-specifier.s
A llvm/test/MC/Sparc/Relocations/relocation.s
R llvm/test/MC/Sparc/elf-sparc-feature.s
R llvm/test/MC/Sparc/elf-sparc-machine-type.s
R llvm/test/MC/Sparc/reloc-directive.s
R llvm/test/MC/Sparc/relocation-specifier.s
R llvm/test/MC/Sparc/sparc-assembly-exprs.s
R llvm/test/MC/Sparc/sparc-directives.s
R llvm/test/MC/Sparc/sparc-fixups.s
R llvm/test/MC/Sparc/sparc-little-endian.s
R llvm/test/MC/Sparc/sparc-pic.s
R llvm/test/MC/Sparc/sparc-relocations.s
Log Message:
-----------
Sparc: Reorganize relocation and ELF tests
Following the subdirectory schemes of newer ports (LoongArch, M68k).
Commit: 9a7e307b64b52fac74df9d1f7c2696939e4627f1
https://github.com/llvm/llvm-project/commit/9a7e307b64b52fac74df9d1f7c2696939e4627f1
Author: Luke Lau <luke at igalia.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/test/Transforms/VectorCombine/AArch64/scalarize-scalable.ll
M llvm/test/Transforms/VectorCombine/X86/insert-binop-with-constant-inseltpoison.ll
M llvm/test/Transforms/VectorCombine/X86/insert-binop-with-constant.ll
A llvm/test/Transforms/VectorCombine/binop-scalarize.ll
Log Message:
-----------
[VectorCombine] Add tests for UB issue, remove immediate UB from existing tests. NFC (#138395)
This adds a test that exercises the part of scalarizeBinOpOrCmp that
produces immediate UB as described in
https://github.com/llvm/llvm-project/pull/138095#discussion_r2070133432,
but is fortunately currently folded into a correct transform.
I also noticed a bunch of immediate UB in some of the existing tests so
this also cleans them up. They should still all be scalarized though.
Commit: aa15596b5f2cb5b89a2ba7b46b154351bea2d3c9
https://github.com/llvm/llvm-project/commit/aa15596b5f2cb5b89a2ba7b46b154351bea2d3c9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/AVR/AVRISelDAGToDAG.cpp
M llvm/lib/Target/BPF/BPFMIChecking.cpp
M llvm/lib/Target/Hexagon/HexagonVExtract.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/VE/VEISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Log Message:
-----------
[llvm] Remove unused local variables (NFC) (#138478)
Commit: f27dc238698041da5e35a2a6f252c63c5b69838d
https://github.com/llvm/llvm-project/commit/f27dc238698041da5e35a2a6f252c63c5b69838d
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/test/MC/Sparc/Relocations/relocation.s
Log Message:
-----------
Sparc: Test WDISP16/WDISP19/WDISP22 and data relocations
Commit: 9ddec137879da7645039da7277b4d0c1dcf40416
https://github.com/llvm/llvm-project/commit/9ddec137879da7645039da7277b4d0c1dcf40416
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcFixupKinds.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp
Log Message:
-----------
Sparc: Remove fixup kinds for WDISP16/WDISP19/WDISP22
Similar to f39696e7dee4f1dce8c10d2b17f987643c480895
Commit: a5d48db1bebc74c256a0e6a9adf98389b1f4d7a2
https://github.com/llvm/llvm-project/commit/a5d48db1bebc74c256a0e6a9adf98389b1f4d7a2
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
Log Message:
-----------
Sparc: Remove specifiers for GOTDATA_OP
Commit: 8040003f17abfcf23394527de90c59ccb671b7fd
https://github.com/llvm/llvm-project/commit/8040003f17abfcf23394527de90c59ccb671b7fd
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcFixupKinds.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
Log Message:
-----------
Sparc: Remove fixup kinds for HH22/HM10/LM22 / HI22/LO10/HIX22/LOX10
Commit: dcb43307ce05974a06006a890933b63a0c3925d1
https://github.com/llvm/llvm-project/commit/dcb43307ce05974a06006a890933b63a0c3925d1
Author: Ye Luo <yeluo at anl.gov>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M offload/DeviceRTL/CMakeLists.txt
Log Message:
-----------
[Offload] Fix dependency issue #126143 in CMake
Commit: 1fc8b1bcb1ccca25926b3d92331df681fb49e766
https://github.com/llvm/llvm-project/commit/1fc8b1bcb1ccca25926b3d92331df681fb49e766
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp
Log Message:
-----------
Sparc: Remove specifiers for HH22/HM10/LM22, TLS, and DISP32
Commit: 003fa7731d81a47c98e9c55f80d509933c9b91f6
https://github.com/llvm/llvm-project/commit/003fa7731d81a47c98e9c55f80d509933c9b91f6
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
Log Message:
-----------
Sparc: Remove VK_LO/VK_HI and replace enum Specifier with uint16_t
Commit: ecc73a6f1ce61a17250a45ee7cda289cc264f608
https://github.com/llvm/llvm-project/commit/ecc73a6f1ce61a17250a45ee7cda289cc264f608
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
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/EvaluationResult.h
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/gnu-asm-constexpr.cpp
M clang/test/SemaCXX/static-assert-cxx26.cpp
Log Message:
-----------
[clang][bytecode] Use bytecode interpreter in EvaluateCharRangeAsString (#138461)
This was always using the ast walker.
Commit: 1b0a0c7382bff13e272dd547210edfa6bb06d15f
https://github.com/llvm/llvm-project/commit/1b0a0c7382bff13e272dd547210edfa6bb06d15f
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang-tools-extra/clangd/index/FileIndex.cpp
M clang-tools-extra/clangd/index/FileIndex.h
M clang-tools-extra/clangd/index/StdLib.cpp
M clang-tools-extra/clangd/unittests/StdLibTests.cpp
M clang-tools-extra/clangd/unittests/TestTU.cpp
Log Message:
-----------
[clangd] Store documentation when indexing standard library (#133681)
Fixes https://github.com/clangd/clangd/issues/2344
Commit: 0054ab4dc84b2c8c054fc89df4ca745514ca0da4
https://github.com/llvm/llvm-project/commit/0054ab4dc84b2c8c054fc89df4ca745514ca0da4
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/tools/c-index-test/c-index-test.c
M llvm/include/llvm/Support/AutoConvert.h
Log Message:
-----------
[NFC] Fix c++ style comment in c file (#138244)
Fix "C++ style comments are not allowed in ISO C90" warnings in some C
files.
Commit: 249d9492a2228df5a0628858e69e5221d7243d0c
https://github.com/llvm/llvm-project/commit/249d9492a2228df5a0628858e69e5221d7243d0c
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/test/Transforms/DeadStoreElimination/assume.ll
M llvm/test/Transforms/DeadStoreElimination/simple.ll
Log Message:
-----------
[DSE] Only consider provenance captures (#138286)
As a memory analysis, DSE only cares about provenance captures. Address
captures can be ignored as they cannot be used to read or modify memory.
Commit: 5c3d679516ce054d307abbfd0ad494d4924d70a6
https://github.com/llvm/llvm-project/commit/5c3d679516ce054d307abbfd0ad494d4924d70a6
Author: arun-thmn <arun.thangamani at intel.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/X86Vector/X86Vector.td
M mlir/lib/Dialect/X86Vector/IR/X86VectorDialect.cpp
M mlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
M mlir/test/Dialect/X86Vector/legalize-for-llvm.mlir
M mlir/test/Dialect/X86Vector/roundtrip.mlir
M mlir/test/Target/LLVMIR/x86vector.mlir
Log Message:
-----------
[mlir][x86vector] AVX Convert/Broadcast F16 to F32 instructions (#137917)
Adds AVX broadcast and conversion from F16 to packed F32 (similar to PR:
https://github.com/llvm/llvm-project/pull/136830). The instructions that
are added:
- VBCSTNESH2PS
- VCVTNEEPH2PS
- VCVTNEOPH2PS
Commit: 0f6b671a9b76ccd089f35156d47aae8f21be7e39
https://github.com/llvm/llvm-project/commit/0f6b671a9b76ccd089f35156d47aae8f21be7e39
Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/test/CodeGenOpenCL/kernel-attributes.cl
Log Message:
-----------
[OpenCL] Add test for __kernel_exec macro (#138287)
The `__kernel_exec` macro is mandated by the OpenCL C specification and
supplied by `opencl-c-base.h`, but it was not covered in any tests.
Commit: 529b6fcb00aabbed17365e5fb3abbc2ae127c967
https://github.com/llvm/llvm-project/commit/529b6fcb00aabbed17365e5fb3abbc2ae127c967
Author: Anutosh Bhat <andersonbhat491 at gmail.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/include/clang/Interpreter/Interpreter.h
M clang/lib/Interpreter/DeviceOffload.cpp
M clang/lib/Interpreter/DeviceOffload.h
M clang/lib/Interpreter/Interpreter.cpp
Log Message:
-----------
[clang-repl] Fix destructor for interpreter for the cuda negation case (#138091)
Check this error for more context
(https://github.com/compiler-research/CppInterOp/actions/runs/14749797085/job/41407625681?pr=491#step:10:531)
This fails with
```
* thread #1, name = 'CppInterOpTests', stop reason = signal SIGSEGV: address not mapped to object (fault address: 0x55500356d6d3)
* frame #0: 0x00007fffee41cfe3 libclangCppInterOp.so.21.0gitclang::PragmaNamespace::~PragmaNamespace() + 99
frame #1: 0x00007fffee435666 libclangCppInterOp.so.21.0gitclang::Preprocessor::~Preprocessor() + 3830
frame #2: 0x00007fffee20917a libclangCppInterOp.so.21.0gitstd::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() + 58
frame #3: 0x00007fffee224796 libclangCppInterOp.so.21.0gitclang::CompilerInstance::~CompilerInstance() + 838
frame #4: 0x00007fffee22494d libclangCppInterOp.so.21.0gitclang::CompilerInstance::~CompilerInstance() + 13
frame #5: 0x00007fffed95ec62 libclangCppInterOp.so.21.0gitclang::IncrementalCUDADeviceParser::~IncrementalCUDADeviceParser() + 98
frame #6: 0x00007fffed9551b6 libclangCppInterOp.so.21.0gitclang::Interpreter::~Interpreter() + 102
frame #7: 0x00007fffed95598d libclangCppInterOp.so.21.0gitclang::Interpreter::~Interpreter() + 13
frame #8: 0x00007fffed9181e7 libclangCppInterOp.so.21.0gitcompat::createClangInterpreter(std::vector<char const*, std::allocator<char const*>>&) + 2919
```
Problem :
1) The destructor currently handles no clearance for the DeviceParser
and the DeviceAct. We currently only have this
https://github.com/llvm/llvm-project/blob/976493822443c52a71ed3c67aaca9a555b20c55d/clang/lib/Interpreter/Interpreter.cpp#L416-L419
2) The ownership for DeviceCI currently is present in
IncrementalCudaDeviceParser. But this should be similar to how the
combination for hostCI, hostAction and hostParser are managed by the
Interpreter. As on master the DeviceAct and DeviceParser are managed by
the Interpreter but not DeviceCI. This is problematic because :
IncrementalParser holds a Sema& which points into the DeviceCI. On
master, DeviceCI is destroyed before the base class ~IncrementalParser()
runs, causing Parser::reset() to access a dangling Sema (and as Sema
holds a reference to Preprocessor which owns PragmaNamespace) we see
this
```
* frame #0: 0x00007fffee41cfe3 libclangCppInterOp.so.21.0gitclang::PragmaNamespace::~PragmaNamespace() + 99
frame #1: 0x00007fffee435666 libclangCppInterOp.so.21.0gitclang::Preprocessor::~Preprocessor() + 3830
```
Commit: 1b479e8314462d798dacf0263206da95f666cd47
https://github.com/llvm/llvm-project/commit/1b479e8314462d798dacf0263206da95f666cd47
Author: Christian Sigg <csigg at google.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
R utils/bazel/llvm-project-overlay/llvm/tblgen.bzl
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/tblgen.bzl
Log Message:
-----------
[bazel] NFC: Change `tbl_outs` to dicts. (#137788)
There were some `gentbl_cc_library` targets left to convert.
Allow `gentbl_filegroup` rule to take a dict as well and change all
targets.
Move lld/BUILD.bazel from //llvm:tblgen.bzl to //mlir:tblgen.bzl, delete
the former.
This makes the BUILD files shorter and more readable.
Commit: 56097bce97b4f0a9717268e9ddc1bb72bc49390c
https://github.com/llvm/llvm-project/commit/56097bce97b4f0a9717268e9ddc1bb72bc49390c
Author: Jim Lin <jim at andestech.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsRISCVXCV.td
Log Message:
-----------
[RISCV][Clang] Fix typo: RISCXCVBuiltin -> RISCVXCVBuiltin. NFC.
Commit: 3416d4fcee01b63002b95774e9aff35a0ab8ef9e
https://github.com/llvm/llvm-project/commit/3416d4fcee01b63002b95774e9aff35a0ab8ef9e
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
Log Message:
-----------
[AA] Assert that alias() arguments are pointers (#138242)
Assert instead of returning NoAlias for non-pointers. This makes sure
that people don't confuse alias (working on locations) with
getModRefInfo (working on instructions).
Commit: b492ec5899082af9f34d79be9750b5e5c5d082e1
https://github.com/llvm/llvm-project/commit/b492ec5899082af9f34d79be9750b5e5c5d082e1
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/lib/AST/ExternalASTSource.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M llvm/include/llvm/CodeGen/CodeGenTargetMachineImpl.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Support/Error.h
M llvm/include/llvm/Support/ErrorHandling.h
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/Support/Error.cpp
M llvm/lib/Support/ErrorHandling.cpp
M llvm/lib/Support/raw_ostream.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Transforms/IPO/BlockExtractor.cpp
M llvm/lib/Transforms/IPO/EmbedBitcodePass.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopPassManager.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/tools/opt/optdriver.cpp
M mlir/lib/TableGen/AttrOrTypeDef.cpp
Log Message:
-----------
[ErrorHandling] Add reportFatalInternalError + reportFatalUsageError (NFC) (#138251)
This implements the result of the discussion at:
https://discourse.llvm.org/t/rfc-report-fatal-error-and-the-default-value-of-gencrashdialog/73587
There are two different use cases for report_fatal_error, so replace it
with two functions reportFatalInternalError() and
reportFatalUsageError(). The former indicates a bug in LLVM and
generates a crash dialog. The latter does not. The names have been
suggested by rnk and people seemed to like them.
This replaces a lot of the usages that passed an explicit value for
GenCrashDiag. I did not bulk replace remaining report_fatal_error usage
-- they probably require case by case review for which function to use.
Commit: 93680b5242bf9a1555f95f633d45e348cf103527
https://github.com/llvm/llvm-project/commit/93680b5242bf9a1555f95f633d45e348cf103527
Author: Jugst3r <38359364+Jugst3r at users.noreply.github.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/bindings/python/clang/cindex.py
M clang/docs/ReleaseNotes.rst
M clang/include/clang-c/Index.h
M clang/tools/c-index-test/c-index-test.c
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
Remove duplicate API (#132776)
And adapt the existing code to account for the comments made when
introducing the duplicate API.
Note that this introduces a retro-incompatibility with LLVM 19.
cc @sebastianpoeplau
Commit: 5f24ae925121807c70068d20182b50a2a4b37a97
https://github.com/llvm/llvm-project/commit/5f24ae925121807c70068d20182b50a2a4b37a97
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/lib/Sema/SemaExpr.cpp
M clang/test/Sema/implicit-void-ptr-cast.c
Log Message:
-----------
[C] Update -Wimplicit-void-ptr-cast for null pointer constants (#138271)
Null pointer constants require a bit of extra effort to handle in C.
Fixes #138145
Commit: 8f3fc7241145ab164dd7859e4349c2ff62619b94
https://github.com/llvm/llvm-project/commit/8f3fc7241145ab164dd7859e4349c2ff62619b94
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
Log Message:
-----------
[AMDGPU] Use Reg32Types for move-immediate patterns (#138422)
This just avoids having another copy of the list of valid 32-bit pointer
types.
Commit: 43c05d97389d479f78ca18b5d7957f51cb4022fd
https://github.com/llvm/llvm-project/commit/43c05d97389d479f78ca18b5d7957f51cb4022fd
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/test/Sema/warn-jump-bypasses-init.c
Log Message:
-----------
Rename -Wjump-bypasses-init to -Wjump-misses-init
This matches the GCC diagnostic name which covers the same
functionality.
Commit: 112291ad35a9b83501ff0f9e89de494d2df17b3c
https://github.com/llvm/llvm-project/commit/112291ad35a9b83501ff0f9e89de494d2df17b3c
Author: Stefan Weigl-Bosker <stefan at s00.xyz>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Lex/Pragma.cpp
A clang/test/Preprocessor/_Pragma-in-include.c
Log Message:
-----------
[clang][lex] Fix lexing malformed pragma within include directive (#138165)
this patch fixes a crash triggered by lexing past eof when emitting a
diagnostic for a malformed `_Pragma` directive within an `include`
directive.
Fixed by by preventing the lexer from eating a `tok::eod`.
Fixes #138094
Commit: 4c43d6ae984e13c3d5b01e3f7254bbf2956ffa1b
https://github.com/llvm/llvm-project/commit/4c43d6ae984e13c3d5b01e3f7254bbf2956ffa1b
Author: Raul Tambre <raul at tambre.ee>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/docs/CommandGuide/clang.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/LangStandards.def
M clang/test/Driver/unknown-std.c
Log Message:
-----------
[clang] Alias iso9899:2024 to C23, update documentation (#138459)
Commit: b06a014f01ffa279a7add9e22d21fcc2d2fb208f
https://github.com/llvm/llvm-project/commit/b06a014f01ffa279a7add9e22d21fcc2d2fb208f
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/tools/libclang/CMakeLists.txt
Log Message:
-----------
[cmake] Reenable libclang.dll when LLVM_ENABLE_PIC (#138343)
This was disabled for Windows/Mingw in #138343, but it's actually
linkable and is being used by some people.
Commit: a94e56095808f4784afcf8e50819ba594c5e8219
https://github.com/llvm/llvm-project/commit/a94e56095808f4784afcf8e50819ba594c5e8219
Author: Hans Wennborg <hans at hanshq.net>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/lib/Sema/JumpDiagnostics.cpp
M clang/test/Sema/warn-jump-bypasses-init.c
Log Message:
-----------
Only emit -Wmicrosoft-goto in C++ mode (#138507)
Follow-up to #138009 which added diagnostics for "jump past
initialization" in C mode, in which case they're not an MS extension.
Commit: 07bc54bf4554398b199f4dc849e5193b98422f23
https://github.com/llvm/llvm-project/commit/07bc54bf4554398b199f4dc849e5193b98422f23
Author: Martin Storsjö <martin at martin.st>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.h
M llvm/lib/DWARFLinker/Parallel/TypePool.h
Log Message:
-----------
[DWARFLinkerParallel] Fix incorrect uses of compare_exchange_weak (#138129)
The documentation for compare_exchange_weak says that it is allowed to
spuriously fail. If compare_exchange_weak is called in a loop, spurious
failures usually are benign - but in these cases, a spurious failure
would give incorrect behaviour.
E.g. in TypePool::getOrCreateTypeEntryBody, we assume that if the
compare_exchange call returned false, we had been preempted by another
thread and that DIE is non-null.
This fixes running the dsymutil tests on Windows on aarch64 (built with
a mingw toolchain with libc++).
Commit: 45d96df7976ffa9eb5b951fc0f8f481ea6c43610
https://github.com/llvm/llvm-project/commit/45d96df7976ffa9eb5b951fc0f8f481ea6c43610
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
A llvm/test/CodeGen/AMDGPU/legalize-amdgcn.dead.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dead.ll
Log Message:
-----------
[AMDGPU] Support arbitrary types in amdgcn.dead (#134841)
Legalize the amdgcn.dead intrinsic to work with types other than i32. It
still generates IMPLICIT_DEFs.
Remove some of the previous code for selecting/reg bank mapping it for
32-bit types, since everything is done in the legalizer now.
Commit: f49ee00ec47f596269639987f5ea8755a358ca16
https://github.com/llvm/llvm-project/commit/f49ee00ec47f596269639987f5ea8755a358ca16
Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
A llvm/test/Transforms/ConstraintElimination/salvage-dbg-values-replaced-by-constant-2.ll
A llvm/test/Transforms/ConstraintElimination/salvage-dbg-values-replaced-by-constant.ll
Log Message:
-----------
[DebugInfo][ConstraintElimination] Fix debug value loss in replacing comparisons with the speculated constants (#136839)
Fix #135736
Commit: f33821628d0e03f5389e1f4339b4d10f6a8883b5
https://github.com/llvm/llvm-project/commit/f33821628d0e03f5389e1f4339b4d10f6a8883b5
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
Log Message:
-----------
[FunctionAttrs] Add test for SCC with address only capture (NFC)
Commit: d6f1de3107bb2367065cf39a6468b9466524be75
https://github.com/llvm/llvm-project/commit/d6f1de3107bb2367065cf39a6468b9466524be75
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
Log Message:
-----------
[clang][bytecode] Bail out on invalid function declarations (#138503)
Commit: 003e501487b5a9380395ebf34eb28bb3423493b4
https://github.com/llvm/llvm-project/commit/003e501487b5a9380395ebf34eb28bb3423493b4
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
Log Message:
-----------
AMDGPU: Fix gcc -Wenum-compare warning (#138529)
Commit: 541ad3fb71258b51356f707c2477c660968a7bd8
https://github.com/llvm/llvm-project/commit/541ad3fb71258b51356f707c2477c660968a7bd8
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
Log Message:
-----------
[MemCpyOpt] Drop outdated TODO (NFC)
This code was already changed to make use of UseCC/ResultCC.
We can't restrict the check to provenance or address only, as both
are relevant here.
Commit: aadf35cb41db9bc4594d9a70cfdc6d43d795a097
https://github.com/llvm/llvm-project/commit/aadf35cb41db9bc4594d9a70cfdc6d43d795a097
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Verify number preds and operands matches for VPIRPhis. (NFC)
Extend the verifier to ensure the number of predecessors and operands
match for VPIRPhis.
Commit: 76b9973a78023bb7fa42e8e63c7b40799b6c8900
https://github.com/llvm/llvm-project/commit/76b9973a78023bb7fa42e8e63c7b40799b6c8900
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/test/Transforms/DeadStoreElimination/memset-and-memcpy.ll
Log Message:
-----------
[DSE] Strengthen test coverage for memset.pattern
Commit: 15f7e029403a61412bc8c397c9205f7a930055dc
https://github.com/llvm/llvm-project/commit/15f7e029403a61412bc8c397c9205f7a930055dc
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
M clang/test/C/C23/n3030.c
M clang/test/C/C23/n3037.c
M clang/test/C/drs/dr0xx.c
M clang/test/C/drs/dr1xx.c
A clang/test/Sema/c23-decl-in-prototype.c
M clang/test/Sema/decl-in-prototype.c
M clang/test/Sema/enum.c
Log Message:
-----------
[C23] Disable diagnostic on struct defn in prototype (#138516)
Thanks to changes to type compatibility rules via WG14 N3007, these
functions can now be called with a compatible type even within the same
TU, which makes the -Wvisibility diagnostic too chatty to have on by
default.
So in C23 mode, -Wvisibility will only diagnose an incomplete tag type
declared in a function prototype. If the tag is defined in the
prototype, the diagnostic is silenced.
Commit: 2df4be28f5f68cbd012d439360f3399335ea4bfb
https://github.com/llvm/llvm-project/commit/2df4be28f5f68cbd012d439360f3399335ea4bfb
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
Log Message:
-----------
[Clang][NFC] Use std::move for Detail in timeTraceMetadata (#138352)
Static analysis flagged the use of Detail because we were not using
std::move when returning values. Modified the returns to use std::move.
Commit: c3773f7ca8615bca2b121de9326437ebe497fca5
https://github.com/llvm/llvm-project/commit/c3773f7ca8615bca2b121de9326437ebe497fca5
Author: Feng Zou <feng.zou at intel.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Target/X86/X86SuppressAPXForReloc.cpp
A llvm/test/CodeGen/X86/apx/check-nf-in-suppress-reloc-pass.ll
Log Message:
-----------
[X86][APX] Fix the assertion of NF instruction with relocation (#138500)
The assertion should be raised only for the NF instructions with
GOTTPOFF relocation.
Commit: 0764f65a7fb06703610b33a86ca79025fa4050a4
https://github.com/llvm/llvm-project/commit/0764f65a7fb06703610b33a86ca79025fa4050a4
Author: Maksim Ivanov <emaxx at google.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/lib/AST/Type.cpp
Log Message:
-----------
[clang] Fix nondeterminism in MemberPointerType (#137910)
This commit fixes the nondeterminism issue in C++ header module enabled builds which were observed after
https://github.com/llvm/llvm-project/pull/132401.
The issue was related to the fact that the hash set operation in MemberPointerType::Profile() was triggering getMostRecentDecl(). As the latter may trigger the loading of new entities from the external AST source, this
was presumably causing reentrant modification of data structure or some other issue that affects
compiler's output in a nondeterministic way (likely depending on specific values hashes/pointers have).
The change should otherwise be a no-op, because whether we take a "most recent" or "any" Decl shouldn't
matter since `getCanonicalDecl()` is called on it anyway inside `MemberPointerType::Profile()`.
We haven't been able to come up with a deterministic regression test for this fix.
Commit: c66ce080412a7fd73295b7663ab97a81278dd48e
https://github.com/llvm/llvm-project/commit/c66ce080412a7fd73295b7663ab97a81278dd48e
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
A llvm/test/Transforms/Inline/noalias-escape-source.ll
Log Message:
-----------
[Inline] Add tests for captures-before check for scoped AA metadata (NFC)
Commit: a7bff2a1c60f0d30a1049a3658b5dbf415023f5f
https://github.com/llvm/llvm-project/commit/a7bff2a1c60f0d30a1049a3658b5dbf415023f5f
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/test/Transforms/SimplifyCFG/speculate-store.ll
Log Message:
-----------
[SimplifyCFG] Add test for addr-only capture in store speculation (NFC)
Commit: 8870ce1aa0ddf4df4f25ae834a1fab167895892d
https://github.com/llvm/llvm-project/commit/8870ce1aa0ddf4df4f25ae834a1fab167895892d
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M flang/docs/Aliasing.md
Log Message:
-----------
[flang][docs] Add note about Cray pointers and the TARGET attribute (#137993)
We found some tests checking for loops assigning between Cray pointer
handles and their pointees which produced "incorrect" results with
optimizations enabled; this is because the compiler expects Cray
pointers not to alias with any other entity.
[The HPE documentation for Cray Fortran extensions
specifies:](https://support.hpe.com/hpesc/public/docDisplay?docId=a00113911en_us&docLocale=en_US&page=Types.html#cray-poiter-type)
> the compiler assumes that the storage of a pointee is
> never overlaid on the storage of another variable
Jean pointed out that if a user's code uses entities that alias via Cray
pointers, they may add the TARGET attribute to inform Flang of this
aliasing, but that Flang's behavior is in line with Cray's own
documentation and we should not make any changes to our alias analysis
to try and detect this case.
Updating documentation so that users that encounter this situation have
a way to allow their code to compile as they intend.
Commit: 44856d957e3a878e1f15d5ab0009bff9c4d87e6d
https://github.com/llvm/llvm-project/commit/44856d957e3a878e1f15d5ab0009bff9c4d87e6d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
A llvm/test/CodeGen/ARM/shouldRewriteCopySrc.ll
Log Message:
-----------
ARM: Add test which shows overriding shouldRewriteCopySrc does something
Split out from #125219
Commit: 4418a8e5ef865bc5062a338697ddd44b14c8005d
https://github.com/llvm/llvm-project/commit/4418a8e5ef865bc5062a338697ddd44b14c8005d
Author: Alex Rønne Petersen <alex at alexrp.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/DynamicTags.def
M llvm/include/llvm/BinaryFormat/ELFRelocs/Sparc.def
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/test/tools/llvm-readobj/ELF/dynamic-tags-machine-specific.test
A llvm/test/tools/llvm-readobj/ELF/reloc-types-sparcv9.test
Log Message:
-----------
[SPARC] Add llvm-readobj support, update ELF reloc types and dynamic tags. (#137916)
Values sourced from binutils.
Commit: 0eff4108cb1e0a597ba70a4e1b8e1ce3ae0cfd46
https://github.com/llvm/llvm-project/commit/0eff4108cb1e0a597ba70a4e1b8e1ce3ae0cfd46
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M lldb/source/ValueObject/ValueObject.cpp
M lldb/test/API/python_api/sbvalue_const_addrof/main.cpp
Log Message:
-----------
[LLDB] Fix `ValueObject::AddressOf()` return value (#137688)
`ValueObject::AddressOf()` used to return address as a value which has
it's own address, allowing to do `value.AddressOf().AddressOf()`.
This patch makes the return address a simple const value.
Commit: 640103b91ac892cfbeeb614495698c321437b567
https://github.com/llvm/llvm-project/commit/640103b91ac892cfbeeb614495698c321437b567
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M mlir/include/mlir/IR/BuiltinAttributeInterfaces.h
M mlir/include/mlir/IR/BuiltinAttributeInterfaces.td
M mlir/include/mlir/IR/BuiltinAttributes.td
M mlir/lib/IR/BuiltinAttributeInterfaces.cpp
M mlir/lib/IR/BuiltinAttributes.cpp
M mlir/lib/IR/BuiltinTypes.cpp
Log Message:
-----------
[mlir][MemRef][~NFC] Move getStridesAndOffset() onto layouts (#138011)
This commit refactors the getStridesAndOffet() method on MemRefType to
just call `MemRefLayoutAttrInterface::getStridesAndOffset(shape,
strides& offset&)`, allowing downstream users and future layouts (ex, a
potential contiguous layout) to implement it without needing to patch
BuiltinTypes or without needing them to conform their affine maps to the
canonical strided form.
Commit: 9c9013f703f0b5736fc33df05de3fabaab22459e
https://github.com/llvm/llvm-project/commit/9c9013f703f0b5736fc33df05de3fabaab22459e
Author: Akhilesh Moorthy <62468417+isakhilesh at users.noreply.github.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
A llvm/test/CodeGen/AMDGPU/swdev504645-global-fold.ll
Log Message:
-----------
[AMDGPU] Handle MachineOperandType global address in SIFoldOperands. (#135424)
This patch handles the global operand type properly, fixing the
bug : Assertion `(isFI() || isCPI() || isTargetIndex() ||
isJTI()) && "Wrong MachineOperand accessor"` failed.
Fixes SWDEV-504645
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 721cba476d68bae13e9c0a0060fd37c386050e74
https://github.com/llvm/llvm-project/commit/721cba476d68bae13e9c0a0060fd37c386050e74
Author: Frederik Harwath <frederik.harwath at amd.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-f16.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-i16.ll
M llvm/test/CodeGen/AMDGPU/fmax_legacy.f16.ll
M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
M llvm/test/CodeGen/AMDGPU/fmin_legacy.f16.ll
M llvm/test/CodeGen/AMDGPU/fminimum3.ll
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
A llvm/test/CodeGen/AMDGPU/sdwa-peephole-cndmask-wave32.mir
A llvm/test/CodeGen/AMDGPU/sdwa-peephole-cndmask-wave64.mir
M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.v2f16.ll
M llvm/test/CodeGen/AMDGPU/select.f16.ll
Log Message:
-----------
[AMDGPU] SIPeepholeSDWA: Handle V_CNDMASK_B32_e64 (#137930)
The VOP3 form of the V_CNDMASK_B32 instruction takes a carry-in
operand. The conversion to SDWA implies a conversion to VOP2 form
which reads from VCC instead.
Convert V_CNDMASK_B32_e64 instructions that might be converted to SDWA
to V_CNDMASK_B32_e32 first and introduce a copy of the carry-in operand
to VCC.
Closes #133431.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: d0096e8f9627d0d2704db3449ee1a958af19169c
https://github.com/llvm/llvm-project/commit/d0096e8f9627d0d2704db3449ee1a958af19169c
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/test/CodeGen/SPARC/exception.ll
M llvm/test/MC/Sparc/Relocations/relocation-specifier.s
Log Message:
-----------
Sparc: Improve SETHI and R_SPARC_DISP32 tests
* adjustFixupValue is called even when a R_SPARC_HIX22/R_SPARC_LOX10
relocation is generated. This will be fixed shortly.
* Enhanced the %h44 test to show that we don't check overflow.
* Test R_SPARC_DISP32 in .gcc_except_table and .eh_frame . The original
support did not test -filetype=obj output.
Commit: f14a4ac4d6949666e0930f88d22798042446bb91
https://github.com/llvm/llvm-project/commit/f14a4ac4d6949666e0930f88d22798042446bb91
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/test/MC/Sparc/Relocations/relocation-specifier.s
Log Message:
-----------
Sparc: Suppress applyFixup when a relocation is generated
The computed R_SPARC_HIX22/R_SPARC_LOX10 value is non-zero even when the
input is 0. We should suppress applyFixup when a relocation is
generated.
Commit: 13b4a097a887142687346005a72814abff5a8f7b
https://github.com/llvm/llvm-project/commit/13b4a097a887142687346005a72814abff5a8f7b
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
Log Message:
-----------
Sparc: Move H44/M44/L44 computation back to adjustFixupValue
Essentially revert the evaluateAsRelocatableImpl part from
f39696e7dee4f1dce8c10d2b17f987643c480895. Ensure that absolute
relocation evaluation is in one place. SparcAsmBackend.cpp enables
better diagnostics if needed.
Commit: 15c2f79153abe3dcee60aaeefe68946b1e93a1ed
https://github.com/llvm/llvm-project/commit/15c2f79153abe3dcee60aaeefe68946b1e93a1ed
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/test/Transforms/DeadStoreElimination/memset-and-memcpy.ll
A llvm/test/Transforms/GVN/memset-pattern.ll
Log Message:
-----------
[DSE/GVN] Continue to improve memset.pattern testing [nfc]
This batch reveals two missed optimizations, but only one of which
is regression as compared to the memset_patternN libcall family.
Commit: 13926e149081ca2771bdea7c08c07d92d87f7818
https://github.com/llvm/llvm-project/commit/13926e149081ca2771bdea7c08c07d92d87f7818
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaCXX/paren-list-agg-init.cpp
Log Message:
-----------
[Clang] Preserve CXXParenListInitExpr in TreeTransform. (#138518)
We were converting a CXXParenListInitExpr to a ParenListExpr in
TreeTransform.
However, ParenListExpr is typeless, so Clang could not rebuild the
correct initialization sequence in some contexts.
Fixes #72880
Commit: 1ba89ad2c6e405bd5ac0c44e2ee5aa5504c7aba1
https://github.com/llvm/llvm-project/commit/1ba89ad2c6e405bd5ac0c44e2ee5aa5504c7aba1
Author: jimingham <jingham at apple.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
A lldb/test/API/macosx/branch-islands/Makefile
A lldb/test/API/macosx/branch-islands/TestBranchIslands.py
A lldb/test/API/macosx/branch-islands/foo.c
A lldb/test/API/macosx/branch-islands/main.c
A lldb/test/API/macosx/branch-islands/padding1.s
A lldb/test/API/macosx/branch-islands/padding2.s
Log Message:
-----------
Handle step-in over a Darwin "branch island". (#138330)
Commit: 0926d94453096a37ec324a51d88ec203baedc3ea
https://github.com/llvm/llvm-project/commit/0926d94453096a37ec324a51d88ec203baedc3ea
Author: KRM7 <rugasikrisztian at gmail.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/unittests/CodeGen/GlobalISel/CSETest.cpp
Log Message:
-----------
[GlobalISel] Take the result size into account when const folding icmp (#134365)
The current implementation always creates a 1 bit constant for the
result of the `G_ICMP`, which will cause issues if the destination
register size is larger than that. With asserts enabled, it will cause a
crash in `buildConstant`:
```
llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp:322: virtual MachineInstrBuilder llvm::MachineIRBuilder::buildConstant(const DstOp &, const ConstantInt &): Assertion `EltTy.getScalarSizeInBits() == Val.getBitWidth() && "creating constant with the wrong size"' failed.
```
Commit: c0e52f3ec7f147c2c1414ef0f2a5f08c413a587b
https://github.com/llvm/llvm-project/commit/c0e52f3ec7f147c2c1414ef0f2a5f08c413a587b
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M flang/lib/Lower/ConvertExprToHLFIR.cpp
A flang/test/Lower/volatile-derived-type.f90
Log Message:
-----------
[flang] Component references are volatile if their parent is (#138339)
Component references inherit volatility from their base derived types.
Moved the base type volatility check before the box type is built, and
merge it (instead of overwrite it) with the volatility of the base type.
Commit: e1cff21f65fc876f7a9d0531a4b4d2aa3f0b4f21
https://github.com/llvm/llvm-project/commit/e1cff21f65fc876f7a9d0531a4b4d2aa3f0b4f21
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
Log Message:
-----------
[AMDGPU] Fix a warning
This patch fixes:
llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp:1102:8: error: unused
variable 'Converted' [-Werror,-Wunused-variable]
Commit: 15f7c6ed70c82ead0f2bd6725fa0c4ec9a6b2dfa
https://github.com/llvm/llvm-project/commit/15f7c6ed70c82ead0f2bd6725fa0c4ec9a6b2dfa
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp
M mlir/lib/Dialect/Affine/Analysis/Utils.cpp
M mlir/lib/Dialect/Affine/TransformOps/AffineTransformOps.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/Affine/Utils/ViewLikeInterfaceUtils.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVParsingUtils.h
M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
Log Message:
-----------
[mlir] Remove unused local variables (NFC) (#138481)
Commit: f81193ddfdae8fbdc6e2b4a40c5b8a11c9327939
https://github.com/llvm/llvm-project/commit/f81193ddfdae8fbdc6e2b4a40c5b8a11c9327939
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
Log Message:
-----------
[SelectionDAG] Remove obsolete comments (NFC) (#138483)
These functions do not return boolean values.
Commit: cdc9a4b5f81a2bc41b6452585a77f681deb4c53c
https://github.com/llvm/llvm-project/commit/cdc9a4b5f81a2bc41b6452585a77f681deb4c53c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/MachineCSE.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Log Message:
-----------
[CodeGen] Use range-based for loops (NFC) (#138488)
This is a reland of #138434 except that:
- the bits for llvm/lib/CodeGen/RenameIndependentSubregs.cpp
have been dropped because they caused a test failure under asan, and
- the bits for llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp have
been improved with structured bindings.
Commit: 8ae9a204f0cd7c6747519b3a222a60a7b15fb4f7
https://github.com/llvm/llvm-project/commit/8ae9a204f0cd7c6747519b3a222a60a7b15fb4f7
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/hip-options.hip
M clang/test/Driver/openmp-offload-gpu.c
Log Message:
-----------
[Clang][Driver] Only enable internalization for OpenMP target offloading with ThinLTO on AMDGPU (#138547)
Commit: e7e204234362cf9df412f91d0b401fabfbde3706
https://github.com/llvm/llvm-project/commit/e7e204234362cf9df412f91d0b401fabfbde3706
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaCXX/vla.cpp
Log Message:
-----------
Fix crash with invalid VLA in a type trait (#138543)
Transforming an expression to a potentially evaluated expression can
fail. If it does so, no longer attempt to make the type trait
expression, instead return an error expression. This ensures we don't
try to compute the dependence for an invalid type.
Fixes #138444
Commit: 71ee3366faea88fa5abcec0c38936b1b264643a3
https://github.com/llvm/llvm-project/commit/71ee3366faea88fa5abcec0c38936b1b264643a3
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/combine_andor_with_cmps.ll
M llvm/test/CodeGen/AMDGPU/omod.ll
M llvm/test/CodeGen/AMDGPU/vopc_dpp.mir
Log Message:
-----------
[AMDGPU][True16][CodeGen] clean up a few codegen test for true16 mode (#138542)
This is a NFC patch.
Clean up three test for true16 mode:
1. remove strayed test line
2. remove t16 test line from fake16 mir test
3. update check-label to shrink test size
Commit: fc0f074d0d9380a48f15f2c10d39fe8f1694abd1
https://github.com/llvm/llvm-project/commit/fc0f074d0d9380a48f15f2c10d39fe8f1694abd1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/unittests/CodeGen/GlobalISel/CSETest.cpp
Log Message:
-----------
[CodeGen] Fix warnings
This patch fixes:
third-party/unittest/googletest/include/gtest/gtest.h:1379:11:
error: comparison of integers of different signs: 'const unsigned
long' and 'const int' [-Werror,-Wsign-compare]
Commit: abd10578653a4f16c81c6a164f6367af64f21194
https://github.com/llvm/llvm-project/commit/abd10578653a4f16c81c6a164f6367af64f21194
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.deprecated/p1.cpp
Log Message:
-----------
[Clang] Minimal support for availability attributes on partial specializations (#138426)
There are some limitations.
Because we only know which partial specialization to refer to when
instantiating, and because we can't instantiate the class before we
require a complete type, we can only use the partial specialization once
we have a complete class.
Similarly, because we don't know if a class is ever going to be
complete, we always warn on availability of the primary. Therefore, we
only warn for the partial specialization if we did not warn on the
primary.
I considered alternatives to address that second limitation:
- Delay warnings to the end of the TU
- Tracking where each availability attribute originally comes from.
However, both of these have drawbacks, and the use case is probably less
motivated than wanting to deprecate the use of a specific
specialization.
Fixes #44496
Commit: 91867337ada52fb113d3d4808b5acb5790b869ff
https://github.com/llvm/llvm-project/commit/91867337ada52fb113d3d4808b5acb5790b869ff
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
Log Message:
-----------
[OpenACC] Fix infinite loop bug with the device_type checking
I noticed while writing a test that we ended up infinite looping thanks
to an early exit not correctly setting the next step of the loop.
Commit: 9d90f8ba7113fd9c7b2662682ad94b744ed2b78c
https://github.com/llvm/llvm-project/commit/9d90f8ba7113fd9c7b2662682ad94b744ed2b78c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.h
M llvm/test/CodeGen/ARM/shouldRewriteCopySrc.ll
Log Message:
-----------
ARM: Remove override of shouldRewriteCopySrc (#125219)
All of the overrides of shouldRewriteCopySrc appear to be hacks
for bugs in the base implementation, so I'm trying to delete
all of the overrides. I was expecting this to find an example
issue like the x86 version, but no tests change with this.
Commit: 1e353fa5c3f0e13730cd175a90332b8ab113011d
https://github.com/llvm/llvm-project/commit/1e353fa5c3f0e13730cd175a90332b8ab113011d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
Log Message:
-----------
AMDGPU: Fix -Wextra (#138539)
Another stupid gcc warning. Ideally we would directly use the enum type,
but subregister indexes are emitted as an anonymous enum.
Fixes #125548
Commit: c50cba6275271fba69be661b9ec0665b2be88dbc
https://github.com/llvm/llvm-project/commit/c50cba6275271fba69be661b9ec0665b2be88dbc
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M lldb/include/lldb/Utility/RangeMap.h
M lldb/source/Target/Process.cpp
A lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidumpYaml.py
A lldb/test/API/functionalities/process_save_core_minidump/minidump_mem64.yaml
Log Message:
-----------
[LLDB][SBSaveCore] Sbsavecore subregions bug (#138206)
Custom regions in Process::GetUserSpecifiedCoreFileSaveRanges originally
used `FindEntryThatContains`. This made sense on my first attempt, but
what we really want are *intersecting* regions. This is so the user can
specify arbitrary memory, and if it's available we output it to the core
(Minidump or MachO).
Commit: e165225e49f71b468a35ca15c7ae397471cbfef0
https://github.com/llvm/llvm-project/commit/e165225e49f71b468a35ca15c7ae397471cbfef0
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Simplify check in collectUsersInLatchExitBlock. (NFC)
Unswitch the check in collectUsersInLatchExitBlock as suggested in
https://github.com/llvm/llvm-project/pull/136455.
The assertion is now checked by the verifier since aadf35cb41d.
Commit: 7f5bf77c657719f6f305139f7dd6d1871f4041e5
https://github.com/llvm/llvm-project/commit/7f5bf77c657719f6f305139f7dd6d1871f4041e5
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M libc/test/integration/src/__support/GPU/match.cpp
Log Message:
-----------
[libc] Temporarily disable hanging test on sm_60 (#138561)
Commit: 4fb7d1953d3f72f73d580f8549838bedad031d0b
https://github.com/llvm/llvm-project/commit/4fb7d1953d3f72f73d580f8549838bedad031d0b
Author: Ryan Buchner <92571492+bababuck at users.noreply.github.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
A llvm/test/CodeGen/AMDGPU/agpr-spill-copy.mir
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/av_spill_cross_bb_usage.mir
M llvm/test/CodeGen/AMDGPU/pei-build-av-spill.mir
M llvm/test/CodeGen/AMDGPU/pei-build-spill.mir
M llvm/test/CodeGen/AMDGPU/spill-agpr-partially-undef.mir
M llvm/test/CodeGen/AMDGPU/vgpr-spill-scc-clobber.mir
Log Message:
-----------
[AMDGPU] Remove implicit definition of register group when restoring the last sub-register after a spill (#133986)
Extension of https://reviews.llvm.org/D141101 to remove the define flag
from the last stack memory access. Fixes case where COPY instructions
are used for some of the stack restoration, but the copies get optimized
away during the machine-cp pass.
Prior to this change, was possible to produce the following code:
$agpr16_agpr17_agpr18_agpr19 = SCRATCH_LOAD_DWORDX4_ST 64, 0, implicit
$exec, implicit $flat_scr, implicit-def
$agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31
:: (load (s128) from %stack.17, align 4, addrspace 5)
$agpr20_agpr21_agpr22_agpr23 = SCRATCH_LOAD_DWORDX4_ST 80, 0, implicit
$exec, implicit $flat_scr :: (load (s128) from %stack.17 + 16, align 4,
addrspace 5)
$agpr24_agpr25_agpr26_agpr27 = SCRATCH_LOAD_DWORDX4_ST 96, 0, implicit
$exec, implicit $flat_scr :: (load (s128) from %stack.17 + 32, align 4,
addrspace 5)
$agpr31 = COPY $agpr112, implicit
$agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31
$agpr30 = COPY $agpr208, implicit
$agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31
$agpr28_agpr29 = SCRATCH_LOAD_DWORDX2_ST 112, 0, implicit $exec,
implicit $flat_scr, implicit-def
$agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31
:: (load (s64) from %stack.17 + 48, align 4, addrspace 5)
where `$agpr30 = COPY $agpr208` would be optimized away by `machine-cp`
pass. Instead, change to:
$agpr28_agpr29 = SCRATCH_LOAD_DWORDX2_ST 112, 0, implicit $exec,
implicit $flat_scr :: (load (s64) from %stack.17 + 48, align 4,
addrspace 5)
Fixes #131386.
Made the simple fix, but I'm not completely comfortable with this change
since the reason for the previous inclusion of `IsLastSubReg` is unclear
to me.
@krzysz00
Commit: 15eb6f50b947f59b265fd092d6a97c51e5742e6b
https://github.com/llvm/llvm-project/commit/15eb6f50b947f59b265fd092d6a97c51e5742e6b
Author: joaosaffran <joao.saffran at microsoft.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
Log Message:
-----------
fix naming
Commit: b32c6d18a458d8a4d18f5b3efa5a9d7ffb2abba9
https://github.com/llvm/llvm-project/commit/b32c6d18a458d8a4d18f5b3efa5a9d7ffb2abba9
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_affinity.cpp
M openmp/runtime/src/kmp_platform.h
M openmp/runtime/src/kmp_wrapper_getpid.h
Log Message:
-----------
[OpenMP] Fix KMP_OS_AIX handling (#138499)
When building `openmp` on Linux/sparc64, I get
```
In file included fromopenmp/runtime/src/kmp_utility.cpp:16:
openmp/runtime/src/kmp_wrapper_getpid.h:47:2: warning: No gettid found, use getpid instead [-W#warnings]
47 | #warning No gettid found, use getpid instead
| ^
```
This is highly confusing since `<sys/syscall.h>` **does** define
`SYS_gettid` and the header is supposed to be included:
```
#if !defined(KMP_OS_AIX) && !defined(KMP_OS_HAIKU)
#include <sys/syscall.h>
#endif
```
However, this actually is **not** the case for two reasons:
- `KMP_OS_HAIKU` is always defined, either as 1 on Haiku or as 0
otherwise.
- `KMP_OS_AIX` is even worse: it is only defined as 1 on on AIX, but
undefined otherwise.
All those `KMP_OS_*` macros are supposed to always be defined as 1/0 as
appropriate, and to be checked with `#if`, not `#ifdef`. AIX is
violating this, causing the problem above.
Other targets probably get `<sys/syscall.h>` indirectly otherwise, but
Linux/sparc64 does not.
This patch fixes this by also defining `KMP_OS_AIX` as 0 on other OSes
and changing the checks to `#if` as necessary.
Tested on `sparc64-unknown-linux-gnu`, `sparcv9-sun-solaris2.11`,
`amd64-pc-solaris2.11`, and `x86_64-pc-linux-gnu`.
Commit: c296b1258c418ab069447eb137dd15012ef8dd96
https://github.com/llvm/llvm-project/commit/c296b1258c418ab069447eb137dd15012ef8dd96
Author: Volodymyr Sapsai <vsapsai at apple.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/lib/Lex/PPExpressions.cpp
M clang/unittests/Lex/PPCallbacksTest.cpp
Log Message:
-----------
[clang] Provide to `PPCallbacks` full expression range even in single file parse mode. (#138358)
Restore the behavior existing prior to
fe2eefc4718f57e1753f7bd51c158fc03d70b34f. Make reporting of unevaluated
directive source range more consistent and with fewer assumptions. In
case of a failed evaluation don't assume any specific token and don't
assume correct `PPValue` range tracking.
Commit: c275fdc0bca34b2e53e00435fc72b0ca4b736348
https://github.com/llvm/llvm-project/commit/c275fdc0bca34b2e53e00435fc72b0ca4b736348
Author: Howard Chu <1007273067 at qq.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M libc/docs/gpu/rpc.rst
Log Message:
-----------
[libc][gpu][docs] Fix typos in GPU libc's documentation (#138565)
Fix typos in GPU libc's documentation about the rpc implementation.
Commit: d4706e17f55d058316d1cc3ce86bee14ad11f5d6
https://github.com/llvm/llvm-project/commit/d4706e17f55d058316d1cc3ce86bee14ad11f5d6
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
A llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-vgpr16-to-spgr32.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] readfirstlane for vgpr16 copy to sgpr32 (#118037)
i16 can be selected into sgpr32 or vgpr16 in isel lowering in true16
mode. And thus, it creates cases that we copy from vgpr16 to sgpr32 in
ext selection and this seems inevitable without sgpr16 support.
legalize the src/dst reg when we decide to lower this special copy to a
readfirstlane in fix-sgpr-copy pass and add a lit test
Commit: 1ff2953f5e393eb8634ea3c4ccc85221e76dfcb9
https://github.com/llvm/llvm-project/commit/1ff2953f5e393eb8634ea3c4ccc85221e76dfcb9
Author: jimingham <jingham at apple.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
R lldb/test/API/macosx/branch-islands/Makefile
R lldb/test/API/macosx/branch-islands/TestBranchIslands.py
R lldb/test/API/macosx/branch-islands/foo.c
R lldb/test/API/macosx/branch-islands/main.c
R lldb/test/API/macosx/branch-islands/padding1.s
R lldb/test/API/macosx/branch-islands/padding2.s
Log Message:
-----------
Revert "Handle step-in over a Darwin "branch island". (#138330)" (#138569)
This reverts commit 1ba89ad2c6e405bd5ac0c44e2ee5aa5504c7aba1.
This was failing on the Green Dragon bot, which has an older OS than
have on hand, so I'll have to dig up one and see why it's failing there.
Commit: 02e0a954a014bc44796c84abe5445ae0d20eeeb5
https://github.com/llvm/llvm-project/commit/02e0a954a014bc44796c84abe5445ae0d20eeeb5
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
Log Message:
-----------
[HLSL] Handle init list with OpaqueValueExprs in CGExprScalar (#138541)
When an HLSL Init list is producing a Scalar, handle OpaqueValueExprs in
the Init List with 'emitInitListOpaqueValues'
Copied from 'AggExprEmitter::VisitCXXParenListOrInitListExpr'
Closes #136408
---------
Co-authored-by: Chris B <beanz at abolishcrlf.org>
Commit: 93509064a61973c2e696607e4802f73c32dbac83
https://github.com/llvm/llvm-project/commit/93509064a61973c2e696607e4802f73c32dbac83
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.h
M llvm/test/CodeGen/ARM/shouldRewriteCopySrc.ll
Log Message:
-----------
Revert "ARM: Remove override of shouldRewriteCopySrc (#125219)"
This reverts commit 9d90f8ba7113fd9c7b2662682ad94b744ed2b78c.
Test fails the machine verifier. There's a bug somewhere, the
unrepresentable cases should be avoided by the default logic.
Commit: 46f5852ad9a8025bc30d10d4e88af99fae2edbc8
https://github.com/llvm/llvm-project/commit/46f5852ad9a8025bc30d10d4e88af99fae2edbc8
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/include/llvm/Demangle/Utility.h
Log Message:
-----------
[llvm] Fixed Demangle OutputBuffer (#138564)
The [llvm-clang-x86_64-expensive-checks-win](https://lab.llvm.org/buildbot/#/builders/14/builds/3075)
buildbot has been broken by #133249.
DemangleTests causes the exception 0x80000003 inside CRT in case of the debug build on Windows.
Commit: f5b7d42d3d5601323e43bdda105475a06a51c6a1
https://github.com/llvm/llvm-project/commit/f5b7d42d3d5601323e43bdda105475a06a51c6a1
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
Log Message:
-----------
[CIR] Upstream local VectorType with 0 init elements (#138346)
This change adds local zero initialization for VectorType
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: 673047ea2b49439d8b746adc03eb882d582e0625
https://github.com/llvm/llvm-project/commit/673047ea2b49439d8b746adc03eb882d582e0625
Author: enh-google <enh at google.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M libc/src/stdlib/qsort_r.h
Log Message:
-----------
qsort_r.h: qsort_r() is POSIX now. (#138545)
Commit: 9544943e2458597dc2cdcbed6de2a8d50da0d382
https://github.com/llvm/llvm-project/commit/9544943e2458597dc2cdcbed6de2a8d50da0d382
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
Log Message:
-----------
[lldb-dap] Specify the executable path in the attach info (#138557)
Currently, we are only using the executable name when attaching. The
AttachRequestHandler isn't setting the path in the attach info, which
means that we rely on the target when attaching by name. When wo go down
this path, we only look at the executable's filename, not its full path.
Since we know the full path from the attach arguments, we should specify
it in the attach info.
Fixes #138197
Commit: 75532b21b18d10f455b6d45983dc0a11a7d5434f
https://github.com/llvm/llvm-project/commit/75532b21b18d10f455b6d45983dc0a11a7d5434f
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Replace getPreheaderBBFor with getCFGPredecessor. (NFC)
Replace existing uses of getPreheaderBBFor with the newly added more
general getCFGPredecessor.
Commit: 28934fe4cf95512537a61d0f75a7155724050cdb
https://github.com/llvm/llvm-project/commit/28934fe4cf95512537a61d0f75a7155724050cdb
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/module-roundtrip.mlir
M mlir/test/Target/LLVMIR/Import/import-failure.ll
M mlir/test/Target/LLVMIR/Import/module-flags.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[MLIR][LLVM] Add ProfileSummary module flag support (#138070)
Add one more of these module flags.
Unlike "CG Profile", LLVM proper does not verify the content of the
metadata, but returns a nullptr in case it's ill-formed (it's up to the
user to take action). This prompted me to implement warning checks,
preventing the importer to consume broken data.
Commit: 29e4fb64b3253c5fcf4ddd928291855ec247220a
https://github.com/llvm/llvm-project/commit/29e4fb64b3253c5fcf4ddd928291855ec247220a
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/LLVMImportInterface.cpp
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Target/LLVMIR/Import/intrinsic-prefer-unregistered.ll
M mlir/test/Target/LLVMIR/Import/intrinsic-unregistered.ll
Log Message:
-----------
[MLIR][LLVM] Importer: fix void returning intrinsic calls (#138325)
Commit: 7aa67378f01f9b9c69724f72659e0b5a22300703
https://github.com/llvm/llvm-project/commit/7aa67378f01f9b9c69724f72659e0b5a22300703
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/CMakeLists.txt
M llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.h
M llvm/lib/Target/Sparc/SparcInstrInfo.td
A llvm/lib/Target/Sparc/SparcSelectionDAGInfo.cpp
A llvm/lib/Target/Sparc/SparcSelectionDAGInfo.h
M llvm/lib/Target/Sparc/SparcSubtarget.cpp
M llvm/lib/Target/Sparc/SparcSubtarget.h
Log Message:
-----------
[Sparc] TableGen-erate SDNode descriptions (#138450)
Part of #119709.
Commit: 9281947a7dd8ae40c70548989cb0bbbf27e6cd10
https://github.com/llvm/llvm-project/commit/9281947a7dd8ae40c70548989cb0bbbf27e6cd10
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
Log Message:
-----------
[NFC][TableGen] Code cleanup in CodeGenRegister (#137994)
- Use range for loops.
- Wrap complex LLVM_DEBUG() macros in {} to have clang-format format the
contents similar to regular code.
- Extract repeated code snippets for debug dumping into helper lambda.
- Add `BitsInit::getBits()` to get all contained bits.
Commit: 00e7a0229525075362dc6e8625fa662799eac5fc
https://github.com/llvm/llvm-project/commit/00e7a0229525075362dc6e8625fa662799eac5fc
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetSchedule.h
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
M llvm/lib/CodeGen/TargetSchedule.cpp
M llvm/test/CodeGen/AMDGPU/mai-hazards-gfx942.mir
A llvm/test/CodeGen/AMDGPU/sched-no-schedmodel.mir
Log Message:
-----------
[ScheduleDAG] Allow disabling the SchedModel / Itineraries during Scheduling (#138057)
This provides the `disable-schedmodel-in-sched-mi` flag. Using this, we
will disable the SchedModel / Itineraries during scheduling. This has
the effect of not using any latency / hardware resource information for
scheduling decisions.
We have the `schedmodel` flag, but this disables the `SchedModel` for
all passes. This allows disabling only for scheduling while preserving
the behavior of other passes (e.g. MachineLICM). This is conceptually
similar to other flags like `enable-aa-sched-mi`
Commit: c0a264e6a905b1b97755ca9bb1ac82790e0e3d1b
https://github.com/llvm/llvm-project/commit/c0a264e6a905b1b97755ca9bb1ac82790e0e3d1b
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/include/llvm/IR/InstVisitor.h
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
Log Message:
-----------
[IntrinsicInst] Remove MemCpyInlineInst and MemSetInlineInst [nfc] (#138568)
I'm looking for ways to simplify the Mem*Inst class structure, and these
two seem to have fairly minimal justification, so let's remove them.
Commit: 25fc52e655fb4bfd3bb89948d5cbfe011e1b8984
https://github.com/llvm/llvm-project/commit/25fc52e655fb4bfd3bb89948d5cbfe011e1b8984
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/include/__configuration/availability.h
A libcxx/test/libcxx/vendor/apple/disable-availability.sh.cpp
Log Message:
-----------
[libc++] Re-introduce _LIBCPP_DISABLE_AVAILABILITY (#134158)
The `_LIBCPP_DISABLE_AVAILABILITY` macro was removed in afae1a5f32bb as an
intended no-op. It turns out that some projects are making use of that
macro to work around a Clang bug with availability annotations that
still exists: https://github.com/llvm/llvm-project/issues/134151.
Since that Clang bug still hasn't been fixed, I feel that we must sill
honor that unfortunate macro until we've figured out how to get rid of
it without breaking code.
Commit: 04364fb888eea6db9811510607bed4b200bcb082
https://github.com/llvm/llvm-project/commit/04364fb888eea6db9811510607bed4b200bcb082
Author: Kees Cook <kees at kernel.org>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/test/Sema/init-randomized-struct.c
Log Message:
-----------
[randstruct] Also randomize composite function pointer structs (#138385)
Check for struct members that are structs filled only with function
pointers by recursively examining it. Since the lamba
IsFunctionPointerOrForwardDecl cannot call itself directly, move it into
a helper function, EntirelyFunctionPointers, so it can be called from
the lambda.
Add test for composite function pointer structs getting automatically
randomized.
Add more tests for validating automatic randomization vs explicitly
annotated with "randomize_layout", and excluded with
"no_randomize_layout".
Reorder the "should we randomize?" "if" statement to check for
enablement before checking for Record details.
Fixes #138355
Commit: dfcb8cb2a92c9f72ddde5ea08dadf2f640197d32
https://github.com/llvm/llvm-project/commit/dfcb8cb2a92c9f72ddde5ea08dadf2f640197d32
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M offload/DeviceRTL/include/Synchronization.h
Log Message:
-----------
[OpenMP] Add pre sm_70 load hack back in (#138589)
Summary:
Different ordering modes aren't supported for an atomic load, so we just
do an add of zero as the same thing. It's less efficient, but it works.
Fixes https://github.com/llvm/llvm-project/issues/138560
Commit: 230f332cf0139fed88145c9d2dd410c36348f2e4
https://github.com/llvm/llvm-project/commit/230f332cf0139fed88145c9d2dd410c36348f2e4
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M libc/src/sys/stat/linux/chmod.cpp
Log Message:
-----------
[libc] Swap order of syscall on chmod (#138427)
We define SYS_fchmodat2 on libc but the syscall is not available on old
kernels, so prefer the SYS_fchmodat version when possible.
Commit: 3ceec268413860b466b14600ce67d8bbd09ff75c
https://github.com/llvm/llvm-project/commit/3ceec268413860b466b14600ce67d8bbd09ff75c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attachByPortNum.py
M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
Log Message:
-----------
[lldb-dap] Give attach test binaries unique names (#138435)
Give the test binaries used for attaching unique names to avoid
accidentally attaching to the wrong binary.
Fixes #138197
Commit: a04ab7b81f5f6cc2e00b30007d267b19b0095157
https://github.com/llvm/llvm-project/commit/a04ab7b81f5f6cc2e00b30007d267b19b0095157
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M flang/test/Lower/volatile-derived-type.f90
Log Message:
-----------
[flang][nfc] Fix test unneccesarily checking type layout (#138585)
Test added in #138339 unneccesarily had CHECK lines with the type
layout, which fails on aix.
Commit: f1447dab30547c73881619980ff054cf833d0ec9
https://github.com/llvm/llvm-project/commit/f1447dab30547c73881619980ff054cf833d0ec9
Author: Koakuma <koachan at protonmail.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.h
M llvm/lib/Target/Sparc/SparcInstrVIS.td
A llvm/test/CodeGen/SPARC/float-vis3.ll
Log Message:
-----------
[SPARC] Use op-then-neg instructions when we have VIS3 (#138603)
Commit: b86b5296cb649c06abbb6471d6f0f777b91a29c9
https://github.com/llvm/llvm-project/commit/b86b5296cb649c06abbb6471d6f0f777b91a29c9
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
Log Message:
-----------
[lldb][test] Mark DynamicValueTestCase XFAIL on Windows
The newly added test test_from_forward_decl in TestDynamicValue.py
by PR #137974 is failing on Windows due to issues with dynamic type
resolution. This is a known issue tracked in PR24663.
LLDB Windows on Arm Buildbot Failure:
https://lab.llvm.org/buildbot/#/builders/141/builds/8391
This change marks the test as XFAIL on Windows using the consistent
with how similar tests in the same file are handled.
Commit: 492ad848b1c319ad9641208aaadb41bc575a9c3f
https://github.com/llvm/llvm-project/commit/492ad848b1c319ad9641208aaadb41bc575a9c3f
Author: Steven Perron <stevenperron at google.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVIRMapping.h
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
M llvm/test/CodeGen/SPIRV/hlsl-resources/StructuredBuffer.ll
A llvm/test/CodeGen/SPIRV/spirv-explicit-layout.ll
Log Message:
-----------
[SPIRV] Add explicit layout (#135789)
Adds code to add offset decorations when needed. This could cause a
type mismatch for memory instructions. We add code to fix up OpLoad
instructions, so that we could get some tests. Other memory operations
will be handled in another PR.
Part of https://github.com/llvm/llvm-project/issues/134119.
Commit: 3e235a7c601d80d6e8a0392ebec859068659ec19
https://github.com/llvm/llvm-project/commit/3e235a7c601d80d6e8a0392ebec859068659ec19
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M lldb/include/lldb/Core/FormatEntity.h
M lldb/source/Core/FormatEntity.cpp
M lldb/unittests/Core/FormatEntityTest.cpp
Log Message:
-----------
[lldb] Support alternatives for scope format entries (#137751)
This PR implements support for specifying multiple alternatives for
scope format entries. Scopes are used to enclose things that should only
be printed when everything in the scope resolves.
For example, the following scope only resolves if both
`${line.file.basename}` and `${line.number}` resolve. `
```
{ at ${line.file.basename}:${line.number}}
```
However, the current implementation doesn't let you specify what to
print when they don't resolve. This PR adds support for specifying
multiple alternative scopes, which are evaluated left-to-right.
For example:
```
{ at ${line.file.basename}:${line.number}| in ${function.name}| <unknown location>}
```
This will resolve to:
- ` at ${line.file.basename}:${line.number}` if the corresponding
variables resolve.
- Otherwise, this resolves to ` in ${function.name}` if
`${function.name}` resolves.
- Otherwise, this resolves to ` <unknown location>` which always
resolves.
This PR makes the `|` character a special character within a scope, but
allows it to be escaped.
I ended up with this approach because it fit quite nicely in the
existing architecture of the format entries and by limiting the
functionality to scopes, it sidesteps some complexity, like dealing with
recursion.
Commit: 0bd065dc943ff65e0749a9f2a7b7a672acd45193
https://github.com/llvm/llvm-project/commit/0bd065dc943ff65e0749a9f2a7b7a672acd45193
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp
M llvm/test/CodeGen/AMDGPU/coalesce-copy-to-agpr-to-av-registers.mir
Log Message:
-----------
[AMDGPU] Extend test coverage for cross RC register coalescing (#132137)
Add some test cases for subregister to subregister copies. Also add
cases where the register class is not required by the instruction.
Commit: 37da5a10f0cf8375c8d1237e9015efae8a8161c1
https://github.com/llvm/llvm-project/commit/37da5a10f0cf8375c8d1237e9015efae8a8161c1
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
M llvm/lib/Target/NVPTX/NVPTXUtilities.h
M llvm/lib/Target/NVPTX/NVVMIntrRange.cpp
M llvm/test/CodeGen/NVPTX/intr-range.ll
M llvm/test/CodeGen/NVPTX/intrinsic-old.ll
Log Message:
-----------
[NVPTX] Add ranges to intrinsic definitions, cleanup NVVMIntrRange (#138338)
Pull the global intrinsic ranges out of NVVMIntrRange and into the
intrinsic table-gen definitions. Also improve range inference for
cluster SReg intrinsics.
Commit: 7682f663b571830c937156a338017caf0c83e7cd
https://github.com/llvm/llvm-project/commit/7682f663b571830c937156a338017caf0c83e7cd
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Target/LLVMIR/Import/import-failure.ll
M mlir/test/Target/LLVMIR/Import/instructions.ll
Log Message:
-----------
[MLIR][LLVMIR] Import calls with mismatching signature as indirect call (#135895)
LLVM IR currently [accepts](https://godbolt.org/z/nqnEsW1ja):
```
define void @incompatible_call_and_callee_types() {
call void @callee(i64 0)
ret void
}
define void @callee({ptr, i64}, i32) {
ret void
}
```
This currently fails to import. Even though these constructs are
dangerous and probably indicate some ODR violation (or optimization
bug), they are "valid" and should be imported into LLVM IR dialect. This
PR implements that by using an indirect call to represent it.
Translation already works nicely and outputs the same source llvm IR
file.
The error is now a warning, the tests in
`mlir/test/Target/LLVMIR/Import/import-failure.ll` already use `CHECK`
lines, so no need to add extra diagnostic tests.
Commit: 8b9ae65d51a14cac5a312bb19cb4757a88fc240b
https://github.com/llvm/llvm-project/commit/8b9ae65d51a14cac5a312bb19cb4757a88fc240b
Author: Jeffrey Byrnes <Jeffrey.Byrnes at amd.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp
M llvm/test/CodeGen/AMDGPU/coalesce-copy-to-agpr-to-av-registers.mir
Log Message:
-----------
Revert "[AMDGPU] Extend test coverage for cross RC register coalescing (#132137)"
This reverts commit 0bd065dc943ff65e0749a9f2a7b7a672acd45193.
Commit: 1c1238d3615a7e1a99570d1e02de3b538d2e0669
https://github.com/llvm/llvm-project/commit/1c1238d3615a7e1a99570d1e02de3b538d2e0669
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
Log Message:
-----------
[lldb-dap] Don't error out when the process is in eStateUnloaded (#138601)
DAP::WaitForProcessToStop treats the process in eStateUnloaded as an
error. The process is in this state when it has just been created
(before an attach or launch) or when it's restarted. Neither should be
treated as errors.
The current implementation can trigger this error (and a corresponding
test failure) when we call WaitForProcessToStop after attaching in
asynchronous mode (for example when using ConnectRemote which is always
asynchronous (due to a bug).
Commit: 43eafc0c4aca0b2fd159c09d4b162c1941b4f4ed
https://github.com/llvm/llvm-project/commit/43eafc0c4aca0b2fd159c09d4b162c1941b4f4ed
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
A llvm/test/Transforms/GVNSink/pr138345.ll
Log Message:
-----------
[llvm][gvn-sink] Don't try to sink inline asm (#138414)
Fixes #138345. Before this patch, gvn-sink would try to sink inline
assembly statements. Other GVN passes avoid them (see
https://github.com/llvm/llvm-project/blob/b4fac94181c4cf17dbb7ecc2ae975712b0e4a6d1/llvm/lib/Transforms/Scalar/GVN.cpp#L2932
Similarly, gvn-sink should skip these instructions, since they are not
safe to move. To do this, we update the early exit in
canReplaceOperandWithVariable, since it should have caught this case.
It's more efficient to also skip numbering in GVNSink if the instruction
is InlineAsm, but that should be infrequent.
The test added is reduced from a failure when compiling Fuchsia with
gvn-sink.
Commit: 8404b29b4151d95135ccc8d0d985be5ec8bb6f49
https://github.com/llvm/llvm-project/commit/8404b29b4151d95135ccc8d0d985be5ec8bb6f49
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
Log Message:
-----------
[llvm][NFC] Fix bracing from #138414 (#138620)
I had forgotten to upload the formatting change.
Commit: 5709a2c595073d3e05275f098149d58bbf626080
https://github.com/llvm/llvm-project/commit/5709a2c595073d3e05275f098149d58bbf626080
Author: Nico Weber <thakis at chromium.org>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Sparc/BUILD.gn
Log Message:
-----------
[gn build] Port 7aa67378f01f
Commit: ca1ebff9decdd64804079a3e3ae62f613ca76a9e
https://github.com/llvm/llvm-project/commit/ca1ebff9decdd64804079a3e3ae62f613ca76a9e
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
A clang/test/Driver/print-enabled-extensions/riscv-sifive-p870.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Add processor definition for SiFive P870 (#137725)
SiFive P870 is a RVA23 compatible high-performance CPU:
https://www.sifive.com/cores/performance-p800
Scheduling model will be added in a follow-up PR.
Commit: 658cac84a1c235fd579899d047bebcbe64572447
https://github.com/llvm/llvm-project/commit/658cac84a1c235fd579899d047bebcbe64572447
Author: Jim Lin <jim at andestech.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsRISCVXCV.td
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/Headers/riscv_corev_alu.h
M clang/test/CodeGen/RISCV/riscv-xcvalu-c-api.c
M clang/test/CodeGen/RISCV/riscv-xcvalu.c
M llvm/test/CodeGen/RISCV/xcvalu.ll
Log Message:
-----------
[RISCV] Rename XCValu intrinsic name *_slet(u) to *_sle(u)) (#138498)
The instruction name and intrinsic name have been renamed to sle(u). The
`t` was removed. Please refer to
https://github.com/openhwgroup/core-v-sw/blob/master/specifications/corev-builtin-spec.md.
Commit: c6c2e21028cadef854cf22f6ecaa5eb9d224b76d
https://github.com/llvm/llvm-project/commit/c6c2e21028cadef854cf22f6ecaa5eb9d224b76d
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Update Sparc (for #138450)
Commit: 6234aba28a956f3577e526d225b20874822e9c25
https://github.com/llvm/llvm-project/commit/6234aba28a956f3577e526d225b20874822e9c25
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Target/X86/X86FrameLowering.cpp
Log Message:
-----------
[llvm] No DWARF CFI for UEFI (#138602)
UEFI target uses WinCFI. Update emitEpilogue function to reflect this.
Commit: 425340511f39068b4839ae05af559f924b4cb534
https://github.com/llvm/llvm-project/commit/425340511f39068b4839ae05af559f924b4cb534
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/test/MC/AArch64/adrp-auth-relocation.s
M llvm/test/MC/AArch64/error-location.s
M llvm/test/MC/AArch64/ilp32-diagnostics.s
Log Message:
-----------
AArch64: Clean up relocation error messages.
"<foo> relocation is not supported in ILP32" is more accurate than
what we have now.
Also, remove "LP64 eqv:" annotations because they create a maintenance
burden and are unlikely to be helpful.
Reviewers: kovdan01, MaskRay
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/138625
Commit: 3f1267e1b39c31cea390c7425e88b01d3304d8c7
https://github.com/llvm/llvm-project/commit/3f1267e1b39c31cea390c7425e88b01d3304d8c7
Author: Alexey Bader <alexey.bader at intel.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
Log Message:
-----------
[NFC][clang-offload-bundler] Simplify main function (#138555)
Applied "no else after return" rule from the LLVM's Coding Standards
https://llvm.org/docs/CodingStandards.html#don-t-use-else-after-a-return
Commit: cd6c4b61034850fffcb221a449a8ee1fdd8ada8a
https://github.com/llvm/llvm-project/commit/cd6c4b61034850fffcb221a449a8ee1fdd8ada8a
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
M llvm/test/CodeGen/AMDGPU/mad-mix.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] optimize codegen for mad-mix in true16 (#124995)
remove unnecessary COPY for SDAG for mad-mix pattern
Commit: ffc5f79e2aeda12d8c185d9e838f2c8bfd45a01d
https://github.com/llvm/llvm-project/commit/ffc5f79e2aeda12d8c185d9e838f2c8bfd45a01d
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
Log Message:
-----------
LoongArch: Replace most Specifier members with raw relocation types
Follow Sparc.
Commit: f1985d583d283fc662c94ef39feeb58bed19ac2c
https://github.com/llvm/llvm-project/commit/f1985d583d283fc662c94ef39feeb58bed19ac2c
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
A clang/test/SemaCXX/type-aware-new-delete-transparent-contexts.cpp
Log Message:
-----------
[clang] Ensure type aware allocators handle transparent decl contexts (#138616)
We were testing the immediate DeclContext for found new and delete
operators, which is incorrect if the declarations are contained by a
transparent decl as can be induced with extern or export statements.
Commit: 4ff98fd2f8f8c086f097d704308dc8f1d5b79f0b
https://github.com/llvm/llvm-project/commit/4ff98fd2f8f8c086f097d704308dc8f1d5b79f0b
Author: Boaz Brickner <brickner at google.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/include/llvm/Linker/Linker.h
Log Message:
-----------
[Linker] Update `linkInModule()` comment following change from `bool OverrideSymbols` to `unsigned Flags` (#138531)
Original change:
https://github.com/llvm/llvm-project/commit/020d4fb17f92410117bc858f586fead7c5088696.
Commit: ca59a2b86811cbe3ef993ca9b55f6d03a1effcf3
https://github.com/llvm/llvm-project/commit/ca59a2b86811cbe3ef993ca9b55f6d03a1effcf3
Author: quic_hchandel <quic_hchandel at quicinc.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqcibm-valid.s
M llvm/test/MC/RISCV/xqcicm-valid.s
Log Message:
-----------
[RISCV] Add compress patterns for qc.extu and qc.mveqi (#138630)
Commit: d83983999d975357ada46d482c29b83fac41b90c
https://github.com/llvm/llvm-project/commit/d83983999d975357ada46d482c29b83fac41b90c
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M openmp/runtime/src/kmp_global.cpp
Log Message:
-----------
[OpenMP] Use TLS for gtid on Solaris (#138508)
When running the `openmp` testsuite on Solaris/amd64, many tests `FAIL`
like
```
# | OMP: Error #11: Stack overflow detected for OpenMP thread #1
```
In a `Debug` build, I also get
```
# | Assertion failure at kmp_runtime.cpp(203): __kmp_gtid_get_specific() < 0 || __kmp_gtid_get_specific() == i.
```
Further investigation shows that just setting `__kmp_gtid_mode` to 3
massively reduces the number of failures.
Tested on `amd64-pc-solaris2.11` and `x86_64-pc-linux-gnu`.
Commit: 30ec488716263200f7e6004c4670c77f6ec9fab9
https://github.com/llvm/llvm-project/commit/30ec488716263200f7e6004c4670c77f6ec9fab9
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M openmp/runtime/src/kmp_wrapper_getpid.h
Log Message:
-----------
[OpenMP] Use pthread_self for __kmp_gettid on Solaris (#138510)
Building `openmp` on Solaris/amd64, I get
```
In file included from openmp/runtime/src/kmp_utility.cpp:16:
openmp/runtime/src/kmp_wrapper_getpid.h:47:2: warning: No gettid found, use getpid instead [-W#warnings]
47 | #warning No gettid found, use getpid instead
| ^
```
There's no reason to do this: Solaris can use `pthread_self` just as AIX
does.
Tested on `amd64-pc-solaris2.11` and `x86_64-pc-linux-gnu`.
Commit: c24b9ca3da1a36c78652f5c2e046a91af1b63aed
https://github.com/llvm/llvm-project/commit/c24b9ca3da1a36c78652f5c2e046a91af1b63aed
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M openmp/runtime/src/z_Linux_asm.S
Log Message:
-----------
[OpenMP] Provide __kmp_unnamed_critical_addr on SPARC (#138517)
`libomp.so` currently fails to link on SPARC, both Solaris/sparcv9 and
Linux/sparc64:
```
Undefined first referenced
symbol in file
__kmp_unnamed_critical_addr projects/openmp/runtime/src/CMakeFiles/omp.dir/kmp_gsupport.cpp.o
ld: fatal: symbol referencing errors
```
This patch provides the necessary definition. While at it, I noticed
that on non-x86 targets the symbol wasn't marked as `@object`, which
this patch corrects, too.
Tested on `sparcv9-sun-solaris2.11`, `sparc64-unknown-linux-gnu`,
`amd64-pc-solaris2.11`, and `x86_64-pc-linux-gnu`.
Commit: 3f1eafaa04f1c04ae5c7aae3e452eb75c507584d
https://github.com/llvm/llvm-project/commit/3f1eafaa04f1c04ae5c7aae3e452eb75c507584d
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M openmp/runtime/src/kmp_affinity.h
Log Message:
-----------
[OpenMP] Provide __NR_sched_[gs]etaffinity on Linux/sparc64 (#138525)
`libomp` doesn't currently build on Linux/sparc64 due to lack of
`__NR_sched_setaffinity` and `__NR_sched_getaffinity` definitions.
This patch provides those.
Tested on `sparcv9-sun-solaris2.11`, `sparc64-unknown-linux-gnu`,
`amd64-pc-solaris2.11`, and `x86_64-pc-linux-gnu`.
Commit: bb2aa1adcc4ad1508b477a2f53aa4ab922b4f99f
https://github.com/llvm/llvm-project/commit/bb2aa1adcc4ad1508b477a2f53aa4ab922b4f99f
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Target/LLVMIR/nvvm/cvt_fp6x2.mlir
A mlir/test/Target/LLVMIR/nvvm/cvt_fp8x2.mlir
M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
Log Message:
-----------
[MLIR][NVVM] Update support for conversions to f8x2 and f6x2 types (#137781)
This change:
- Adds the `cvt.f32x2.to.f8x2`, `cvt.f16x2.to.f8x2`, and
`cvt.bf16x2.to.f8x2`
Ops to the NVVM dialect for the conversions to `.e4m3x2`, `e5m2x2`,
and `.ue8m0x2` types.
- Renames the recently added `cvt.to.f6x2` Op to `cvt.f32x2.to.f6x2`
for consistency with the other conversion Ops.
For more information, see PTX ISA:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-cvt
Commit: 7aabf47522625e227433cc9603e0b6858c5dd66d
https://github.com/llvm/llvm-project/commit/7aabf47522625e227433cc9603e0b6858c5dd66d
Author: Clément Fournier <clement.fournier at tu-dresden.de>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Passes.h
M mlir/include/mlir/Dialect/Affine/Passes.td
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Affine/Transforms/RaiseMemrefDialect.cpp
A mlir/test/Dialect/Affine/raise-memref.mlir
Log Message:
-----------
[mlir][affine] Add pass --affine-raise-from-memref (#138004)
This adds a pass that converts memref.load/store into affine.load/store.
This is useful as those memref operators are ignored by passes like
--affine-scalrep as they don't implement the
Affine[Read/Write]OpInterface. Doing this allows you to put as much of
your program in affine form before you apply affine optimization passes.
This also slightly changes the implementation of affine::isValidDim. The
previous implementation allowed values from the iter_args of affine
loops to be used as valid dims. I think this doesn't make sense and what
was meant is just the induction vars. In the real world, there is little
reason to find an index in the iter_args, but I wrote that in my tests
and found out it was treated as an affine dim, so corrected that.
Co-authored-by: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Rebased from #114032.
Commit: fdbc30a383973d89d738283e733ba0db98df6a77
https://github.com/llvm/llvm-project/commit/fdbc30a383973d89d738283e733ba0db98df6a77
Author: Rohit Aggarwal <44664450+rohitaggarwal007 at users.noreply.github.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/buildvec-widen-dotproduct.ll
Log Message:
-----------
[X86][DAGCombiner][SelectionDAG] - Fold Zext Build Vector to Bitcast of widen Build Vector (#135010)
I am working on a problem in which a kernel is SLP vectorized and lead
to generation of insertelements followed by zext. On lowering, the
assembly looks like below:
vmovd %r9d, %xmm0
vpinsrb $1, (%rdi,%rsi), %xmm0, %xmm0
vpinsrb $2, (%rdi,%rsi,2), %xmm0, %xmm0
vpinsrb $3, (%rdi,%rcx), %xmm0, %xmm0
vpinsrb $4, (%rdi,%rsi,4), %xmm0, %xmm0
vpinsrb $5, (%rdi,%rax), %xmm0, %xmm0
vpinsrb $6, (%rdi,%rcx,2), %xmm0, %xmm0
vpinsrb $7, (%rdi,%r8), %xmm0, %xmm0
vpmovzxbw %xmm0, %xmm0 # xmm0 =
xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero
vpmaddwd (%rdx), %xmm0, %xmm0
After all the insrb, xmm0 looks like
xmm0=xmm0[0],xmm0[1],xmm0[2],xmm0[3],xmm0[4],xmm0[5],xmm0[6],xmm0[7],zero,zero,zero,zero,zero,zero,zero,zero
Here vpmovzxbw perform the extension of i8 to i16. But it is expensive
operation and I want to remove it.
Optimization
Place the value in correct location while inserting so that zext can be
avoid.
While lowering, we can write a custom lowerOperation for
zero_extend_vector_inreg opcode. We can override the current default
operation with my custom in the legalization step.
The changes proposed are state below:
vpinsrb $2, (%rdi,%rsi), %xmm0, %xmm0
vpinsrb $4, (%rdi,%rsi,2), %xmm0, %xmm0
vpinsrb $6, (%rdi,%rcx), %xmm0, %xmm0
vpinsrb $8, (%rdi,%rsi,4), %xmm0, %xmm0
vpinsrb $a, (%rdi,%rax), %xmm0, %xmm0
vpinsrb $c, (%rdi,%rcx,2), %xmm0, %xmm0
vpinsrb $e, (%rdi,%r8), %xmm0, %xmm0 # xmm0 =
xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero
vpmaddwd (%rdx), %xmm0, %xmm0
More details in the discourse topic
[https://discourse.llvm.org/t/improve-the-gathering-of-the-elements-so-that-unwanted-ext-operations-can-be-avoided/85443](url)
---------
Co-authored-by: Rohit Aggarwal <Rohit.Aggarwal at amd.com>
Commit: f54f4cf262bd286c6f14f4faae035a4df9db32e8
https://github.com/llvm/llvm-project/commit/f54f4cf262bd286c6f14f4faae035a4df9db32e8
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqcisync-valid.s
Log Message:
-----------
[RISCV] Add compress patterns for Xqcisync instructions (#138629)
Commit: fd161cf56f4356c38f82a6d68a80236e00bce39d
https://github.com/llvm/llvm-project/commit/fd161cf56f4356c38f82a6d68a80236e00bce39d
Author: Matthias Springer <me at m-sp.org>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
R mlir/test/Integration/Dialect/MemRef/reinterpret-cast-runtime-verification.mlir
Log Message:
-----------
[mlir][memref] Remove runtime verification for `memref.reinterpret_cast` (#132547)
The runtime verification code used to verify that the result of a
`memref.reinterpret_cast` is in-bounds with respect to the source
memref. This is incorrect: `memref.reinterpret_cast` allows users to
construct almost arbitrary memref descriptors and there is no
correctness expectation.
This op is supposed to be used when the user "knows what they are
doing." Similarly, the static verifier of `memref.reinterpret_cast` does
not verify in-bounds semantics either.
Commit: fbd9a3160b392c343f9ce24af0180d8b14c68dfe
https://github.com/llvm/llvm-project/commit/fbd9a3160b392c343f9ce24af0180d8b14c68dfe
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-uxt.ll
Log Message:
-----------
[AArch64][SVE] Combine UXT[BHW] intrinsics to AND. (#137956)
This patch combines uxt[bhw] intrinsics to and_u when the governing
predicate is all-true or the passthrough is undef (e.g. in cases of
``unknown'' merging). This improves code gen as the latter can be
emitted as AND immediate instructions.
For example, given:
```cpp
svuint64_t foo(svuint64_t x) {
return svextb_z(svptrue_b64(), x);
}
```
Currently:
```gas
foo:
ptrue p0.d
movi v1.2d, #0000000000000000
uxtb z0.d, p0/m, z0.d
ret
```
Becomes:
```gas
foo:
and z0.d, z0.d, #0xff
ret
```
Commit: 91ad90bc4cbd5dd8ba3e5d2c138d576e2ae748ab
https://github.com/llvm/llvm-project/commit/91ad90bc4cbd5dd8ba3e5d2c138d576e2ae748ab
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
A llvm/test/CodeGen/AArch64/misched-cutoff.mir
Log Message:
-----------
[MISched][NFC] Precommit test for #137988 (#138243)
Commit: fe1d1159be269309b5cbb9889c7ebe99cebfd940
https://github.com/llvm/llvm-project/commit/fe1d1159be269309b5cbb9889c7ebe99cebfd940
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/lib/IR/LLVMContextImpl.h
Log Message:
-----------
[KeyInstr] Fix DILocation AtomGroup/Rank bitfield packing for MSVC (#138292)
Follow up to #133477.
As nikic pointed out: We need to use uint64_t for both fields to get
actual bit packing with msvc (https://c.godbolt.org/z/1f556c1zb).
The cast to u8 in hash_combine prevents an increase in compile time
(+0.16% for stage1-O0-g on compile-time-tracker).
Commit: 3dc1f759e6abcd72ea9d3c33baeaf8043ed6f9a0
https://github.com/llvm/llvm-project/commit/3dc1f759e6abcd72ea9d3c33baeaf8043ed6f9a0
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M libcxx/include/__cxx03/__algorithm/equal.h
M libcxx/include/__cxx03/__algorithm/for_each.h
M libcxx/include/__cxx03/__algorithm/is_permutation.h
M libcxx/include/__cxx03/__algorithm/iterator_operations.h
M libcxx/include/__cxx03/__algorithm/make_projected.h
M libcxx/include/__cxx03/__algorithm/max.h
M libcxx/include/__cxx03/__algorithm/min.h
M libcxx/include/__cxx03/__algorithm/minmax.h
M libcxx/include/__cxx03/__algorithm/mismatch.h
M libcxx/include/__cxx03/__algorithm/search.h
M libcxx/include/__cxx03/__algorithm/shuffle.h
M libcxx/include/__cxx03/__algorithm/simd_utils.h
M libcxx/include/__cxx03/__algorithm/sort.h
M libcxx/include/__cxx03/__algorithm/three_way_comp_ref_type.h
M libcxx/include/__cxx03/__algorithm/uniform_random_bit_generator_adaptor.h
M libcxx/include/__cxx03/__algorithm/unwrap_iter.h
M libcxx/include/__cxx03/__algorithm/unwrap_range.h
M libcxx/include/__cxx03/__atomic/aliases.h
M libcxx/include/__cxx03/__atomic/atomic.h
M libcxx/include/__cxx03/__atomic/atomic_base.h
M libcxx/include/__cxx03/__atomic/atomic_flag.h
M libcxx/include/__cxx03/__atomic/atomic_init.h
M libcxx/include/__cxx03/__atomic/cxx_atomic_impl.h
M libcxx/include/__cxx03/__atomic/memory_order.h
M libcxx/include/__cxx03/__bit/countl.h
M libcxx/include/__cxx03/__bit/countr.h
M libcxx/include/__cxx03/__bit/popcount.h
M libcxx/include/__cxx03/__bit/rotate.h
M libcxx/include/__cxx03/__bit_reference
M libcxx/include/__cxx03/__chrono/duration.h
M libcxx/include/__cxx03/__chrono/system_clock.h
M libcxx/include/__cxx03/__chrono/time_point.h
M libcxx/include/__cxx03/__config
M libcxx/include/__cxx03/__configuration/language.h
M libcxx/include/__cxx03/__debug_utils/randomize_range.h
M libcxx/include/__cxx03/__exception/operations.h
M libcxx/include/__cxx03/__functional/binary_function.h
M libcxx/include/__cxx03/__functional/binary_negate.h
M libcxx/include/__cxx03/__functional/bind.h
M libcxx/include/__cxx03/__functional/binder1st.h
M libcxx/include/__cxx03/__functional/binder2nd.h
M libcxx/include/__cxx03/__functional/hash.h
M libcxx/include/__cxx03/__functional/identity.h
M libcxx/include/__cxx03/__functional/mem_fun_ref.h
M libcxx/include/__cxx03/__functional/operations.h
M libcxx/include/__cxx03/__functional/pointer_to_binary_function.h
M libcxx/include/__cxx03/__functional/pointer_to_unary_function.h
M libcxx/include/__cxx03/__functional/reference_wrapper.h
M libcxx/include/__cxx03/__functional/unary_function.h
M libcxx/include/__cxx03/__functional/unary_negate.h
M libcxx/include/__cxx03/__functional/weak_result_type.h
M libcxx/include/__cxx03/__fwd/array.h
M libcxx/include/__cxx03/__fwd/complex.h
M libcxx/include/__cxx03/__fwd/pair.h
M libcxx/include/__cxx03/__fwd/string.h
M libcxx/include/__cxx03/__fwd/tuple.h
M libcxx/include/__cxx03/__hash_table
M libcxx/include/__cxx03/__iterator/access.h
M libcxx/include/__cxx03/__iterator/advance.h
M libcxx/include/__cxx03/__iterator/back_insert_iterator.h
M libcxx/include/__cxx03/__iterator/bounded_iter.h
M libcxx/include/__cxx03/__iterator/cpp17_iterator_concepts.h
M libcxx/include/__cxx03/__iterator/distance.h
M libcxx/include/__cxx03/__iterator/front_insert_iterator.h
M libcxx/include/__cxx03/__iterator/insert_iterator.h
M libcxx/include/__cxx03/__iterator/istream_iterator.h
M libcxx/include/__cxx03/__iterator/istreambuf_iterator.h
M libcxx/include/__cxx03/__iterator/iterator_traits.h
M libcxx/include/__cxx03/__iterator/move_iterator.h
M libcxx/include/__cxx03/__iterator/next.h
M libcxx/include/__cxx03/__iterator/ostream_iterator.h
M libcxx/include/__cxx03/__iterator/ostreambuf_iterator.h
M libcxx/include/__cxx03/__iterator/prev.h
M libcxx/include/__cxx03/__iterator/reverse_iterator.h
M libcxx/include/__cxx03/__iterator/wrap_iter.h
M libcxx/include/__cxx03/__locale
M libcxx/include/__cxx03/__locale_dir/locale_base_api/ibm.h
M libcxx/include/__cxx03/__math/hypot.h
M libcxx/include/__cxx03/__memory/addressof.h
M libcxx/include/__cxx03/__memory/aligned_alloc.h
M libcxx/include/__cxx03/__memory/allocate_at_least.h
M libcxx/include/__cxx03/__memory/allocator.h
M libcxx/include/__cxx03/__memory/allocator_arg_t.h
M libcxx/include/__cxx03/__memory/allocator_traits.h
M libcxx/include/__cxx03/__memory/assume_aligned.h
M libcxx/include/__cxx03/__memory/auto_ptr.h
M libcxx/include/__cxx03/__memory/compressed_pair.h
M libcxx/include/__cxx03/__memory/construct_at.h
M libcxx/include/__cxx03/__memory/pointer_traits.h
M libcxx/include/__cxx03/__memory/raw_storage_iterator.h
M libcxx/include/__cxx03/__memory/shared_ptr.h
M libcxx/include/__cxx03/__memory/swap_allocator.h
M libcxx/include/__cxx03/__memory/temp_value.h
M libcxx/include/__cxx03/__memory/uninitialized_algorithms.h
M libcxx/include/__cxx03/__memory/unique_ptr.h
M libcxx/include/__cxx03/__memory/uses_allocator.h
M libcxx/include/__cxx03/__mutex/once_flag.h
M libcxx/include/__cxx03/__mutex/tag_types.h
M libcxx/include/__cxx03/__numeric/accumulate.h
M libcxx/include/__cxx03/__numeric/adjacent_difference.h
M libcxx/include/__cxx03/__numeric/inner_product.h
M libcxx/include/__cxx03/__numeric/partial_sum.h
M libcxx/include/__cxx03/__ostream/basic_ostream.h
M libcxx/include/__cxx03/__random/bernoulli_distribution.h
M libcxx/include/__cxx03/__random/binomial_distribution.h
M libcxx/include/__cxx03/__random/cauchy_distribution.h
M libcxx/include/__cxx03/__random/chi_squared_distribution.h
M libcxx/include/__cxx03/__random/discard_block_engine.h
M libcxx/include/__cxx03/__random/discrete_distribution.h
M libcxx/include/__cxx03/__random/exponential_distribution.h
M libcxx/include/__cxx03/__random/extreme_value_distribution.h
M libcxx/include/__cxx03/__random/fisher_f_distribution.h
M libcxx/include/__cxx03/__random/gamma_distribution.h
M libcxx/include/__cxx03/__random/generate_canonical.h
M libcxx/include/__cxx03/__random/geometric_distribution.h
M libcxx/include/__cxx03/__random/independent_bits_engine.h
M libcxx/include/__cxx03/__random/linear_congruential_engine.h
M libcxx/include/__cxx03/__random/lognormal_distribution.h
M libcxx/include/__cxx03/__random/mersenne_twister_engine.h
M libcxx/include/__cxx03/__random/negative_binomial_distribution.h
M libcxx/include/__cxx03/__random/normal_distribution.h
M libcxx/include/__cxx03/__random/piecewise_constant_distribution.h
M libcxx/include/__cxx03/__random/piecewise_linear_distribution.h
M libcxx/include/__cxx03/__random/poisson_distribution.h
M libcxx/include/__cxx03/__random/random_device.h
M libcxx/include/__cxx03/__random/seed_seq.h
M libcxx/include/__cxx03/__random/shuffle_order_engine.h
M libcxx/include/__cxx03/__random/student_t_distribution.h
M libcxx/include/__cxx03/__random/subtract_with_carry_engine.h
M libcxx/include/__cxx03/__random/uniform_int_distribution.h
M libcxx/include/__cxx03/__random/uniform_real_distribution.h
M libcxx/include/__cxx03/__random/weibull_distribution.h
M libcxx/include/__cxx03/__string/char_traits.h
M libcxx/include/__cxx03/__string/constexpr_c_functions.h
M libcxx/include/__cxx03/__system_error/error_category.h
M libcxx/include/__cxx03/__system_error/error_code.h
M libcxx/include/__cxx03/__system_error/error_condition.h
M libcxx/include/__cxx03/__thread/id.h
M libcxx/include/__cxx03/__thread/thread.h
M libcxx/include/__cxx03/__tree
M libcxx/include/__cxx03/__tuple/find_index.h
M libcxx/include/__cxx03/__tuple/make_tuple_types.h
M libcxx/include/__cxx03/__tuple/sfinae_helpers.h
M libcxx/include/__cxx03/__tuple/tuple_element.h
M libcxx/include/__cxx03/__tuple/tuple_indices.h
M libcxx/include/__cxx03/__tuple/tuple_like.h
M libcxx/include/__cxx03/__tuple/tuple_like_ext.h
M libcxx/include/__cxx03/__tuple/tuple_like_no_subrange.h
M libcxx/include/__cxx03/__tuple/tuple_size.h
M libcxx/include/__cxx03/__type_traits/add_const.h
M libcxx/include/__cxx03/__type_traits/add_cv.h
M libcxx/include/__cxx03/__type_traits/add_lvalue_reference.h
M libcxx/include/__cxx03/__type_traits/add_pointer.h
M libcxx/include/__cxx03/__type_traits/add_rvalue_reference.h
M libcxx/include/__cxx03/__type_traits/add_volatile.h
M libcxx/include/__cxx03/__type_traits/aligned_storage.h
M libcxx/include/__cxx03/__type_traits/aligned_union.h
M libcxx/include/__cxx03/__type_traits/alignment_of.h
M libcxx/include/__cxx03/__type_traits/common_type.h
M libcxx/include/__cxx03/__type_traits/conditional.h
M libcxx/include/__cxx03/__type_traits/conjunction.h
M libcxx/include/__cxx03/__type_traits/decay.h
M libcxx/include/__cxx03/__type_traits/disjunction.h
M libcxx/include/__cxx03/__type_traits/enable_if.h
M libcxx/include/__cxx03/__type_traits/extent.h
M libcxx/include/__cxx03/__type_traits/has_virtual_destructor.h
M libcxx/include/__cxx03/__type_traits/integral_constant.h
M libcxx/include/__cxx03/__type_traits/invoke.h
M libcxx/include/__cxx03/__type_traits/is_abstract.h
M libcxx/include/__cxx03/__type_traits/is_arithmetic.h
M libcxx/include/__cxx03/__type_traits/is_array.h
M libcxx/include/__cxx03/__type_traits/is_assignable.h
M libcxx/include/__cxx03/__type_traits/is_base_of.h
M libcxx/include/__cxx03/__type_traits/is_bounded_array.h
M libcxx/include/__cxx03/__type_traits/is_class.h
M libcxx/include/__cxx03/__type_traits/is_compound.h
M libcxx/include/__cxx03/__type_traits/is_const.h
M libcxx/include/__cxx03/__type_traits/is_constant_evaluated.h
M libcxx/include/__cxx03/__type_traits/is_constructible.h
M libcxx/include/__cxx03/__type_traits/is_convertible.h
M libcxx/include/__cxx03/__type_traits/is_destructible.h
M libcxx/include/__cxx03/__type_traits/is_empty.h
M libcxx/include/__cxx03/__type_traits/is_enum.h
M libcxx/include/__cxx03/__type_traits/is_execution_policy.h
M libcxx/include/__cxx03/__type_traits/is_final.h
M libcxx/include/__cxx03/__type_traits/is_floating_point.h
M libcxx/include/__cxx03/__type_traits/is_function.h
M libcxx/include/__cxx03/__type_traits/is_fundamental.h
M libcxx/include/__cxx03/__type_traits/is_implicitly_default_constructible.h
M libcxx/include/__cxx03/__type_traits/is_integral.h
M libcxx/include/__cxx03/__type_traits/is_literal_type.h
M libcxx/include/__cxx03/__type_traits/is_member_pointer.h
M libcxx/include/__cxx03/__type_traits/is_nothrow_assignable.h
M libcxx/include/__cxx03/__type_traits/is_nothrow_constructible.h
M libcxx/include/__cxx03/__type_traits/is_nothrow_destructible.h
M libcxx/include/__cxx03/__type_traits/is_null_pointer.h
M libcxx/include/__cxx03/__type_traits/is_object.h
M libcxx/include/__cxx03/__type_traits/is_pod.h
M libcxx/include/__cxx03/__type_traits/is_pointer.h
M libcxx/include/__cxx03/__type_traits/is_polymorphic.h
M libcxx/include/__cxx03/__type_traits/is_reference.h
M libcxx/include/__cxx03/__type_traits/is_same.h
M libcxx/include/__cxx03/__type_traits/is_scalar.h
M libcxx/include/__cxx03/__type_traits/is_signed.h
M libcxx/include/__cxx03/__type_traits/is_specialization.h
M libcxx/include/__cxx03/__type_traits/is_standard_layout.h
M libcxx/include/__cxx03/__type_traits/is_swappable.h
M libcxx/include/__cxx03/__type_traits/is_trivial.h
M libcxx/include/__cxx03/__type_traits/is_trivially_assignable.h
M libcxx/include/__cxx03/__type_traits/is_trivially_constructible.h
M libcxx/include/__cxx03/__type_traits/is_trivially_copyable.h
M libcxx/include/__cxx03/__type_traits/is_trivially_destructible.h
M libcxx/include/__cxx03/__type_traits/is_unbounded_array.h
M libcxx/include/__cxx03/__type_traits/is_union.h
M libcxx/include/__cxx03/__type_traits/is_unsigned.h
M libcxx/include/__cxx03/__type_traits/is_void.h
M libcxx/include/__cxx03/__type_traits/is_volatile.h
M libcxx/include/__cxx03/__type_traits/make_32_64_or_128_bit.h
M libcxx/include/__cxx03/__type_traits/make_signed.h
M libcxx/include/__cxx03/__type_traits/make_unsigned.h
M libcxx/include/__cxx03/__type_traits/nat.h
M libcxx/include/__cxx03/__type_traits/negation.h
M libcxx/include/__cxx03/__type_traits/noexcept_move_assign_container.h
M libcxx/include/__cxx03/__type_traits/rank.h
M libcxx/include/__cxx03/__type_traits/remove_all_extents.h
M libcxx/include/__cxx03/__type_traits/remove_const.h
M libcxx/include/__cxx03/__type_traits/remove_cv.h
M libcxx/include/__cxx03/__type_traits/remove_cvref.h
M libcxx/include/__cxx03/__type_traits/remove_extent.h
M libcxx/include/__cxx03/__type_traits/remove_pointer.h
M libcxx/include/__cxx03/__type_traits/remove_reference.h
M libcxx/include/__cxx03/__type_traits/remove_volatile.h
M libcxx/include/__cxx03/__type_traits/result_of.h
M libcxx/include/__cxx03/__type_traits/strip_signature.h
M libcxx/include/__cxx03/__type_traits/type_identity.h
M libcxx/include/__cxx03/__type_traits/underlying_type.h
M libcxx/include/__cxx03/__type_traits/unwrap_ref.h
M libcxx/include/__cxx03/__type_traits/void_t.h
M libcxx/include/__cxx03/__utility/as_lvalue.h
M libcxx/include/__cxx03/__utility/integer_sequence.h
M libcxx/include/__cxx03/__utility/pair.h
M libcxx/include/__cxx03/__utility/piecewise_construct.h
M libcxx/include/__cxx03/__utility/small_buffer.h
M libcxx/include/__cxx03/__utility/swap.h
M libcxx/include/__cxx03/__utility/unreachable.h
M libcxx/include/__cxx03/__variant/monostate.h
M libcxx/include/__cxx03/algorithm
M libcxx/include/__cxx03/array
M libcxx/include/__cxx03/atomic
M libcxx/include/__cxx03/bitset
M libcxx/include/__cxx03/chrono
M libcxx/include/__cxx03/cmath
M libcxx/include/__cxx03/codecvt
M libcxx/include/__cxx03/complex
M libcxx/include/__cxx03/condition_variable
M libcxx/include/__cxx03/cstddef
M libcxx/include/__cxx03/cstdio
M libcxx/include/__cxx03/cstdlib
M libcxx/include/__cxx03/ctime
M libcxx/include/__cxx03/cuchar
M libcxx/include/__cxx03/cwchar
M libcxx/include/__cxx03/deque
M libcxx/include/__cxx03/exception
M libcxx/include/__cxx03/ext/hash_map
M libcxx/include/__cxx03/ext/hash_set
M libcxx/include/__cxx03/forward_list
M libcxx/include/__cxx03/fstream
M libcxx/include/__cxx03/functional
M libcxx/include/__cxx03/future
M libcxx/include/__cxx03/iomanip
M libcxx/include/__cxx03/ios
M libcxx/include/__cxx03/iosfwd
M libcxx/include/__cxx03/istream
M libcxx/include/__cxx03/iterator
M libcxx/include/__cxx03/limits
M libcxx/include/__cxx03/list
M libcxx/include/__cxx03/locale
M libcxx/include/__cxx03/map
M libcxx/include/__cxx03/memory
M libcxx/include/__cxx03/mutex
M libcxx/include/__cxx03/new
M libcxx/include/__cxx03/numeric
M libcxx/include/__cxx03/ostream
M libcxx/include/__cxx03/queue
M libcxx/include/__cxx03/random
M libcxx/include/__cxx03/ratio
M libcxx/include/__cxx03/regex
M libcxx/include/__cxx03/set
M libcxx/include/__cxx03/sstream
M libcxx/include/__cxx03/stack
M libcxx/include/__cxx03/stdatomic.h
M libcxx/include/__cxx03/stdexcept
M libcxx/include/__cxx03/streambuf
M libcxx/include/__cxx03/string
M libcxx/include/__cxx03/string_view
M libcxx/include/__cxx03/strstream
M libcxx/include/__cxx03/system_error
M libcxx/include/__cxx03/thread
M libcxx/include/__cxx03/type_traits
M libcxx/include/__cxx03/typeindex
M libcxx/include/__cxx03/typeinfo
M libcxx/include/__cxx03/uchar.h
M libcxx/include/__cxx03/unordered_map
M libcxx/include/__cxx03/unordered_set
M libcxx/include/__cxx03/utility
M libcxx/include/__cxx03/valarray
M libcxx/include/__cxx03/vector
M libcxx/include/__cxx03/version
Log Message:
-----------
[libc++][C++03] Remove code that is not used in C++03 (#134045)
This patch removes code which is guarded by `_LIBCPP_STD_VER` and
`_LIBCPP_CXX03_LANG`.
This is part of
https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc.
Commit: 562a4559ee9b637714485169102f7a2600aab008
https://github.com/llvm/llvm-project/commit/562a4559ee9b637714485169102f7a2600aab008
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/docs/ProgrammersManual.rst
Log Message:
-----------
[ProgrammersManual] Update report_fatal_error docs (#138502)
Update docs for https://github.com/llvm/llvm-project/pull/138251.
Mention reportFatalInternalError and reportFatalUsageError in the
respective sections of the documentation.
Commit: 6d85de88c426a40b8e5d3cfcb0ed6564c7df12be
https://github.com/llvm/llvm-project/commit/6d85de88c426a40b8e5d3cfcb0ed6564c7df12be
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/IR/LLVMContextImpl.h
Log Message:
-----------
[KeyInstr] Hide new MDNodeKeyImpl<DILocation> fields (#138296)
Follow up to https://github.com/llvm/llvm-project/pull/133477.
This prevents a compile time regression pointed out by nikic
The additional checks in the methods seem to cause most of the regression
(rather than being a consequence of increased size due to the fields
themselves).
The additional ifdefs are somewhat ugly, but will eventually be removed.
Commit: 4b30b3f901b00da1bd1f70e9ca9086e349c7cca0
https://github.com/llvm/llvm-project/commit/4b30b3f901b00da1bd1f70e9ca9086e349c7cca0
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang][ASTImporter] Fix AST import if anonymous namespaces are merged (#128735)
Fix of a faulty case that is shown in the second of the added
tests (an anonymous namespace is imported that resides in a `extern "C"`
block).
Commit: d66dbd6931a4358c0e4fd7c749179aa229fb36a4
https://github.com/llvm/llvm-project/commit/d66dbd6931a4358c0e4fd7c749179aa229fb36a4
Author: Raul Tambre <raul at tambre.ee>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M clang/docs/CommandGuide/clang.rst
M clang/include/clang/Basic/LangStandards.def
Log Message:
-----------
[clang][doc] Document C2y flags (#138521)
As discussed at https://github.com/llvm/llvm-project/pull/138459#issuecomment-2850716184
Commit: 015093d628d9461be1f7f5707c47f8ae7e8eb742
https://github.com/llvm/llvm-project/commit/015093d628d9461be1f7f5707c47f8ae7e8eb742
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/GVN.h
M llvm/lib/Transforms/Scalar/GVN.cpp
Log Message:
-----------
[GVN] Improve processBlock for instruction erasure (#131753)
This patch deletes the instructions immediately in core GVN processing by using the appropriate
iterators. Thus, it avoids collecting the instructions in a vector and then
doing the erasure.
Commit: cadf652857cf996cc591e7a4afd0bc2e62781b16
https://github.com/llvm/llvm-project/commit/cadf652857cf996cc591e7a4afd0bc2e62781b16
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
M llvm/test/CodeGen/AArch64/sme-peephole-opts.ll
M llvm/test/CodeGen/AArch64/sme-vg-to-stack.ll
M llvm/test/CodeGen/AArch64/sme-zt0-state.ll
M llvm/unittests/Target/AArch64/SMEAttributesTest.cpp
Log Message:
-----------
[AArch64][SME] Split SMECallAttrs out of SMEAttrs (#137239)
SMECallAttrs is a new helper class that holds all the SMEAttrs for a
call. The interfaces to query actions needed for the call (e.g. change
streaming mode) have been moved to the SMECallAttrs class.
The main motivation for this change is to make the split between the
caller, callee, and callsite attributes more apparent.
Before this change, we would always merge callsite and callee
attributes. The main reason to do this was to handle indirect calls,
however, we also occasionally used callsite attributes on direct calls
in tests (mainly to avoid creating multiple function declarations). With
this patch, we now explicitly handle indirect calls and disallow
incompatible attributes on direct calls (so this patch is not entirely
an NFC).
Commit: f2f4eac6c52693da86052cc55afe34f05cc23019
https://github.com/llvm/llvm-project/commit/f2f4eac6c52693da86052cc55afe34f05cc23019
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/docs/DeveloperPolicy.rst
Log Message:
-----------
Clarify ban evasion policy (#137298)
This documents what the Code of Conduct committee has decided to do when
an attempt to evade a ban is detected.
Commit: fd800487382e2ee3944493d58a961b6f48290243
https://github.com/llvm/llvm-project/commit/fd800487382e2ee3944493d58a961b6f48290243
Author: jyli0116 <yu.li at arm.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/bitreverse.ll
Log Message:
-----------
[GlobalISel][AArch64] Handles bitreverse to prevent falling back (#138150)
Handles bitreverse for vector types which were previously falling back
onto Selection DAG. Includes 8-bit element vectors greater than 128 bits
and less than 64 bits: <32 x i8>, <4 x i8>, and odd vector types: <9 x
i8>.
Commit: 0dce0ea31cc9fd1d3d082b233b16f9ed123a6ed4
https://github.com/llvm/llvm-project/commit/0dce0ea31cc9fd1d3d082b233b16f9ed123a6ed4
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M libcxxabi/src/demangle/Utility.h
Log Message:
-----------
[ItaniumDemangle] Fix libcxxabi OutputBuffer::prepend for empty inputs (#138656)
See #138564 for details.
Commit: 488cb24c2eddb8d0ec3419a4117691022e9e679b
https://github.com/llvm/llvm-project/commit/488cb24c2eddb8d0ec3419a4117691022e9e679b
Author: Piotr Kubaj <pkubaj at FreeBSD.org>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp
Log Message:
-----------
[lldb] fix crash on FreeBSD/powerpc64le (#138331)
Fix for:
`Assertion failed: (false && "Architecture or OS not supported"),
function CreateRegisterContextForFrame, file
/usr/src/contrib/llvm-project/lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp,
line 182.
PLEASE submit a bug report to https://bugs.freebsd.org/submit/ and
include the crash backtrace.
#0 0x000000080cd857c8 llvm::sys::PrintStackTrace(llvm::raw_ostream&,
int)
/usr/src/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc:723:13
#1 0x000000080cd85ed4
/usr/src/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc:797:3
#2 0x000000080cd82ae8 llvm::sys::RunSignalHandlers()
/usr/src/contrib/llvm-project/llvm/lib/Support/Signals.cpp:104:5
#3 0x000000080cd861f0 SignalHandler
/usr/src/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc:403:3 #4
0x000000080f159644 handle_signal
/usr/src/lib/libthr/thread/thr_sig.c:298:3
`
Commit: 703b479f16b9657a9c0d3a3d992278ad9c555166
https://github.com/llvm/llvm-project/commit/703b479f16b9657a9c0d3a3d992278ad9c555166
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
M llvm/test/CodeGen/AArch64/sme-peephole-opts.ll
M llvm/test/CodeGen/AArch64/sme-vg-to-stack.ll
M llvm/test/CodeGen/AArch64/sme-zt0-state.ll
M llvm/unittests/Target/AArch64/SMEAttributesTest.cpp
Log Message:
-----------
Revert "[AArch64][SME] Split SMECallAttrs out of SMEAttrs" (#138664)
Reverts llvm/llvm-project#137239
This broke implementing SME ABI routines in C/C++ (used for some stubs),
see: https://lab.llvm.org/buildbot/#/builders/94/builds/6859
Commit: 4cc152c823ec0298b3962b5a09de6f74f5c1b16a
https://github.com/llvm/llvm-project/commit/4cc152c823ec0298b3962b5a09de6f74f5c1b16a
Author: Daniel Kiss <daniel.kiss at arm.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-cfi.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-diff-scope-same-key.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-non-leaf.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-regsave.mir
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-diff-key.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-sp-mod.mir
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-subtarget.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-thunk.ll
M llvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-2.ll
M llvm/test/CodeGen/AArch64/sign-return-address-cfi-negate-ra-state.ll
M llvm/test/CodeGen/AArch64/sign-return-address.ll
M llvm/test/CodeGen/MIR/AArch64/return-address-signing.mir
Log Message:
-----------
[AArch64] Correct position of CFI Instruction for Pointer Authentication (#137795)
This reverts partially this commit
0b73b5af60f2c544892b9dd68b4fa43eeff52fc1.
This is not a clear revert because other changes already landed.
CFI directives like `.cfi_negate_ra_state` must be emitted after the
instruction.
If the execution is stopped before the `paciasp` instruction is executed
the debugger/unwinder would try to authenticated the return address as
the `.cfi_negate_ra_state` already indicates it got signed.
fixes: #137802
Commit: 8ea5eacea263ed5c2c4b0950a4d1d6ef863444bc
https://github.com/llvm/llvm-project/commit/8ea5eacea263ed5c2c4b0950a4d1d6ef863444bc
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/test/CodeGen/AArch64/misched-cutoff.mir
Log Message:
-----------
[MISched] Fix off-by-one error in debug output with -misched-cutoff=<n> flag (#137988)
This flag instructs the scheduler to stop scheduling after N
instructions, but
in the debug output it appears as if it's scheduling N+1 instructions,
e.g.
$ llc -misched-cutoff=10 -debug-only=machine-scheduler
example.ll 2>&1 | grep "^Scheduling SU" | wc -l
11
as it calls pickNode before calling checkSchedLimit.
Commit: 0159a26744dd3ca332973c0e1cd8f6ccbace2927
https://github.com/llvm/llvm-project/commit/0159a26744dd3ca332973c0e1cd8f6ccbace2927
Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Analysis/InlineCost.cpp
A llvm/test/Transforms/Inline/inline-recursive-fn.ll
Log Message:
-----------
[InlineCost]: Add a new heuristic to branch folding for better inlining decisions.
Recursive functions are generally not inlined to avoid issues
like infinite inlining or excessive code expansion. However,
this conservative approach misses opportunities for optimization in
cases where a recursive call is guaranteed to execute only once.
This patch detects a scenario where a guarding branch condition of a recursive
call will become false after the first iteration of the recursive function.
If such a condition is met, and the recursion depth is confirmed to be one,
the Inliner will now consider this recursive function for inlining.
A new test case (`test/Transforms/Inline/inline-recursive-fn.ll`)
has been added to verify this behaviour.
Commit: 43a9d5dfd52d3845596d20b62159147cd276d343
https://github.com/llvm/llvm-project/commit/43a9d5dfd52d3845596d20b62159147cd276d343
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/include/llvm/IR/LLVMContext.h
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/LLVMContext.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/unittests/IR/MetadataTest.cpp
Log Message:
-----------
[KeyInstr] Add Atom Group waterline to LLVMContext (#133478)
Source location atoms are identified by a function-local number and the
DILocation's InlinedAt field. The front end is responsible for assigning source
atom numbers, but certain optimisations need to assign new atom numbers to some
instructions. Most often code duplication optimisations like loop
unroll. Tracking a global maximum value (waterline) means we can easily
(cheaply) get new numbers that don't clash in any function.
The waterline is managed through DILocation creation,
LLVMContext::incNextAtomGroup, and LLVMContext::updateAtomGroupWaterline.
Add unittest.
RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
Commit: dad316275689c8ff9b3051c98a842d0bb1226368
https://github.com/llvm/llvm-project/commit/dad316275689c8ff9b3051c98a842d0bb1226368
Author: Kaviya Rajendiran <67495422+kaviya2510 at users.noreply.github.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[mlir][OpenMP] Allow 'cancel taskgroup' inside taskloop region (#138634)
Added support which allows "cancel taskgroup" inside taskloop region.
Commit: cb9683fad12101417a46b35452cb23dfb7c6c367
https://github.com/llvm/llvm-project/commit/cb9683fad12101417a46b35452cb23dfb7c6c367
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/test/Driver/fveclib.c
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/test/Driver/fveclib-codegen.f90
M flang/test/Driver/fveclib.f90
Log Message:
-----------
[Clang][Flang][Driver] Fix target parsing for -fveclib=libmvec option. (#138288)
There are various places where the -fveclib option is parsed to
determine whether its value is correct for the target. Unfortunately
these places assume case-insensitivity and subsequently use "LIBMVEC"
where the driver mandates "libmvec", thus rendering the diagnosistic
useless.
This PR corrects the naming along with similar incorrect uses within the
test files.
Commit: a8344a95c789f79be373d40a6e86a6c9a80d0b21
https://github.com/llvm/llvm-project/commit/a8344a95c789f79be373d40a6e86a6c9a80d0b21
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/docs/GitHub.rst
Log Message:
-----------
[llvm][docs] Reorder Stacked PR approaches in GitHub.rst (#138126)
The 'user branches' approach now appears before the 'dependency note'
approach, as it makes reviewing easier.
Add notes on requiring commit access for the former approach.
Commit: bde39d72515dd3a0e6fe2f62c7a08676af920384
https://github.com/llvm/llvm-project/commit/bde39d72515dd3a0e6fe2f62c7a08676af920384
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/ARM/combine-bswap.ll
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[DAG] Add SDPatternMatch::m_BitwiseLogic common matcher for AND/OR/XOR nodes (#138301)
Commit: 3b4f9c544274392198de084b84a5f2e5506e4703
https://github.com/llvm/llvm-project/commit/3b4f9c544274392198de084b84a5f2e5506e4703
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/include/llvm/IR/ValueMap.h
M llvm/include/llvm/Transforms/Utils/Cloning.h
M llvm/include/llvm/Transforms/Utils/ValueMapper.h
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/unittests/Transforms/Utils/CloningTest.cpp
Log Message:
-----------
[NFC][KeyInstr] Add Atom Group (re)mapping (#133479)
Add:
mapAtomInstance - map the atom group number to a new group.
RemapSourceAtom - apply the mapped atom group number to this instruction.
Modify:
CloneBasicBlock - Call mapAtomInstance on cloned instruction's DebugLocs
if MapAtoms is true (default). Setting to false could
lead to a degraded debugging experience. See code comment.
Optimisations like loop unroll that duplicate instructions need to remap source
atom groups so that each duplicated source construct instance is considered
distinct when determining is_stmt locations.
This commit adds the remapping functionality and a unittest.
RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
Commit: 300d4026f77683aae490361d250a51904dd19ed2
https://github.com/llvm/llvm-project/commit/300d4026f77683aae490361d250a51904dd19ed2
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
A clang/test/CodeGenCXX/cxx2c-trivially-relocatable.cpp
A clang/test/Parser/cxx2c-trivially-relocatable.cpp
M clang/test/SemaCXX/attr-trivial-abi.cpp
A clang/test/SemaCXX/cxx2c-trivially-relocatable.cpp
M clang/test/SemaCXX/ptrauth-triviality.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Implement the core language parts of P2786 - Trivial relocation (#127636)
This adds
- The parsing of `trivially_relocatable_if_eligible`,
`replaceable_if_eligible` keywords
- `__builtin_trivially_relocate`, implemented in terms of memmove. In
the future this should
- Add the appropriate start/end lifetime markers that llvm does not have
(`start_lifetime_as`)
- Add support for ptrauth when that's upstreamed
- the `__builtin_is_cpp_trivially_relocatable` and
`__builtin_is_replaceable` traits
Fixes #127609
Commit: 027b2038140f309467585298f9cb10d6b37411e7
https://github.com/llvm/llvm-project/commit/027b2038140f309467585298f9cb10d6b37411e7
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
A llvm/test/Analysis/BasicAA/size-overflow.ll
Log Message:
-----------
[BasicAA] Gracefully handle large LocationSize (#138528)
If the LocationSize is larger than the index space of the pointer type,
bail out instead of triggering an APInt assertion.
Fixes the issue reported at
https://github.com/llvm/llvm-project/pull/119365#issuecomment-2849874894.
Commit: e8adb3add5d7043178045b2235e32efbec5d6419
https://github.com/llvm/llvm-project/commit/e8adb3add5d7043178045b2235e32efbec5d6419
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
Log Message:
-----------
[lldb][lldb-dap] use the new protocol for setVariable requests. (#137803)
```cpp
// The "id" is the unique integer ID that is unique within the enclosing
// variablesReference. It is optionally added to any "interface
Variable"
// objects to uniquely identify a variable within an enclosing
// variablesReference. It helps to disambiguate between two variables
that
// have the same name within the same scope since the "setVariables"
request
// only specifies the variable reference of the enclosing
scope/variable, and
// the name of the variable. We could have two shadowed variables with
the
// same name in "Locals" or "Globals". In our case the "id" absolute
index
// of the variable within the dap.variables list.
const auto id_value =
GetInteger<uint64_t>(arguments, "id").value_or(UINT64_MAX);
if (id_value != UINT64_MAX) {
```
I dropped this part because. variables that have the same name has a ` @path` suffix on both of them.
and the setVariableArguments does not have a field called `id`.
Commit: ee7f6a5c6f8e9b8ad87da70e869cb7cc8065be2d
https://github.com/llvm/llvm-project/commit/ee7f6a5c6f8e9b8ad87da70e869cb7cc8065be2d
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/unittests/IR/MetadataTest.cpp
Log Message:
-----------
[KeyInstr] Merge atoms in DILocation::getMergedLocation (#133480)
NFC for builds with LLVM_EXPERIMENTAL_KEY_INSTRUCTIONS=OFF (default).
In an ideal world we would be able to track that the merged location is used in
multiple source atoms. We can't do this though, so instead we arbitrarily but
deterministically pick one.
In cases where the InlinedAt field is unchanged we keep the atom with the
lowest non-zero rank (highest precedence). If the ranks are equal we choose
the smaller non-zero group number (arbitrary choice).
In cases where the InlinedAt field is adjusted we generate a new atom group.
Keeping the group wouldn't make sense (a source atom is identified by the
group number and InlinedAt pair) but discarding the atom info could result
in missed is_stmts.
Add unittest in MetadataTest.cpp.
RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
Commit: d90cac964130004d449b94f6020264c14e1cb999
https://github.com/llvm/llvm-project/commit/d90cac964130004d449b94f6020264c14e1cb999
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
Log Message:
-----------
[DAGCombine] Simplify partial_reduce_*mla with constant. (#138289)
partial_reduce_*mla(acc, mul(ext(x), splat(C)), splat(1))
-> partial_reduce_*mla(acc, x, C)
Commit: 1eaa289472aaddbeabcde10f89cffb161c2dca55
https://github.com/llvm/llvm-project/commit/1eaa289472aaddbeabcde10f89cffb161c2dca55
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M lldb/source/Host/macosx/objcxx/Host.mm
M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
M lldb/unittests/Host/HostTest.cpp
Log Message:
-----------
[lldb/Host] Enable inheriting "non-inheritable" FDs (#126935)
Currently we're creating inheritable (`~FD_CLOEXEC`) file descriptors in
the (few) cases where we need to pass an FD to a subprocess. The problem
with these is that, in a multithreaded application such as lldb, there's
essentially no way to prevent them from being leaked into processes
other than the intended one.
A safer (though still not completely safe) approach is to mark the
descriptors as FD_CLOEXEC and only clear this flag in the subprocess. We
currently have something that almost does that, which is the ability to
add a `DuplicateFileAction` to our `ProcessLaunchInfo` struct (the
duplicated file descriptor will be created with the flag cleared). The
problem with *that* is that this approach is completely incompatible
with Windows.
Windows equivalents of file descriptors are `HANDLE`s, but these do not
have user controlled values -- applications are expected to work with
whatever HANDLE values are assigned by the OS. In unix terms, there is
no equivalent to the `dup2` syscall (only `dup`).
To find a way out of this conundrum, and create a miniscule API surface
that works uniformly across platforms, this PR proposes to extend the
`DuplicateFileAction` API to support duplicating a file descriptor onto
itself. Currently, this operation does nothing (it leaves the FD_CLOEXEC
flag set), because that's how `dup2(fd, fd)` behaves, but I think it's
not completely unreasonable to say that this operation should clear the
FD_CLOEXEC flag, just like it would do if one was using different fd
values. This would enable us to pass a windows HANDLE as itself through
the ProcessLaunchInfo API.
This PR implements the unix portion of this idea. Macos and non-macos
launchers are updated to clear FD_CLOEXEC flag when duplicating a file
descriptor onto itself, and I've created a test which enables passing a
FD_CLOEXEC file descritor to the subprocess. For the windows portion,
please see the follow-up PR.
Commit: 6a99d817204dfa39afc42f1f6a810d82f6a8794f
https://github.com/llvm/llvm-project/commit/6a99d817204dfa39afc42f1f6a810d82f6a8794f
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M lldb/docs/use/map.rst
Log Message:
-----------
[lldb/docs] Fix/improve the gdb command map for dynamic types (#138538)
The setting and option value names were wrong. I'm assuming this changed
over time, but I haven't tried to figure out when.
Commit: efaa5295d4103da50f25bb29e42647d7a48b2e9e
https://github.com/llvm/llvm-project/commit/efaa5295d4103da50f25bb29e42647d7a48b2e9e
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
Log Message:
-----------
[sanitizer_common] Use internal_memcpy with wcrtomb/wctomb interceptors (#138623)
Commit: 24cd3a0bc007b81045cb12cde88607d1843aec97
https://github.com/llvm/llvm-project/commit/24cd3a0bc007b81045cb12cde88607d1843aec97
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
Log Message:
-----------
[sanitizer_common] Split FREXPF/FREXPL interceptor defines (#138624)
Will allow other platforms, such as AIX, to opt out of these
interceptors individually.
Commit: 0922789e4742e0961f8db171fea1590a8580937e
https://github.com/llvm/llvm-project/commit/0922789e4742e0961f8db171fea1590a8580937e
Author: Leon Clark <PeddleSpam at users.noreply.github.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/build-vector-256.ll
M llvm/test/CodeGen/X86/build-vector-512.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v4.ll
Log Message:
-----------
[X86][AVX] Match v4f64 blend from shuffle of scalar values. (#135753)
Convert a BUILD_VECTOR of scalar values to a shuffle of shuffles that
will lower to AVX blend.
This addresses a regression in #128938.
---------
Co-authored-by: Leon Clark <leoclark at amd.com>
Commit: 3035bccebea40993537e364b08fec81a741e8b74
https://github.com/llvm/llvm-project/commit/3035bccebea40993537e364b08fec81a741e8b74
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M clang/docs/InternalsManual.rst
Log Message:
-----------
Add missed quote on title of enum_select section
Commit: e79dc76b5f9131bd4af7ad807492537450a9ff2c
https://github.com/llvm/llvm-project/commit/e79dc76b5f9131bd4af7ad807492537450a9ff2c
Author: enh-google <enh at google.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M libc/include/stdlib.yaml
Log Message:
-----------
stdlib.yaml: qsort_r() is in POSIX 2024 (aka issue 8). (#138572)
Commit: 73a7a3dc00300820c68927928405a442b2f73b4c
https://github.com/llvm/llvm-project/commit/73a7a3dc00300820c68927928405a442b2f73b4c
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/IR/DebugLoc.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
A llvm/test/DebugInfo/KeyInstructions/Generic/inline.ll
Log Message:
-----------
[KeyInstr] Inline atom info (#133481)
Source atom groups are identified by an atom group number and inlined-at pair,
so we simply can copy the atom numbers into the caller when inlining.
RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
Commit: aec39293316049e5944ac281f800efe5e0dcac5f
https://github.com/llvm/llvm-project/commit/aec39293316049e5944ac281f800efe5e0dcac5f
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
Log Message:
-----------
[FunctionAttrs] Only consider provenance capture in access attr inference (#138535)
For the purpose of inferring readonly/writeonly/readnone on arguments,
we only care about provenance captures, not address captures.
Commit: f8de1618cc3349829ed5ab699413dcb84451e0c7
https://github.com/llvm/llvm-project/commit/f8de1618cc3349829ed5ab699413dcb84451e0c7
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/include/llvm/IR/DebugLoc.h
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
A llvm/test/DebugInfo/KeyInstructions/Generic/simplifycfg-branch-fold.ll
Log Message:
-----------
[KeyInstr][SimplifyCFG] Remap atoms when folding br to common succ into pred (#133482)
SimplifyCFG folds `d` into preds `b` and `c`.
+---------------+
| |
+--> b --+ |
| v v
--> a d --> e --> f -->
| ^ ^
+--> c --+ |
| |
+---------------+
Remap source atoms so that the duplicated instructions are analysed
independently to determine is_stmt positions.
The pull request contains a discussion covering various edge cases here:
https://github.com/llvm/llvm-project/pull/133482/files#r2039519348
The summary of the discussion is that we could avoid remapping when there's a
single pred, but we decided that it's still a trade off, and not worth the
additional complexity right now.
RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
Commit: 5781b5e60f7b6a41ab4a0ea9630734dcd55526d3
https://github.com/llvm/llvm-project/commit/5781b5e60f7b6a41ab4a0ea9630734dcd55526d3
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.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
Log Message:
-----------
[AMDGPU][True16][MC] update mc test of a few vop1 t16 inst (#135588)
This is a NFC patch.
Regarding a few vop1 true16 instructions, the tablegen change has been
done but the test changes are not complete. This patch update mc test of
a few vop1 t16 that were missing before.
Commit: e356893551b315c84f30f7828eb493c4ef02e118
https://github.com/llvm/llvm-project/commit/e356893551b315c84f30f7828eb493c4ef02e118
Author: Kaviya Rajendiran <67495422+kaviya2510 at users.noreply.github.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
R flang/test/Lower/OpenMP/Todo/taskloop-cancel.f90
R flang/test/Lower/OpenMP/Todo/taskloop.f90
A flang/test/Lower/OpenMP/masked_taskloop.f90
R flang/test/Lower/OpenMP/master_taskloop.f90
A flang/test/Lower/OpenMP/parallel-masked-taskloop.f90
R flang/test/Lower/OpenMP/parallel-master-taskloop.f90
A flang/test/Lower/OpenMP/taskloop-cancel.f90
A flang/test/Lower/OpenMP/taskloop.f90
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
Log Message:
-----------
[Flang][OpenMP] Support for lowering of taskloop construct to MLIR (#138646)
Added support for lowering of taskloop construct and its clauses(Private
and Firstprivate) to MLIR.
Commit: 2dd296aa47fff7f4e4c3cf75a5a1152817367371
https://github.com/llvm/llvm-project/commit/2dd296aa47fff7f4e4c3cf75a5a1152817367371
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M libc/src/__support/FPUtil/FPBits.h
Log Message:
-----------
[libc] Fix implicit conversion error on rv32 (#138622)
This patch fixes the following error on rv32 (and possibly other 32-bit
archs):
FPBits.h:760:40: error: implicit conversion loses integer precision:
'int' to 'size_t' (aka 'unsigned int')
[-Werror,-Wimplicit-int-conversion]
760 | result.set_significand(number >> -ep);
Fixes #138425.
Commit: d1b3eeb24460fb65773db712e4cc0e204ffcaa0d
https://github.com/llvm/llvm-project/commit/d1b3eeb24460fb65773db712e4cc0e204ffcaa0d
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Log Message:
-----------
[SDAG] Merge memcpy and memcpy.inline lowering paths (#138619)
This is a follow up to c0a264e, but note that there is a functional
difference here: the root changes for the memcpy.inline case. This
difference appears to have been accidental, but I kept this back to
facility separate review in case there's something I'm missing here.
Commit: 368fbc21631a16b66a2a5609271c467a025a08b9
https://github.com/llvm/llvm-project/commit/368fbc21631a16b66a2a5609271c467a025a08b9
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M flang/lib/Lower/ConvertExprToHLFIR.cpp
A flang/test/Lower/volatile-derived-type-pointer.f90
Log Message:
-----------
[flang] Lower volatile class types (#138607)
So far, only boxes and references have had their volatile attribute set
during lowering. This patch enables the volatility of classes to be
properly represented in the ir, same as box and ref.
For simple cases, not much needs to change in the codegen or conversion
patterns because the prior work on volatile refs/boxes propagates
volatility already. I am running further testing with the strict
verification enabled to find remaining cases of incorrect/missing
volatile propagation.
Commit: 3aecbbcbf675bc4472dafff18d29f21457323f28
https://github.com/llvm/llvm-project/commit/3aecbbcbf675bc4472dafff18d29f21457323f28
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/matched-bv-schedulable.ll
Log Message:
-----------
[SLP]Do not match nodes if schedulability of parent nodes is different
If one user node is non-schedulable and another one is schedulable, such
nodes should be considered matched. The selection of the actual insert
point in this case differs and the insert points may match, which may
cause a compiler crash because of the broken def-use chain.
Fixes #137797
Commit: dd3f6a3d3edf4b950e38aee20d2efb0af0f423cf
https://github.com/llvm/llvm-project/commit/dd3f6a3d3edf4b950e38aee20d2efb0af0f423cf
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M lld/COFF/DriverUtils.cpp
Log Message:
-----------
[lld] Remove redundant calls to std::unique_ptr<T>::get (NFC) (#138641)
Commit: 921d16246052dd6a2a8d7d4d7f5833ff8a72d407
https://github.com/llvm/llvm-project/commit/921d16246052dd6a2a8d7d4d7f5833ff8a72d407
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/lib/IR/Verifier.cpp
M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
M mlir/lib/Transforms/Utils/InliningUtils.cpp
M mlir/test/lib/Dialect/Affine/TestVectorizationUtils.cpp
M mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp
M mlir/tools/mlir-tblgen/RewriterGen.cpp
M mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
Log Message:
-----------
[mlir] Remove unused local variables (NFC) (#138642)
Commit: 0eeabd4b302cf52c4a585664ed9bc4a81ef91105
https://github.com/llvm/llvm-project/commit/0eeabd4b302cf52c4a585664ed9bc4a81ef91105
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[Transforms] Use SmallMapVector::contains (NFC) (#138645)
Commit: a363ccaf18da166a51206070f074360ca35462ca
https://github.com/llvm/llvm-project/commit/a363ccaf18da166a51206070f074360ca35462ca
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Debugify.cpp
A llvm/test/DebugInfo/KeyInstructions/debugify.ll
Log Message:
-----------
[KeyInstr][debugify] Add --debugify-atoms to add key instructions metadata (#133483)
RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
Commit: 87f312aad6ede636cd2de5d18f3058bf2caf5651
https://github.com/llvm/llvm-project/commit/87f312aad6ede636cd2de5d18f3058bf2caf5651
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/Use.h
M llvm/include/llvm/IR/Value.h
M llvm/lib/Analysis/TypeMetadataUtils.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Use.cpp
M llvm/lib/IR/Value.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/test/Analysis/MemorySSA/nondeterminism.ll
A llvm/test/tools/llvm-diff/uselistorder-issue58629-gv.ll
M llvm/test/tools/llvm-diff/uselistorder-issue58629.ll
M llvm/test/tools/llvm-reduce/bitcode-uselistorder.ll
M llvm/test/tools/llvm-reduce/uselistorder-invalid-ir-output.ll
M llvm/tools/verify-uselistorder/verify-uselistorder.cpp
M polly/lib/Support/ScopHelper.cpp
Log Message:
-----------
IR: Remove uselist for constantdata (#137313)
This is a resurrected version of the patch attached to this RFC:
https://discourse.llvm.org/t/rfc-constantdata-should-not-have-use-lists/42606
In this adaptation, there are a few differences. In the original patch, the Use's
use list was replaced with an unsigned* to the reference count in the value. This
version leaves them as null and leaves the ref counting only in Value.
Remove use-lists from instances of ConstantData (which are shared
across modules and have no operands).
To continue supporting most of the use-list API, store a ref-count in
place of the use-list; this is for API like Value::use_empty and
Value::hasNUses. Operations that actually need the use-list -- like
Value::use_begin -- will assert.
This change has three benefits:
1. The compiler output cannot in any way depend on the use-list order
of instances of ConstantData.
2. There's no use-list traffic when adding and removing simple
constants from operand lists (although there is ref-count traffic;
YMMV).
3. It's cheaper to serialize use-lists (since we're no longer
serializing the use-list order of things like i32 0).
The downside is that you can't look at all the users of ConstantData,
but traversals of users of i32 0 are already ill-advised.
Possible follow-ups:
- Track if an instance of a ConstantVector/ConstantArray/etc. is known
to have all ConstantData arguments, and drop the use-lists to
ref-counts in those cases. Callers need to check Value::hasUseList
before iterating through the use-list.
- Remove even the ref-counts. I'm not sure they have any benefit
besides minimizing the scope of this commit, and maintaining the
counts is not free.
Fixes #58629
Co-authored-by: Duncan P. N. Exon Smith <dexonsmith at apple.com>
Commit: 51a3bd919d68a8fb1b026377d6e86b1523d37433
https://github.com/llvm/llvm-project/commit/51a3bd919d68a8fb1b026377d6e86b1523d37433
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/Use.h
M llvm/include/llvm/IR/Value.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Value.cpp
M llvm/unittests/IR/ConstantsTest.cpp
Log Message:
-----------
IR: Remove reference counts from ConstantData (#137314)
This is a follow up change to eliminating uselists for ConstantData.
In the previous revision, ConstantData had a replacement reference count
instead of a uselist. This reference count was misleading, and not useful
in the same way as it would be for another value. The references may not
have even been in the current module, since these are shared throughout
the LLVMContext.
This doesn't space leak any more than we previously did; nothing was
attempting to garbage collect unused constants.
Previously the use_empty, and hasNUses type of APIs were supported through
the reference count. These now behave as if the uses are always empty.
Ideally it would be illegal to inspect these, but this forces API complexity
into quite a few places. It may be doable to make it illegal to check these
counts, but I would like there to be a targeted fuzzing effort to make sure
every transform properly deals with a constant in every operand position.
All tests pass if I turn the hasNUses* and getNumUses queries into assertions,
only hasOneUse in particular appears to hit in some set of contexts. I've
added unit tests to ensure logical consistency between these cases
Commit: 3851ca7dec6a3e32c6f91fa445a98188de690351
https://github.com/llvm/llvm-project/commit/3851ca7dec6a3e32c6f91fa445a98188de690351
Author: Zachary Yedidia <zyedidia at gmail.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
A llvm/test/MC/AArch64/arch_directive.s
Log Message:
-----------
[AArch64] Emit .arch and .arch_extension during assembly to textual asm (#138433)
This patch ensures that when assembling to text (`-filetype asm`),
`.arch` and `.arch_extension` directives are preserved in the output.
This prevents errors related to unavailable extensions in the assembly
output (see #117221 for an example).
Fixes #117221.
Commit: a8ed244178b90876570b3e0bcf643f027ed83b8a
https://github.com/llvm/llvm-project/commit/a8ed244178b90876570b3e0bcf643f027ed83b8a
Author: Nicholas Guy <nicholas.guy at arm.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
Log Message:
-----------
[DAGCombiner] Add DAG combine for PARTIAL_REDUCE_MLA when no mul op (#131326)
Generic DAG combine for ISD::PARTIAL_REDUCE_U/SMLA to convert:
PARTIAL_REDUCE_*MLA(Acc, ZEXT(UnextOp1), Splat(1)) into
PARTIAL_REDUCE_UMLA(Acc, UnextOp1, TRUNC(Splat(1))) and
PARTIAL_REDUCE_*MLA(Acc, SEXT(UnextOp1), Splat(1)) into
PARTIAL_REDUCE_SMLA(Acc, UnextOp1, TRUNC(Splat(1))).
---------
Co-authored-by: James Chesterman <james.chesterman at arm.com>
Commit: e86a92f947b0ddf624b19b005a23e55823219524
https://github.com/llvm/llvm-project/commit/e86a92f947b0ddf624b19b005a23e55823219524
Author: Nicholas Guy <nicholas.guy at arm.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
Log Message:
-----------
[AArch64][SelectionDAG] Add support for 8to64 partial reduction cases (#138269)
---------
Co-authored-by: James Chesterman <james.chesterman at arm.com>
Commit: a10f6c1e689aaa0fee86db740b99d3895076a61c
https://github.com/llvm/llvm-project/commit/a10f6c1e689aaa0fee86db740b99d3895076a61c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/fpclass-check-idioms.ll
Log Message:
-----------
[InstCombine] Handle isnormal idiom (#125454)
This patch improves the codegen of Rust's `is_normal` implementation:
https://godbolt.org/z/1MPzcrrYG
Alive2: https://alive2.llvm.org/ce/z/hF9RWQ
Commit: 6fc092fc417e5c4e9fd78c3cc5892bacae405c72
https://github.com/llvm/llvm-project/commit/6fc092fc417e5c4e9fd78c3cc5892bacae405c72
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M mlir/lib/Dialect/Bufferization/IR/BufferizationDialect.cpp
M mlir/lib/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.cpp
M mlir/test/Dialect/Tensor/one-shot-bufferize.mlir
Log Message:
-----------
[mlir][bufferization] Let bufferization.tensor_layout be any layout attr (#138567)
The bufferization.tensor_layout is unnecessarily restricted to affine
map attributes when it could reasonably be any implementor of
MemRefLayoutAttrInterface.
Commit: c7c1283ab2fbef0843c1ec2ea80477834cccb0eb
https://github.com/llvm/llvm-project/commit/c7c1283ab2fbef0843c1ec2ea80477834cccb0eb
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
M mlir/lib/IR/BuiltinTypes.cpp
M mlir/lib/IR/TypeDetail.h
M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir][MemRef] Remove integer address space builders (#138579)
The forms of the MemRef builder that took an integer argument instead of
an attribute have been deprecated for years now, and have almost no
upstream uses (the remaining ones are handled in this PR). Therefore,
remove them.
Commit: 4eac576654d857e2d8d59783b7eb2d70cb0675f9
https://github.com/llvm/llvm-project/commit/4eac576654d857e2d8d59783b7eb2d70cb0675f9
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
A llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/atomic.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/floating-point.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/integer.s
Log Message:
-----------
[RISCV] Add scheduler definitions for SpacemiT-X60 (#137343)
This patch adds an initial scheduler model for the SpacemiT-X60,
including latency for scalar instructions only.
The scheduler is based on the documented characteristics of the C908,
which the SpacemiT-X60 is believed to be based on, and provides the
expected latency for several instructions. I ran a probe to confirm all
of these values and to get the latency of instructions not provided by
the C908 documentation (e.g., double floating-point instructions).
For load and store instructions, the C908 documentation says the latency
is \>= 3 for load and 1 for store. I tried a few combinations of values
until I got the current values of 5 and 3, which yield the best results.
Although the X60 does appear to support multiple issue for at least some
floating point instructions, this model assumes single issue as
increasing it reduces the gains below.
This patch gives a geomean improvement of ~4% on SPEC CPU 2017 for both
rva22u64 and rva22u64_v, with some benchmarks improving up to 18%
(508.namd_r). There were a couple of execution time regressions, but
only in noisy benchmarks (523.xalancbmk_r and 510.parest_r).
* rva22u64: https://lnt.lukelau.me/db_default/v4/nts/507?compare_to=405
(compares a55f7275 to the baseline 8286b804)
* rva22u64_v:
https://lnt.lukelau.me/db_default/v4/nts/474?compare_to=404 (compares
a55f7275 to the baseline 8286b804)
This initial scheduling model is strongly focused on providing
sufficient definitions to provide improved performance for the
SpacemiT-X60. Further incremental gains may be possible through a much
more detailed microarchitectural analysis, but that is left to future
work.
Further scheduling definitions for RVV can be added in a future PR.
Commit: 6479e9bad371f19a36ed15c236defc301efc180f
https://github.com/llvm/llvm-project/commit/6479e9bad371f19a36ed15c236defc301efc180f
Author: Manuel Carrasco <macarras at amd.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-return-values.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-sibling-call.ll
M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-preserved-registers.ll
M llvm/test/CodeGen/AMDGPU/required-export-priority.ll
M llvm/test/CodeGen/AMDGPU/sibling-call.ll
M llvm/test/CodeGen/AMDGPU/vgpr_constant_to_sgpr.ll
Log Message:
-----------
[AMDGPU] Fix UB in tests due to mismatched calling conventions (#137957)
Fixes UB in tests due to mismatched CC (definition and callsite).
Commit: a750893fea29f32e9bab2cd5176eec34e63b0898
https://github.com/llvm/llvm-project/commit/a750893fea29f32e9bab2cd5176eec34e63b0898
Author: Maryam Moghadas <maryammo at ca.ibm.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
A llvm/test/Transforms/LoopVectorize/PowerPC/vplan-scalarivsext-crash.ll
Log Message:
-----------
[VPlan][LV] Fix invalid truncation in VPScalarIVStepsRecipe (#137832)
Replace CreateTrunc with CreateSExtOrTrunc in VPScalarIVStepsRecipe to
safely handle type conversion. This prevents assertion failures from
invalid truncation when StartIdx0 has a smaller integer type than
IntStepTy. The assertion was introduced by commit 783a846.
Fixes https://github.com/llvm/llvm-project/issues/137185
Commit: ca0c9bcf101867e921b3d883ad476b0c58d2b7e9
https://github.com/llvm/llvm-project/commit/ca0c9bcf101867e921b3d883ad476b0c58d2b7e9
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/riscv/headers.txt
Log Message:
-----------
[libc] Update riscv entrypoints to be on par with x86 (#138597)
This patch updates the riscv entrypoints with almost all functions that
are currently supported on x86. I left six functions commented, as I'll
send separate PRs to enable them:
* poll: needs a new syscall implementation
* utimes: needs a new syscall implementation
* setitimer: test never finished in rv32
* getitimer: test fails in rv32
* exp10m1f: test case doesn't build but it's an easy fix
* sqrtulk: needs to be implemented
I also added the 16-bit fp functions, however, they are not enabled due
to a cmake check in float16-macros.h. To enable 16-bit fp in riscv, we
need to update the buildbots with a clang version that includes the fix
from commit PR #119481
Commit: 96e09302f9e6617b68b7dca17a5a0c866e147d4d
https://github.com/llvm/llvm-project/commit/96e09302f9e6617b68b7dca17a5a0c866e147d4d
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M flang/include/flang/Evaluate/tools.h
Log Message:
-----------
[flang][Evaluate] Fix AsGenericExpr for Relational (#138455)
The variant in Expr<Type<TypeCategory::Logical, KIND>> only contains
Relational<SomeType>, not other, more specific Relational<T> types.
When calling AsGenericExpr for a value of type Relational<T>, the AsExpr
function will attempt to create Expr<> directly for Relational<T>, which
won't work for the above reason.
Implement an overload of AsExpr for Relational<T>, which will wrap the
Relational<T> in Relational<SomeType> before creating Expr<>.
Commit: 304c7a87d01bd0d7c75a0b875beed0a6b491383e
https://github.com/llvm/llvm-project/commit/304c7a87d01bd0d7c75a0b875beed0a6b491383e
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M flang/include/flang/Evaluate/constant.h
Log Message:
-----------
[flang][Evaluate] Restrict ConstantBase constructor overload (#138456)
ConstantBase has a constructor that takes a value of any type as an
input: template <typename T> ConstantBase(const T &). A derived type
Constant<T> is a member of many Expr<T> classes (as an alternative in
the member variant).
When trying (erroneously) to create Expr<T> from a wrong input, if the
specific instance of Expr<T> contains Constant<T>, it's that constructor
that will be instantiated, leading to cryptic and confusing errors.
Eliminate the constructor from overload for invalid input values to help
produce more meaningful diagnostics.
Commit: 573721bf0c302c453620a883a4adf37935646d4a
https://github.com/llvm/llvm-project/commit/573721bf0c302c453620a883a4adf37935646d4a
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M compiler-rt/lib/asan/asan_fuchsia.cpp
M compiler-rt/lib/hwasan/hwasan_fuchsia.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.h
M compiler-rt/lib/ubsan/ubsan_init_standalone.cpp
Log Message:
-----------
[sanitizer][Fuchsia] Add callback at end of __sanitizer_startup_hook (#131886)
Sanitizers using this hook on Fuchsia can define this function to do any
extra stuff at the end of the startup hook. For now this is only used by
HWASan which needs to explicitly be initialized before libc extensions
are intitialized.
Commit: 009b9f4fb8f029f98767b5cb2c1f939119953503
https://github.com/llvm/llvm-project/commit/009b9f4fb8f029f98767b5cb2c1f939119953503
Author: David Garcia Orozco <david.garcia.orozco at intel.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/utils/lit/lit/TestRunner.py
A llvm/utils/lit/tests/Inputs/timeout-hang/lit.cfg
A llvm/utils/lit/tests/Inputs/timeout-hang/run-nonexistent.txt
A llvm/utils/lit/tests/timeout-hang.py
Log Message:
-----------
[lit] Fix lit hang on pool join when exception is thrown (#131881)
Fixes #133914
When using the internal shell with a timeout set lit will hang on the
following call if an exception is thrown and not immediately caught
https://github.com/llvm/llvm-project/blob/19970535f92c0f2dcda01b7fc60f95945166e424/llvm/utils/lit/lit/run.py#L93
This can occur when using the internal lit shell and trying to run a
program that does not exist. In this case `_executeShCmd` will throw an
internal shell error, which will not be caught by the function directly
calling it, `executeShCmd`, rather it is caught one function higher in
the call stack in `executeScriptInternal`. Because that exception is
percolated up the call stack instead of being immediately caught lit
will hang until the test timeout expires. This patch changes the
location where we catch this exception to `executeShCmd` instead to
avoid this.
For more background on what causes this hang see:
https://stackoverflow.com/questions/15314189/python-multiprocessing-pool-hangs-at-join
Commit: e0537c076865e2b25d1c9d01a8d4653848fdabf9
https://github.com/llvm/llvm-project/commit/e0537c076865e2b25d1c9d01a8d4653848fdabf9
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-bin-unary-ops-args.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-div.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-iv32.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-known-no-overflow.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-ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
Log Message:
-----------
[LV][EVL] Attach a new metadata on EVL vectorized loops (#131000)
This patch attaches a new metadata, `llvm.loop.isvectorized.withevl`, on
loops vectorized with explicit vector length. This will help other
optimizations down in the pipeline that focus on EVL-vectorized loop
This approach is much safer than, said IR pattern matching to figure out
if a loop is EVL-vectorized or not.
Commit: 0e3829eb3c8793bbbc1246bbebd79b8250803153
https://github.com/llvm/llvm-project/commit/0e3829eb3c8793bbbc1246bbebd79b8250803153
Author: David Green <david.green at arm.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Use Subtarget directly. NFC
Commit: 8b41551651b66939255e0bcd13e829bb6944e0d6
https://github.com/llvm/llvm-project/commit/8b41551651b66939255e0bcd13e829bb6944e0d6
Author: David Green <david.green at arm.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
Log Message:
-----------
[AArch64] Add a slp vectorization test for extract and shuffle costs. NFC
Commit: c956ed06dc1c1b340d0c589c472c438b9220b36d
https://github.com/llvm/llvm-project/commit/c956ed06dc1c1b340d0c589c472c438b9220b36d
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[OpenMP][NFC] Use temporary instead of local to take advantage of move semantics (#138582)
Static analysis flagged `MapnamesName` because we could move it into
`createOffloadMapnames`. I just replaced the local with a direct call to
`createPlatformSpecificName` at the function argument location.
Commit: f9f79d9331975d9779b9eb9f77f133c8cf25080e
https://github.com/llvm/llvm-project/commit/f9f79d9331975d9779b9eb9f77f133c8cf25080e
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Fix VTList for BUFFER_LOAD and DENORM_MODE (#138704)
This fixes bugs that would be caught by verifyTargetNode in #119709.
Commit: 282af2ddfcfa14a19e2cf596de370c2ead13d0a9
https://github.com/llvm/llvm-project/commit/282af2ddfcfa14a19e2cf596de370c2ead13d0a9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
Log Message:
-----------
[VPlan] Remove unneeded checks from PlanCFGBuilder::isExternalDef (NFC).
Remove checking if the instruction is in the preheader or exit blocks.
Those checks are redundant and handled by checking if the instruction is
outside the loop below.
Split off as suggested from https://github.com/llvm/llvm-project/pull/137709.
Commit: ad5b3e01fbc81337ad8d91663fc6d0624a251e14
https://github.com/llvm/llvm-project/commit/ad5b3e01fbc81337ad8d91663fc6d0624a251e14
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/include/llvm/ADT/MapVector.h
M llvm/unittests/ADT/MapVectorTest.cpp
Log Message:
-----------
[ADT]Add helper function to return a ArrayRef of MapVector's underlying vector (#138726)
SetVector currently has a [similar
method](https://github.com/llvm/llvm-project/blob/c956ed06dc1c1b340d0c589c472c438b9220b36d/llvm/include/llvm/ADT/SetVector.h#L90),
and https://github.com/llvm/llvm-project/pull/138170 has a use case to
get an ArrayRef of MapVector's underlying vector.
Commit: dbe070eb3e09b04f312b238c40e016b97dacbbd2
https://github.com/llvm/llvm-project/commit/dbe070eb3e09b04f312b238c40e016b97dacbbd2
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M offload/DeviceRTL/CMakeLists.txt
Log Message:
-----------
[Offload] Fix PowerPC builds that pass -mcpu (#138327)
Summary:
Another hacky fix done until
https://github.com/llvm/llvm-project/pull/136729 lands. This time for
`-mcpu`.
Commit: 3ea0754d9a51641b0a6143bff7d1f534e19c1ae2
https://github.com/llvm/llvm-project/commit/3ea0754d9a51641b0a6143bff7d1f534e19c1ae2
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M libcxx/utils/ci/apple-install-libcxx.sh
Log Message:
-----------
[libc++] Enable sized deallocation when building operator new shims on Apple (#134152)
This ensures that we are able to build the shims on compilers that
enable sized deallocation by default and those that don't, regardless.
Commit: 60b43ef70b6d0bef9b738d1358a71b55d402288f
https://github.com/llvm/llvm-project/commit/60b43ef70b6d0bef9b738d1358a71b55d402288f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M libcxx/test/std/containers/sequences/vector/vector.modifiers/common.h
M libcxx/test/std/containers/sequences/vector/vector.modifiers/emplace.pass.cpp
R libcxx/test/std/containers/sequences/vector/vector.modifiers/emplace_extra.pass.cpp
Log Message:
-----------
[libc++] Improve the test coverage for std::vector::emplace (#132440)
This patch refactors the test for std::vector::emplace back to cover new
corner cases, and increase coverage for normal cases as well.
This is building towards #129328.
Commit: d05ab119e188be99697f142a02c6b71137fde082
https://github.com/llvm/llvm-project/commit/d05ab119e188be99697f142a02c6b71137fde082
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M libcxx/include/__iterator/advance.h
M libcxx/include/__iterator/next.h
M libcxx/include/__iterator/prev.h
M libcxx/test/libcxx/iterators/assert.next.pass.cpp
M libcxx/test/libcxx/iterators/assert.prev.pass.cpp
Log Message:
-----------
[libc++] Remove redundant and somewhat confusing assertions around advance() (#133276)
The std::advance function has a clear precondition that it can only be
called with a negative distance when a bidirectional iterator is used.
However, prev() and next() don't have such preconditions explicitly,
they inherit it from calling advance().
This patch removes assertions in prev() and next() that were duplicates
of similar ones in advance(), and removes a copy-pasted comment that was
trying to justify the use of _LIBCPP_ASSERT_PEDANTIC but IMO is creating
confusion with little benefit.
Commit: 32928a07846bd531ef31f1166faa4e119be4f15f
https://github.com/llvm/llvm-project/commit/32928a07846bd531ef31f1166faa4e119be4f15f
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanCFG.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
Log Message:
-----------
[VPlan] Construct regions from innermost to outermost (NFC).
Flip the region construction order to innermost first from outermost
first. This ensures we only set the final parent region for VPBBs once.
Split off from https://github.com/llvm/llvm-project/pull/137709.
Commit: c7659d88ac97ccfdc4eadb23673e3a4fd9cdeb53
https://github.com/llvm/llvm-project/commit/c7659d88ac97ccfdc4eadb23673e3a4fd9cdeb53
Author: Chinmay Deshpande <chdeshpa at amd.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/GlobalISel/and.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/or.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/xor.ll
Log Message:
-----------
[NFC][GlobalISel] Pre-commit GISel AMDGPU tests for XOR, OR, AND (#138586)
Commit: 58d4ebb29fe6b0faf543463b54130cba61b5d5d5
https://github.com/llvm/llvm-project/commit/58d4ebb29fe6b0faf543463b54130cba61b5d5d5
Author: Raul Tambre <raul at tambre.ee>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M libcxx/CMakeLists.txt
Log Message:
-----------
[libcxx][CMake] Use the right variable in the C library error message (#138458)
Fixes: 3b78dfa10c4b77581cc29c4510aefe919ae660ba
Commit: bb09f79f0f2b8e0cc3ed01d19ae49afbda8f82d2
https://github.com/llvm/llvm-project/commit/bb09f79f0f2b8e0cc3ed01d19ae49afbda8f82d2
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.h
M clang/test/CIR/CodeGenOpenACC/loop.cpp
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[OpenACC] Implement tile/collapse lowering (#138576)
These two ended up being pretty similar in frontend implementation, and
fairly trivial when doing lowering. The collapse clause jsut results in
a normal device_type style attribute with some mild additional
complexity, and 'tile' just uses the current infrastructure for 'with
segments'.
Commit: b67880d8755bef5505a98cadbb48c4aad8b4c115
https://github.com/llvm/llvm-project/commit/b67880d8755bef5505a98cadbb48c4aad8b4c115
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[MLIR][TOSA-Linalg] Fix rescale lowering for unsigned input zp (#138313)
Lowering of tosa.rescale to Linalg unconditionally sign-extend the input
zero-point value, even when unsigned_input is true. This commit refactor
zeropoint handling to share the same logic between input and output
zeropoint.
Commit: 2f54a843bbbadbfaeb1a128eda075cc2e53b4fe0
https://github.com/llvm/llvm-project/commit/2f54a843bbbadbfaeb1a128eda075cc2e53b4fe0
Author: A. Jiang <de34 at live.cn>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/iterator_comparison.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.iterators/iterator_comparison.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator_comparison.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.iterators/iterator_comparison.pass.cpp
M libcxx/test/support/MinSequenceContainer.h
M libcxx/test/support/test_iterators.h
Log Message:
-----------
[libc++][test] Test `flat_meow` with proper underlying iterators (#131290)
Flat container adaptors require the iterators of underlying containers
to be random access, and it is required that random access container
iterators must support three-way comparison ([container.reqmts]/39 - /41).
As a result, we should at least avoid testing "containers" with random
access but not three-way comparable iterators for flat container
adaptors.
This patch adds a new class template `three_way_random_access_iterator`
to `test_iterators.h` and fixes some usages of `MinSequenceContainer`
with the new iterators.
Commit: f25f9e480bd00f467919ec1d6824e533e500f6c3
https://github.com/llvm/llvm-project/commit/f25f9e480bd00f467919ec1d6824e533e500f6c3
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M libcxx/include/__vector/vector.h
M libcxx/include/string
M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string.string_view.pass.cpp
Log Message:
-----------
[libc++][NFC] Remove a bunch of redundant ASan existence checks (#128504)
There are currently lots of `_LIBCPP_HAS_ASAN` and
`__libcpp_is_constant_evaluated()` checks which aren't needed, since it
is centrally checked inside `__debug_utils/sanitizers.h`.
Commit: 7087ee6bc79c95692c609cf174b3cb5e6e0c1820
https://github.com/llvm/llvm-project/commit/7087ee6bc79c95692c609cf174b3cb5e6e0c1820
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill_n.pass.cpp
Log Message:
-----------
[libc++][NFC] Improve test readability for std::fill_n (#133771)
This patch enhances test readability by inlining standalone tests,
eliminating unnecessary navigation. Additionally, several classes with
ad-hoc names have been renamed for better clarity:
- `A` -> `CharWrapper` as it wraps a char
- `B -> CharTransformer` as it accepts a char `xc` but stores `xc + 1`
- `Storage -> CharUnionStorage` as it stores a union of 2 `char`s.
This patch addresses a follow-up comment from #120909 to inline tests.
Commit: 0b8528e127d898a8bdb0d96c9afc7f3baa4bc3f5
https://github.com/llvm/llvm-project/commit/0b8528e127d898a8bdb0d96c9afc7f3baa4bc3f5
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
Log Message:
-----------
[instcombine] Adjust style of MemIntrinsic code to be more idiomatic [nfc] (#138715)
Use an existing helper function. Remove the use of a local Changed
variable which doesn't seem to interact with surrounding transforms in
any meaningful way. (Both memcpy and memmove are MemTransfer
instructions, so switching from one to the other doesn't change
results.)
Posted for review mostly for a sanity check that I'm not missing
something with the logic around the Change flag.
Commit: deebf47ab12343e83f2b8ce8e80bacf83c399ac0
https://github.com/llvm/llvm-project/commit/deebf47ab12343e83f2b8ce8e80bacf83c399ac0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/freeze-fp-ops.ll
Log Message:
-----------
InstCombine: Add baseline test for minimumnum/maximumnum freeze fold (#138728)
Commit: 51e157f58109200981e87946b756991aeacacd66
https://github.com/llvm/llvm-project/commit/51e157f58109200981e87946b756991aeacacd66
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/freeze-fp-ops.ll
Log Message:
-----------
ValueTracking: Handle minimumnum/maximumnum in canCreateUndefOrPoison (#138729)
Commit: f4c3254956d4e045c35b4bdf1ea450016d03b5b0
https://github.com/llvm/llvm-project/commit/f4c3254956d4e045c35b4bdf1ea450016d03b5b0
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M clang/include/clang/Basic/FPOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Basic/LangOptions.cpp
Log Message:
-----------
[clang][NFC] rename FPOptions.def's macro to FP_OPTION (#138374)
While investigating the recent warnings around FEM_Indeterminate I
noticed that the macro name for FPOptions.def was given the very generic
name `OPTION`.
This PR renames it to FP_OPTION instead.
Commit: eb6d51a2fdddcc305b51f7d412d0e5144cbd444d
https://github.com/llvm/llvm-project/commit/eb6d51a2fdddcc305b51f7d412d0e5144cbd444d
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M clang/lib/Basic/Targets/X86.h
M clang/test/Driver/emulated-tls.cpp
Log Message:
-----------
[Cygwin] Enable TLS on Cygwin target (#138618)
Cygwin environment and toolchain supports EMUTLS.
From
https://cygwin.com/git/?p=newlib-cygwin.git;a=blob;f=config/tls.m4;hb=HEAD#l118,
```
$ LANG=C gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-cygwin/15/lto-wrapper.exe Target: x86_64-pc-cygwin
Configured with: (snip)
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 15.0.1 20250406 (experimental) (GCC)
$ echo '__thread int a; int b; int main() { return a = b; }' | gcc -S -xc -o- - | grep __emutls_get_address
call __emutls_get_address
.def __emutls_get_address; .scl 2; .type 32; .endef
```
Commit: 25af0ae8efa90610af114dfe0eea8f7f14462cc2
https://github.com/llvm/llvm-project/commit/25af0ae8efa90610af114dfe0eea8f7f14462cc2
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M clang/lib/Index/IndexingContext.h
Log Message:
-----------
[clang][Index] Add comment about out-of-line defaulted destructor (#138640)
Commit: cf9b4d1e7961214deabd99a9fc3b1d4c9e78a71f
https://github.com/llvm/llvm-project/commit/cf9b4d1e7961214deabd99a9fc3b1d4c9e78a71f
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaTemplate/fun-template-def.cpp
Log Message:
-----------
[Clang] Diagnose invalid function types in dependent contexts (#138731)
When forming an invalid function type, we were not diagnosing it if the
call was dependent.
However, we later rely on the function type to be sensible during
argument deduction.
We now diagnose anything that is not a potential function type, to avoid
constructing bogus call expressions.
Fixes #138657
Fixes #115725
Fixes #68852
Commit: 5c3ef62f64cc379b8c5a4cf23bcaf019d398fcc4
https://github.com/llvm/llvm-project/commit/5c3ef62f64cc379b8c5a4cf23bcaf019d398fcc4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M lldb/source/Breakpoint/WatchpointAlgorithms.cpp
Log Message:
-----------
[lldb] Use llvm::bit_ceil (NFC) (#138723)
This patch replaces a local implementation of bit_ceil with
llvm::bit_ceil. Technically, the local implementation evaluates to 0
on input 0, whereas llvm::bit_ceil evaluates to 1, but that doesn't
matter because we have:
// Can't watch zero bytes.
if (user_size == 0)
return {};
Commit: 9d89b05f1147dc442794186f505e30a27ffe75a7
https://github.com/llvm/llvm-project/commit/9d89b05f1147dc442794186f505e30a27ffe75a7
Author: Pavel Verigo <58272683+pavelverigo at users.noreply.github.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
A llvm/test/CodeGen/WebAssembly/fast-isel-pr138479.ll
Log Message:
-----------
[WebAssembly] Fix trunc in FastISel (#138479)
Previous logic did not handle the case where the result bit size was
between 32 and 64 bits inclusive. I updated the if-statements for more
precise handling.
An alternative solution would have been to abort FastISel in case the
result type is not legal for FastISel.
Resolves: #64222.
This PR began as an investigation into the root cause of
https://github.com/ziglang/zig/issues/20966.
Godbolt link showing incorrect codegen on 20.1.0:
https://godbolt.org/z/cEr4vY7d4.
Commit: 650dca5d896023c05bd34dafb756d9bdf7c0033d
https://github.com/llvm/llvm-project/commit/650dca5d896023c05bd34dafb756d9bdf7c0033d
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/MemoryLocation.h
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/include/llvm/Transforms/Utils/LowerMemIntrinsics.h
M llvm/lib/Analysis/MemoryLocation.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
M llvm/unittests/Transforms/Utils/MemTransferLowering.cpp
Log Message:
-----------
[IR] Remove the AtomicMem*Inst helper classes (#138710)
Migrate their usage to the `AnyMem*Inst` family, and add a isAtomic()
query on the base class for that hierarchy. This matches the idioms we
use for e.g. isAtomic on load, store, etc.. instructions, the existing
isVolatile idioms on mem* routines, and allows us to more easily share
code between atomic and non-atomic variants.
As with #138568, the goal here is to simplify the class hierarchy and
make it easier to reason about. I'm moving from easiest to hardest, and
will stop at some point when I hit "good enough". Longer term, I'd sorta
like to merge or reverse the naming on the plain Mem*Inst and the
AnyMem*Inst, but that's a much larger and more risky change. Not sure
I'm going to actually do that.
Commit: 57e88993fee30f4441e87df4df061393600b2ada
https://github.com/llvm/llvm-project/commit/57e88993fee30f4441e87df4df061393600b2ada
Author: Ikhlas Ajbar <iajbar at quicinc.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonPatterns.td
A llvm/test/CodeGen/Hexagon/isel/pfalse-v4i1.ll
Log Message:
-----------
[Hexagon] Add missing patterns to select PFALSE and PTRUE (#138712)
Fixes #134659
Commit: 097fef28dae145cc41f80151825e929668414d24
https://github.com/llvm/llvm-project/commit/097fef28dae145cc41f80151825e929668414d24
Author: Steven Perron <stevenperron at google.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
Log Message:
-----------
[SPIRV] Fix asan failure (#138695)
When the DataLayout is destroyed, the memory backing `Offsets` is
released. This causes a use after free.
To fix it, I added a DataLayout varible that will not be destroyed until
after Offsets is used.
Fixes asan failure caused by
https://github.com/llvm/llvm-project/pull/135789
Commit: aa77f7a923780fc512977bb7df149e9313658106
https://github.com/llvm/llvm-project/commit/aa77f7a923780fc512977bb7df149e9313658106
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/IR/DataLayout.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/TargetRegistry.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Target/X86/X86Subtarget.h
Log Message:
-----------
[NFC][llvm] Drop isOsWindowsOrUEFI API (#138733)
The Triple and SubTarget API functions isOsWindowsOrUEFI is not
preferred. Dropping them.
Commit: 0a07e6beaf0560da75cdde31a2b1d2fa608bf27d
https://github.com/llvm/llvm-project/commit/0a07e6beaf0560da75cdde31a2b1d2fa608bf27d
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Target/X86/X86Subtarget.h
M llvm/test/CodeGen/X86/musttail-tailcc.ll
M llvm/test/CodeGen/X86/tailcall-tailcc.ll
M llvm/test/CodeGen/X86/tailcc-fastcc.ll
M llvm/test/CodeGen/X86/tailcc-fastisel.ll
M llvm/test/CodeGen/X86/tailccstack64.ll
A llvm/test/CodeGen/X86/uefi-fastcc.ll
Log Message:
-----------
[llvm] Allow Fast and Tail CC in UEFI (#138361)
Allow tail call and fastcc optimizations for UEFI X86_64 targets.
Commit: 6c764a6dda9f63dda38540a52b2b3bbbb1f3291b
https://github.com/llvm/llvm-project/commit/6c764a6dda9f63dda38540a52b2b3bbbb1f3291b
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Support/Mustache.cpp
Log Message:
-----------
[llvm][mustache][NFC] Use type alias for escape symbols (#138050)
This data structure's type and/or representation is likely to change.
Using an alias, makes it easy to refactor.
Commit: df90ab96fb5a10df88fcfe6b0e8e63781ca24eca
https://github.com/llvm/llvm-project/commit/df90ab96fb5a10df88fcfe6b0e8e63781ca24eca
Author: Kirill Stoimenov <kstoimenov at google.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
Log Message:
-----------
Revert "[SPIRV] Fix asan failure (#138695)"
Breaks bot: https://lab.llvm.org/buildbot/#/builders/24/builds/8151
This reverts commit 097fef28dae145cc41f80151825e929668414d24.
Commit: 0fb5720b4bf461d4d51ee85a8a6f4ea4f6fb4966
https://github.com/llvm/llvm-project/commit/0fb5720b4bf461d4d51ee85a8a6f4ea4f6fb4966
Author: Kirill Stoimenov <kstoimenov at google.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVIRMapping.h
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
M llvm/test/CodeGen/SPIRV/hlsl-resources/StructuredBuffer.ll
R llvm/test/CodeGen/SPIRV/spirv-explicit-layout.ll
Log Message:
-----------
Revert "[SPIRV] Add explicit layout (#135789)"
Breaks bot: https://lab.llvm.org/buildbot/#/builders/24/builds/8092
This reverts commit 492ad848b1c319ad9641208aaadb41bc575a9c3f.
Commit: ba29e60f9a2222bd5e883579bb78db13fc5a7588
https://github.com/llvm/llvm-project/commit/ba29e60f9a2222bd5e883579bb78db13fc5a7588
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
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/attach/TestDAP_attach.py
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attachByPortNum.py
M lldb/test/API/tools/lldb-dap/breakpoint-events/TestDAP_breakpointEvents.py
M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
M lldb/test/API/tools/lldb-dap/disconnect/TestDAP_disconnect.py
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
M lldb/test/API/tools/lldb-dap/repl-mode/TestDAP_repl_mode_detection.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_runInTerminal.py
M lldb/test/API/tools/lldb-dap/stop-hooks/TestDAP_stop_hooks.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LaunchRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
Log Message:
-----------
[lldb-dap] Change the launch sequence (#138219)
This PR changes how we treat the launch sequence in lldb-dap.
- Send the initialized event after we finish handling the initialize
request, rather than after we finish attaching or launching.
- Delay handling the launch and attach request until we have handled
the configurationDone request. The latter is now largely a NO-OP and
only exists to signal lldb-dap that it can handle the launch and
attach requests.
- Delay handling the initial threads requests until we have handled
the launch or attach request.
- Make all attaching and launching synchronous, including when we have
attach or launch commands. This removes the need to synchronize
between the request and event thread.
Background:
https://discourse.llvm.org/t/reliability-of-the-lldb-dap-tests/86125
Commit: 46e99ac1e95dcf940f0597cf76afb26f545756ae
https://github.com/llvm/llvm-project/commit/46e99ac1e95dcf940f0597cf76afb26f545756ae
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
Revert "[MLIR][TOSA-Linalg] Fix rescale lowering for unsigned input zp (#138313)"
This reverts commit b67880d8755bef5505a98cadbb48c4aad8b4c115.
Commit: a63fd59d95397d236b03e964287728a35efa296b
https://github.com/llvm/llvm-project/commit/a63fd59d95397d236b03e964287728a35efa296b
Author: ZhongUncle <78771985+ZhongUncle at users.noreply.github.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
A clang-tools-extra/test/clang-doc/comments-in-macros.cpp
Log Message:
-----------
[clang-doc] Add regression test for test comments in macros (#132510)
Fixes https://github.com/llvm/llvm-project/issues/59819. The underlying
problem was fixed in https://reviews.llvm.org/D142560, but this patch
adds a proper regression test.
Commit: 32fb8c5f5fdeb20de28846e2fe9e2c7525f62086
https://github.com/llvm/llvm-project/commit/32fb8c5f5fdeb20de28846e2fe9e2c7525f62086
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M clang-tools-extra/modularize/ModularizeUtilities.cpp
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Lex/ModuleMap.h
M clang/include/clang/Lex/ModuleMapFile.h
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Lex/ModuleMapFile.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/test/ClangScanDeps/modules-canononical-module-map-case.c
A clang/test/Modules/Inputs/shadow/A1/A1.h
M clang/test/Modules/Inputs/shadow/A1/module.modulemap
A clang/test/Modules/Inputs/shadow/A2/A2.h
M clang/test/Modules/Inputs/shadow/A2/module.modulemap
A clang/test/Modules/lazy-by-name-lookup.c
M clang/test/Modules/shadow.m
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
Log Message:
-----------
[clang][modules] Lazily load by name lookups in module maps (#132853)
Instead of eagerly populating the `clang::ModuleMap` when looking up a
module by name, this patch changes `HeaderSearch` to only load the
modules that are actually used.
This introduces `ModuleMap::findOrLoadModule` which will load modules
from parsed but not loaded module maps. This cannot be used anywhere
that the module loading code calls into as it can create infinite
recursion.
This currently just reparses module maps when looking up a module by
header. This is fine as redeclarations are allowed from the same file,
but future patches will also make looking up a module by header lazy.
This patch changes the shadow.m test to use explicitly built modules and
`#import`. This test and the shadow feature are very brittle and do not
work in general. The test relied on pcm files being left behind by prior
failing clang invocations that were then reused by the last invocation.
If you clean the cache then the last invocation will always fail. This
is because the input module map and the `-fmodule-map-file=` module map
are parsed in the same module scope, and `-fmodule-map-file=` is
forwarded to implicit module builds. That means you are guaranteed to
hit a module redeclaration error if the TU actually imports the module
it is trying to shadow.
This patch changes when we load A2's module map to after the `A` module
has been loaded, which sets the `IsFromModuleFile` bit on `A`. This
means that A2's `A` is skipped entirely instead of creating a shadow
module, and we get textual inclusion. It is possible to construct a case
where this would happen before this patch too.
An upcoming patch in this series will rework shadowing to work in the
general case, but that's only possible once header -> module lookup is
lazy too.
Commit: 11f33ab3850886510a831122078a155be7dc1167
https://github.com/llvm/llvm-project/commit/11f33ab3850886510a831122078a155be7dc1167
Author: jimingham <jingham at apple.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
A lldb/test/API/macosx/branch-islands/Makefile
A lldb/test/API/macosx/branch-islands/TestBranchIslands.py
A lldb/test/API/macosx/branch-islands/foo.c
A lldb/test/API/macosx/branch-islands/main.c
A lldb/test/API/macosx/branch-islands/padding1.s
A lldb/test/API/macosx/branch-islands/padding2.s
A lldb/test/API/macosx/branch-islands/padding3.s
A lldb/test/API/macosx/branch-islands/padding4.s
Log Message:
-----------
Branch island with numbers (#138781)
Reapply the support for stepping through branch islands, add support for
a branch that takes multiple hops to get to the target.
Commit: 189702326a3a4c9072e346a8197913a4d968cbe3
https://github.com/llvm/llvm-project/commit/189702326a3a4c9072e346a8197913a4d968cbe3
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M clang/test/CodeGenOpenCL/amdgpu-features.cl
Log Message:
-----------
[AMDGPU] Fix gfx1201 check line in the amdgpu-features.cl. NFC. (#138743)
Commit: 0274232b87177779e5c985eca06df22bf140f6cb
https://github.com/llvm/llvm-project/commit/0274232b87177779e5c985eca06df22bf140f6cb
Author: Kirill Stoimenov <kstoimenov at google.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/Use.h
M llvm/include/llvm/IR/Value.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Value.cpp
M llvm/unittests/IR/ConstantsTest.cpp
Log Message:
-----------
Revert "IR: Remove reference counts from ConstantData (#137314)"
This reverts commit 51a3bd919d68a8fb1b026377d6e86b1523d37433.
Possible breaks the build: https://lab.llvm.org/buildbot/#/builders/24/builds/8119/steps/9/logs/stdio
Commit: 5936c02c8b9c6d1476f7830517781ce8b6e26e75
https://github.com/llvm/llvm-project/commit/5936c02c8b9c6d1476f7830517781ce8b6e26e75
Author: Kirill Stoimenov <kstoimenov at google.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/Use.h
M llvm/include/llvm/IR/Value.h
M llvm/lib/Analysis/TypeMetadataUtils.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Use.cpp
M llvm/lib/IR/Value.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/test/Analysis/MemorySSA/nondeterminism.ll
R llvm/test/tools/llvm-diff/uselistorder-issue58629-gv.ll
M llvm/test/tools/llvm-diff/uselistorder-issue58629.ll
M llvm/test/tools/llvm-reduce/bitcode-uselistorder.ll
M llvm/test/tools/llvm-reduce/uselistorder-invalid-ir-output.ll
M llvm/tools/verify-uselistorder/verify-uselistorder.cpp
M polly/lib/Support/ScopHelper.cpp
Log Message:
-----------
Revert "IR: Remove uselist for constantdata (#137313)"
Possibly breaks the build: https://lab.llvm.org/buildbot/#/builders/24/builds/8119
This reverts commit 87f312aad6ede636cd2de5d18f3058bf2caf5651.
Commit: 91f1830cb69cab96201adba6378d64095e251f95
https://github.com/llvm/llvm-project/commit/91f1830cb69cab96201adba6378d64095e251f95
Author: Yanzuo Liu <zwuis at outlook.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/SemaCXX/cxx1y-variable-templates_in_class.cpp
M clang/test/SemaCXX/cxx1y-variable-templates_top_level.cpp
M clang/test/SemaTemplate/instantiate-var-template.cpp
Log Message:
-----------
[Clang][Sema] Handle invalid variable template specialization whose type depends on itself (#134522)
Commit: 675cb706411ced3172bd21def5b38f5ee7cca308
https://github.com/llvm/llvm-project/commit/675cb706411ced3172bd21def5b38f5ee7cca308
Author: Matthias Braun <matze at braunis.de>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/ARC/ARC.h
M llvm/lib/Target/ARC/ARCAsmPrinter.cpp
M llvm/lib/Target/ARC/ARCTargetMachine.cpp
M llvm/lib/Target/ARM/ARM.h
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMAsmPrinter.h
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/lib/Target/AVR/AVR.h
M llvm/lib/Target/AVR/AVRAsmPrinter.cpp
M llvm/lib/Target/AVR/AVRTargetMachine.cpp
M llvm/lib/Target/BPF/BPF.h
M llvm/lib/Target/BPF/BPFAsmPrinter.cpp
M llvm/lib/Target/BPF/BPFTargetMachine.cpp
M llvm/lib/Target/Hexagon/Hexagon.h
M llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
M llvm/lib/Target/Hexagon/HexagonAsmPrinter.h
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/Lanai/Lanai.h
M llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp
M llvm/lib/Target/Lanai/LanaiTargetMachine.cpp
M llvm/lib/Target/LoongArch/LoongArch.h
M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.h
M llvm/lib/Target/M68k/M68k.h
M llvm/lib/Target/M68k/M68kAsmPrinter.cpp
M llvm/lib/Target/M68k/M68kAsmPrinter.h
M llvm/lib/Target/M68k/M68kTargetMachine.cpp
M llvm/lib/Target/MSP430/MSP430.h
M llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp
M llvm/lib/Target/MSP430/MSP430TargetMachine.cpp
M llvm/lib/Target/Mips/Mips.h
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.h
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/PowerPC/PPC.h
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCV.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/SPIRV/SPIRV.h
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/Sparc/Sparc.h
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
M llvm/lib/Target/Sparc/SparcTargetMachine.cpp
M llvm/lib/Target/SystemZ/SystemZ.h
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
M llvm/lib/Target/VE/VE.h
M llvm/lib/Target/VE/VEAsmPrinter.cpp
M llvm/lib/Target/VE/VETargetMachine.cpp
M llvm/lib/Target/WebAssembly/WebAssembly.h
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.h
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/lib/Target/X86/X86AsmPrinter.h
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/lib/Target/XCore/XCore.h
M llvm/lib/Target/XCore/XCoreAsmPrinter.cpp
M llvm/lib/Target/XCore/XCoreTargetMachine.cpp
M llvm/lib/Target/Xtensa/Xtensa.h
M llvm/lib/Target/Xtensa/XtensaAsmPrinter.cpp
M llvm/lib/Target/Xtensa/XtensaAsmPrinter.h
M llvm/lib/Target/Xtensa/XtensaTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/asm-printer-check-vcc.mir
M llvm/test/CodeGen/RISCV/instruction-count-remark.mir
M llvm/test/CodeGen/X86/align-basic-block-sections.mir
M llvm/test/CodeGen/X86/basic-block-address-map-mir-parse.mir
M llvm/test/CodeGen/X86/basic-block-sections-mir-parse.mir
M llvm/test/DebugInfo/MIR/AArch64/clobber-sp.mir
M llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-expr-chain.mir
M llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-expr-entry-value.mir
M llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-orr-moves.mir
M llvm/test/DebugInfo/MIR/AArch64/implicit-def-dead-scope.mir
M llvm/test/DebugInfo/MIR/AArch64/no-dbg-value-after-terminator.mir
M llvm/test/DebugInfo/MIR/AArch64/subreg-fragment-overflow.mir
M llvm/test/DebugInfo/X86/single-location.mir
Log Message:
-----------
Register assembly printer passes (#138348)
Register assembly printer passes in the pass registry.
This makes it possible to use `llc -start-before=<target>-asm-printer ...` in tests.
Adds a `char &ID` parameter to the AssemblyPrinter constructor to allow
targets to use the `INITIALIZE_PASS` macros and register the pass in the
pass registry. This currently has a default parameter so it won't break
any targets that have not been updated.
Commit: 7fa721ac6c44241da6151b8dec6d9c0456550d66
https://github.com/llvm/llvm-project/commit/7fa721ac6c44241da6151b8dec6d9c0456550d66
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/coalesce-copy-to-agpr-to-av-registers.mir
Log Message:
-----------
[AMDGPU] Extend test coverage for cross RC register coalescing (#138617)
[[Change-Id:
I36894fc36e6e6214930fae67f2ca35999abf3b88](https://github.com/llvm/llvm-project/pull/132137)
](https://github.com/llvm/llvm-project/pull/132137) landed, but was
breaking bots. In the rebase, I accidentally brought in unintended
changes. I have reverted the commit
https://github.com/llvm/llvm-project/commit/8b9ae65d51a14cac5a312bb19cb4757a88fc240b
and fixed the rebase.
This PR is to land the original patch / extension to the test.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 69a0af35a5860156836e9e295ecef9de3474db11
https://github.com/llvm/llvm-project/commit/69a0af35a5860156836e9e295ecef9de3474db11
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
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/attach/TestDAP_attach.py
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attachByPortNum.py
Log Message:
-----------
[lldb-dap] Don't make stopOnAttach the default in attach tests
Make stopOnAttach=False the default again and explicitly pass
stopOnAttach=True where the tests relies on that. I changed the default
in the launch sequence PR (#138219) because that was implicitly the
assumption (the tests never send the configurationDone request).
Commit: a1238911f43c1d46cc7d4e72e2a16c3c9a157d9a
https://github.com/llvm/llvm-project/commit/a1238911f43c1d46cc7d4e72e2a16c3c9a157d9a
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
R lldb/test/API/macosx/branch-islands/Makefile
R lldb/test/API/macosx/branch-islands/TestBranchIslands.py
R lldb/test/API/macosx/branch-islands/foo.c
R lldb/test/API/macosx/branch-islands/main.c
R lldb/test/API/macosx/branch-islands/padding1.s
R lldb/test/API/macosx/branch-islands/padding2.s
R lldb/test/API/macosx/branch-islands/padding3.s
R lldb/test/API/macosx/branch-islands/padding4.s
Log Message:
-----------
Revert "Branch island with numbers (#138781)"
This reverts commit 11f33ab3850886510a831122078a155be7dc1167.
This is failing on CI.
Commit: b5c7724f82b6afe98761d0a1c5b6ee7cd2330ada
https://github.com/llvm/llvm-project/commit/b5c7724f82b6afe98761d0a1c5b6ee7cd2330ada
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fptosi.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fptoui.ll
Log Message:
-----------
[LoongArch] Fix fp_to_uint/fp_to_sint conversion errors for lasx (#137129)
Prvious `fp_to_uint/fp_to_sint` patterns for `v4f64 -> v4i32` are wrong.
Conversion error was triggered after pr
https://github.com/llvm/llvm-project/pull/126456.
Commit: 9ea92f0c5dedeb2a3196540e0073807f8ba4e9d4
https://github.com/llvm/llvm-project/commit/9ea92f0c5dedeb2a3196540e0073807f8ba4e9d4
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
Log Message:
-----------
[AMDGPU] clang-format part of AMDGPUSubtarget.h. NFC. (#138756)
Commit: f69e2671f8c54651e591ed0ac207a871014c9a9b
https://github.com/llvm/llvm-project/commit/f69e2671f8c54651e591ed0ac207a871014c9a9b
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
Log Message:
-----------
[AMDGPU] Remove unused argument in builtins-amdgcn-gfx950.cl. NFC. (#138753)
Commit: 17ea830baf836e9cd0cfbbc6539a3a1ffcd8ec52
https://github.com/llvm/llvm-project/commit/17ea830baf836e9cd0cfbbc6539a3a1ffcd8ec52
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Don't annotate enum colon as InheritanceColon (#138440)
Fix #61156
Commit: b1e6c4b43507006c212f1f6126426a1e46774132
https://github.com/llvm/llvm-project/commit/b1e6c4b43507006c212f1f6126426a1e46774132
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Correctly annotate C# nullable value type `?` (#138631)
Fix #78666
Commit: 0e75810456008533ed62fe7a343f22b50d65cc90
https://github.com/llvm/llvm-project/commit/0e75810456008533ed62fe7a343f22b50d65cc90
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in annotating binary operator && (#138633)
Fix #138485
Commit: 3c709802d31b5bc5ed3af8284b40593ff39b9eec
https://github.com/llvm/llvm-project/commit/3c709802d31b5bc5ed3af8284b40593ff39b9eec
Author: Lei Zhang <antiagainst at gmail.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M mlir/lib/TableGen/Pattern.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/mlir-tblgen/pattern.mlir
Log Message:
-----------
[mlir][drr] Fix getValueAndRangeUse for Optional operands (#138742)
Optional operands should just return one single value.
Commit: 5e70460d0155aacbd926f97a7c059de009b6e22d
https://github.com/llvm/llvm-project/commit/5e70460d0155aacbd926f97a7c059de009b6e22d
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
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/attach/TestDAP_attach.py
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attachByPortNum.py
Log Message:
-----------
Revert "[lldb-dap] Don't make stopOnAttach the default in attach tests"
This reverts commit 69a0af35a5860156836e9e295ecef9de3474db11 as it's
timing out on the bots.
Commit: 796652dfc198c228b0d917be05ae69073e6c540c
https://github.com/llvm/llvm-project/commit/796652dfc198c228b0d917be05ae69073e6c540c
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M clang-tools-extra/clang-doc/Representation.h
Log Message:
-----------
[clang-doc] Track Descriptions and TypeDeclaration for types (#138058)
Split from #133161. This patch allows Typedefs to now track both their
declarations and full descriptions. Subsequent patches will leverage the
additional fields in the representation.
Co-authored-by: Peter Chou <peter.chou at mail.utoronto.ca>
Commit: 5d305b618f3f58a7bbe8340ba882233338591d07
https://github.com/llvm/llvm-project/commit/5d305b618f3f58a7bbe8340ba882233338591d07
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M clang-tools-extra/clang-change-namespace/ChangeNamespace.cpp
M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
Log Message:
-----------
[clang-tools-extra] Remove redundant calls to std::unique_ptr<T>::get (NFC) (#138774)
Commit: 22d10f0a506d98abcba6091a8efc7c1b61bbef46
https://github.com/llvm/llvm-project/commit/22d10f0a506d98abcba6091a8efc7c1b61bbef46
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
A clang-tools-extra/clang-doc/assets/clang-doc-mustache.css
A clang-tools-extra/clang-doc/assets/class-template.mustache
A clang-tools-extra/clang-doc/assets/comments-template.mustache
A clang-tools-extra/clang-doc/assets/enum-template.mustache
A clang-tools-extra/clang-doc/assets/function-template.mustache
A clang-tools-extra/clang-doc/assets/mustache-index.js
A clang-tools-extra/clang-doc/assets/namespace-template.mustache
A clang-tools-extra/clang-doc/assets/template.mustache
M clang-tools-extra/clang-doc/tool/CMakeLists.txt
Log Message:
-----------
[clang-doc] Add Mustache template assets (#138059)
This patch adds the various assets used with the HTML Mustache backend.
This includes templates for a variety of different language constructs,
as well as the CSS. Split from #133161.
Co-authored-by: Peter Chou <peter.chou at mail.utoronto.ca>
Commit: 9e7d529607ebde67af5b214a654de82cfa2ec8c4
https://github.com/llvm/llvm-project/commit/9e7d529607ebde67af5b214a654de82cfa2ec8c4
Author: Kaviya Rajendiran <67495422+kaviya2510 at users.noreply.github.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M flang/include/flang/Semantics/symbol.h
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
M flang/lib/Semantics/resolve-directives.cpp
R flang/test/Lower/OpenMP/Todo/task-inreduction.f90
R flang/test/Lower/OpenMP/Todo/taskgroup-task-reduction.f90
A flang/test/Lower/OpenMP/task-inreduction.f90
A flang/test/Lower/OpenMP/taskgroup-task-array-reduction.f90
A flang/test/Lower/OpenMP/taskgroup-task_reduction01.f90
A flang/test/Lower/OpenMP/taskgroup-task_reduction02.f90
Log Message:
-----------
[Flang][OpenMP]Support for lowering task_reduction and in_reduction to MLIR (#111155)
This patch,
- Added support for lowering of task_reduction to MLIR
- Added support for lowering of in_reduction to MLIR
- Fixed incorrect DSA handling for variables in the presence of 'in_reduction' clause.
Commit: 54aa16d2934f0d57184ab203bc3a0f534501f508
https://github.com/llvm/llvm-project/commit/54aa16d2934f0d57184ab203bc3a0f534501f508
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/callcont-fallthru.s
Log Message:
-----------
[BOLT] Drop converting return profile to call cont (#129477)
The workaround was not implemented for BAT case, and it is no longer
needed with pre-aggregated traces, alternatively, the effect can be
achieved with `infer-fall-throughs` with old pre-aggregated format
(branches + ranges).
Test Plan: updated callcont-fallthru.s
Commit: e1fed24034fee3f45bc17252ced5ee29ab6b5408
https://github.com/llvm/llvm-project/commit/e1fed24034fee3f45bc17252ced5ee29ab6b5408
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/atomic-update.f90
Log Message:
-----------
[flang][OpenMP] Fix fir.convert in omp.atomic.update region (#138397)
Region generation in omp.atomic.update currently emits a direct
`fir.convert`. This crashes when the RHS expression involves complex
type but the LHS variable is primitive type (say `f32`), since a
`fir.convert` from `complex<f32>` to `f32` is emitted, which is illegal.
This PR adds a conditional check to emit an additional `ExtractValueOp`
in case RHS expression has a complex type.
Fixes https://github.com/llvm/llvm-project/issues/138396
Commit: 03f3f156905b3137c1c6c542b7b506d5ec618c24
https://github.com/llvm/llvm-project/commit/03f3f156905b3137c1c6c542b7b506d5ec618c24
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
A llvm/test/Transforms/Attributor/nofpclass-minimumnum-maximumnum.ll
Log Message:
-----------
ValueTracking: Add baseline tests for minimumnum/maximumnum (#138736)
Mostly copied from existing min/max tests, with a few additions.
Commit: 609a8331a0c9773ab1540a7463a4f6431470e777
https://github.com/llvm/llvm-project/commit/609a8331a0c9773ab1540a7463a4f6431470e777
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass-minimumnum-maximumnum.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
ValueTracking: Handle minimumnum and maximumnum in computeKnownFPClass (#138737)
For now use the same treatment as minnum/maxnum, but these should
diverge. alive2 seems happy with this, except for some preexisting bugs
with weird denormal modes.
Commit: 194a4a333a95f9e001d2c8abe82c3d4cf8894acf
https://github.com/llvm/llvm-project/commit/194a4a333a95f9e001d2c8abe82c3d4cf8894acf
Author: Douglas Yung <douglas.yung at sony.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/test/CodeGen/Hexagon/isel/pfalse-v4i1.ll
Log Message:
-----------
Fix test pfalse-v4i1.ll added in #138712 to require asserts.
Should fix build bot failure: https://lab.llvm.org/buildbot/#/builders/202/builds/1102
Commit: 0505e3761b3f686765a9deef0e41fbf31bed986a
https://github.com/llvm/llvm-project/commit/0505e3761b3f686765a9deef0e41fbf31bed986a
Author: no92 <no92 at users.noreply.github.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/TargetParser/Triple.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
[llvm] Add triples for managarm (#87845)
This PR aims to add a target for
[managarm](https://github.com/managarm/managarm). The targets
`{x86_64,aarch64,riscv64}-pc-managarm-{kernel,mlibc}` will be supported.
Discourse RFC:
[discourse.llvm.org/t/rfc-new-proposed-managarm-support-for-llvm-and-clang-87845/85884](https://discourse.llvm.org/t/rfc-new-proposed-managarm-support-for-llvm-and-clang-87845/85884)
Commit: 82863783a2518b814e7ffc03b0e40a185a39d1b8
https://github.com/llvm/llvm-project/commit/82863783a2518b814e7ffc03b0e40a185a39d1b8
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
M llvm/test/CodeGen/LoongArch/addrspacecast.ll
M llvm/test/CodeGen/LoongArch/alloca.ll
M llvm/test/CodeGen/LoongArch/bnez-beqz.ll
M llvm/test/CodeGen/LoongArch/code-models.ll
M llvm/test/CodeGen/LoongArch/double-br-fcmp.ll
M llvm/test/CodeGen/LoongArch/eh-dwarf-cfa.ll
M llvm/test/CodeGen/LoongArch/exception-pointer-register.ll
M llvm/test/CodeGen/LoongArch/fdiv-reciprocal-estimate.ll
M llvm/test/CodeGen/LoongArch/float-br-fcmp.ll
M llvm/test/CodeGen/LoongArch/fp-expand.ll
M llvm/test/CodeGen/LoongArch/fp-max-min.ll
M llvm/test/CodeGen/LoongArch/fp-maximumnum-minimumnum.ll
M llvm/test/CodeGen/LoongArch/fp-reciprocal.ll
M llvm/test/CodeGen/LoongArch/fp-trunc-store.ll
M llvm/test/CodeGen/LoongArch/fp16-promote.ll
M llvm/test/CodeGen/LoongArch/frint.ll
M llvm/test/CodeGen/LoongArch/fsqrt-reciprocal-estimate.ll
M llvm/test/CodeGen/LoongArch/fsqrt.ll
M llvm/test/CodeGen/LoongArch/intrinsic-csr-side-effects.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/call.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/double-convert.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/float-convert.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/load-store-atomic.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem.ll
M llvm/test/CodeGen/LoongArch/machinelicm-address-pseudos.ll
M llvm/test/CodeGen/LoongArch/numeric-reg-names.ll
M llvm/test/CodeGen/LoongArch/soft-fp-to-int.ll
M llvm/test/CodeGen/LoongArch/spill-reload-cfr.ll
M llvm/test/CodeGen/LoongArch/stack-realignment-with-variable-sized-objects.ll
M llvm/test/CodeGen/LoongArch/stack-realignment.ll
M llvm/test/CodeGen/LoongArch/statepoint-call-lowering.ll
M llvm/test/CodeGen/LoongArch/tls-models.ll
M llvm/test/CodeGen/LoongArch/unaligned-memcpy-inline.ll
M llvm/test/CodeGen/LoongArch/vector-fp-imm.ll
M llvm/test/MC/LoongArch/Relocations/relocations.s
Log Message:
-----------
LoongArch: Remove VK_CALL/VK_CALL_PLT and don't print %plt
`%plt` is a redundant relocation specifier: `bl %plt(foo)` is identical
to `bl foo`. Let's replace VK_CALL/VK_CALL_PLT with R_LARCH_B26 and
remove the only specifier constants.
Pull Request: https://github.com/llvm/llvm-project/pull/138632
Commit: ddfdecbd00d2e9ac9b710c33ec9a7a1a6e4498ce
https://github.com/llvm/llvm-project/commit/ddfdecbd00d2e9ac9b710c33ec9a7a1a6e4498ce
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/lib/CodeGen/MachineScheduler.cpp
Log Message:
-----------
[MISched] Add statistics to quantify scheduling (#138090)
When diagnosing scheduler issues it can be useful to know how scheduling
changes the order of instructions, particularly for large functions when
it's not trivial to figure out from the debug output by looking at the
scheduling unit (SU) IDs.
This adds pre-RA and post-RA statistics to track 1) the number of
instructions that remain in source order after scheduling and 2) the
total number of instructions scheduled, to compare 1) against.
Commit: 2d81994c4a41b950eed9bdee189cba9d00381b58
https://github.com/llvm/llvm-project/commit/2d81994c4a41b950eed9bdee189cba9d00381b58
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
A clang/test/Modules/befriend.cppm
Log Message:
-----------
[NFC] Add test from issue 61125
Commit: 52f568dbbb61ffe26b7973b482e0e504b405a0ab
https://github.com/llvm/llvm-project/commit/52f568dbbb61ffe26b7973b482e0e504b405a0ab
Author: Martin Storsjö <martin at martin.st>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/DWARFLinker/Parallel/ArrayList.h
Log Message:
-----------
[DWARFLinkerParallel] Change more cases of compare_exchange_weak to compare_exchange_strong (#138692)
This is a follow-up to 07bc54bf4554398b199f4dc849e5193b98422f23; this
fixes more occasional crashes in dsymutil on Windows on aarch64.
Commit: 2b05c7cc4dab43a38212a0464dca0d478d3e1c9a
https://github.com/llvm/llvm-project/commit/2b05c7cc4dab43a38212a0464dca0d478d3e1c9a
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/MC/AMDGPU/gfx950_err.s
Log Message:
-----------
[AMDGPU] Fix regclass check for PackedF32InputMods in AsmParser. (#138767)
Downstream patch by Pravin Jagtap.
Commit: e55172f139a21f3d6da932787a0b221b53eab2cb
https://github.com/llvm/llvm-project/commit/e55172f139a21f3d6da932787a0b221b53eab2cb
Author: Robert Imschweiler <robert.imschweiler at amd.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/AMDGPU/AMDGPUWaitSGPRHazards.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.cpp
M llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp
M llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
Log Message:
-----------
[AMDGPU] Classify FLAT instructions as VMEM (#137148)
Also adapt hazard and wait handling.
Commit: 62f81a9e06c2f27f7181e53441df8c7dc8f1b99b
https://github.com/llvm/llvm-project/commit/62f81a9e06c2f27f7181e53441df8c7dc8f1b99b
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/bindings/ocaml/llvm/llvm.ml
M llvm/bindings/ocaml/llvm/llvm.mli
M llvm/test/Bindings/llvm-c/atomics.ll
Log Message:
-----------
[llvm] Add extra tests for atomicrmw fmaximum/fminimum (#138252)
Add extra tests for `atomicrmw fmaximum/fminimum`, that I missed in my
original PR #137701, and also `fmaximum`/`fminimum` should be defined in
the ocaml bindings.
Commit: 69f3552d5ee27b4a2fb160600564d3d4d3c3868b
https://github.com/llvm/llvm-project/commit/69f3552d5ee27b4a2fb160600564d3d4d3c3868b
Author: anbbna <117081688+anbbna at users.noreply.github.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/test/CodeGen/Mips/llvm-ir/not.ll
M llvm/test/CodeGen/Mips/llvm-ir/xor.ll
M llvm/test/CodeGen/Mips/xor-and.ll
Log Message:
-----------
[MIPS]Remove unnecessary SLL instructions on MIPS64el (#109386)
Optimize ((signext (xor (trunc X), imm)) to (xor (X, imm)).
Fix https://github.com/llvm/llvm-project/issues/99783
Commit: 0d0eed419fa362e1932b694e01534f4012dcea97
https://github.com/llvm/llvm-project/commit/0d0eed419fa362e1932b694e01534f4012dcea97
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/ashr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-abs.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ashr.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sext-inreg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smax.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smin.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smulh.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.abs.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sext_inreg.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smin.ll
Log Message:
-----------
[AMDGPU][Legalizer] Widen i16 G_SEXT_INREG (#131308)
It's better to widen them to avoid it being lowered into a G_ASHR + G_SHL. With this change we just extend to i32 then trunc the result.
Commit: 74c3025dd518aae01db5fbbd06b81c8ad272f959
https://github.com/llvm/llvm-project/commit/74c3025dd518aae01db5fbbd06b81c8ad272f959
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
A llvm/test/DebugInfo/KeyInstructions/Generic/simplifycfg-thread-phi.ll
Log Message:
-----------
[KeyInstr][SimplifyCFG] Remap atoms after duplication for threading (#133484)
Given the same branch condition in `a` and `c` SimplifyCFG converts:
+> b -+
| v
--> a --> c --> e -->
| ^
+> d -+
into:
+--> bcd ---+
| v
--> a --> c --> e -->
Remap source atoms on instructions duplicated from `c` into `bcd`.
RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
Commit: a13c0b67708173b8033a53ff6ae4c46c5b80bb2b
https://github.com/llvm/llvm-project/commit/a13c0b67708173b8033a53ff6ae4c46c5b80bb2b
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Lower/OpenMP/Todo/declare-variant.f90
A flang/test/Parser/OpenMP/declare-variant.f90
A flang/test/Semantics/OpenMP/declare-variant.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[Flang][OpenMP] Add frontend support for declare variant (#130578)
Support is added for parsing. Basic semantics support is added to
forward the code to Lowering. Lowering will emit a TODO error. Detailed
semantics checks and lowering is further work.
Commit: b643a529dcd2b1b2e4e81c3be427edfcadc6d8fa
https://github.com/llvm/llvm-project/commit/b643a529dcd2b1b2e4e81c3be427edfcadc6d8fa
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M lldb/tools/debugserver/source/DNBTimer.h
Log Message:
-----------
[lldb][debugserver] Add missing include to DNBTimer.h
Commit: 47c7e73e5763f81f218cc4e1eae306d0427aa42d
https://github.com/llvm/llvm-project/commit/47c7e73e5763f81f218cc4e1eae306d0427aa42d
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
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/attach/TestDAP_attach.py
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attachByPortNum.py
M lldb/test/API/tools/lldb-dap/breakpoint-events/TestDAP_breakpointEvents.py
M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
M lldb/test/API/tools/lldb-dap/disconnect/TestDAP_disconnect.py
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
M lldb/test/API/tools/lldb-dap/repl-mode/TestDAP_repl_mode_detection.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_runInTerminal.py
M lldb/test/API/tools/lldb-dap/stop-hooks/TestDAP_stop_hooks.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LaunchRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
Log Message:
-----------
Revert "[lldb-dap] Change the launch sequence (#138219)"
This reverts commit ba29e60f9a2222bd5e883579bb78db13fc5a7588.
As it broke tests on Windows on Arm: https://lab.llvm.org/buildbot/#/builders/141/builds/8500
********************
Unresolved Tests (2):
lldb-api :: tools/lldb-dap/completions/TestDAP_completions.py
lldb-api :: tools/lldb-dap/startDebugging/TestDAP_startDebugging.py
********************
Timed Out Tests (1):
lldb-api :: tools/lldb-dap/send-event/TestDAP_sendEvent.py
********************
Failed Tests (6):
lldb-api :: tools/lldb-dap/console/TestDAP_console.py
lldb-api :: tools/lldb-dap/console/TestDAP_redirection_to_console.py
lldb-api :: tools/lldb-dap/launch/TestDAP_launch.py
lldb-api :: tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
lldb-api :: tools/lldb-dap/stackTraceDisassemblyDisplay/TestDAP_stackTraceDisassemblyDisplay.py
lldb-api :: tools/lldb-dap/variables/children/TestDAP_variables_children.py
Commit: 18c5ad5c6c178365d270439742863e14c8981ea3
https://github.com/llvm/llvm-project/commit/18c5ad5c6c178365d270439742863e14c8981ea3
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M lldb/include/lldb/Symbol/Block.h
M lldb/source/Symbol/Block.cpp
A lldb/test/Shell/Commands/command-disassemble-sections.s
Log Message:
-----------
[lldb] Fix block address resolution for functions in multiple sections (#137955)
Continuing the theme from #116777 and #124931, this patch ensures we
compute the correct address when a functions is spread across multiple
sections. Due to this, it's not sufficient to adjust the offset in the
section+offset pair (Address::Slide). We must actually slide the file
offset and then recompute the section using the result.
I found this out due to a failure to disassemble some parts of the
function, so I'm testing with that, although it's likely there are other
things that were broken due to this.
Commit: 75e5643abf6b59db8dfae6b524e9c3c2ec0ffc29
https://github.com/llvm/llvm-project/commit/75e5643abf6b59db8dfae6b524e9c3c2ec0ffc29
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M flang/docs/OpenMPSupport.md
M flang/include/flang/Lower/ConvertVariable.h
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/omp-declare-target-program-var.f90
M flang/test/Lower/OpenMP/threadprivate-host-association-2.f90
M flang/test/Lower/OpenMP/threadprivate-host-association-3.f90
A flang/test/Lower/OpenMP/threadprivate-lenparams.f90
M flang/test/Lower/OpenMP/threadprivate-non-global.f90
Log Message:
-----------
[flang][OpenMP] share global variable initialization code (#138672)
Fixes #108136
In #108136 (the new testcase), flang was missing the length parameter
required for the variable length string when boxing the global variable.
The code that is initializing global variables for OpenMP did not
support types with length parameters.
Instead of duplicating this initialization logic in OpenMP, I decided to
use the exact same initialization as is used in the base language
because this will already be well tested and will be updated for any new
types. The difference for OpenMP is that the global variables will be
zero initialized instead of left undefined.
Previously `Fortran::lower::createGlobalInitialization` was used to
share a smaller amount of the logic with the base language lowering. I
think this bug has demonstrated that helper was too low level to be
helpful, and it was only used in OpenMP so I have made it static inside
of ConvertVariable.cpp.
Commit: e3ee6bbd384ef4c583b9f7bca4253ae0fba90a70
https://github.com/llvm/llvm-project/commit/e3ee6bbd384ef4c583b9f7bca4253ae0fba90a70
Author: Lang Hames <lhames at gmail.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/ELF_i386.cpp
Log Message:
-----------
[JITLink][i386] Make ELFLinkGraphBuilder_i386 a regular (non-template) class.
The ELF type for i386 is always ELF32LE so we can pass ELF32LE directly to the
base class template (ELFLinkGraphBuilder).
Commit: 01813e89295b9229760bc9a62926e04bfbe866c2
https://github.com/llvm/llvm-project/commit/01813e89295b9229760bc9a62926e04bfbe866c2
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/fveclib.c
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Frontend/Driver/CodeGenOptions.cpp
M llvm/test/CodeGen/Generic/replace-intrinsics-with-veclib.ll
M llvm/test/Transforms/LoopVectorize/X86/libm-vector-calls-VF2-VF8.ll
M llvm/test/Transforms/LoopVectorize/X86/libm-vector-calls-finite.ll
M llvm/test/Transforms/LoopVectorize/X86/libm-vector-calls.ll
M llvm/test/Transforms/Util/add-TLI-mappings.ll
Log Message:
-----------
[LLVM][VecLib] Refactor LIBMVEC integration to be target neutral. (#138262)
Renames LIBMVEC-X86 to LIBMVEC and updates TLI to only add the existing
x86 specific mapping when targeting x86.
Commit: 62385b848757f2dc35070eadb2ccd921508497dc
https://github.com/llvm/llvm-project/commit/62385b848757f2dc35070eadb2ccd921508497dc
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M lldb/docs/resources/debugging.rst
Log Message:
-----------
[lldb][docs] Correct spelling in debugging doc
Commit: c3ce5684a8b408220eed983d065edba0e6ed5016
https://github.com/llvm/llvm-project/commit/c3ce5684a8b408220eed983d065edba0e6ed5016
Author: Aniket Lal <lalaniket8 at gmail.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue.cl
M clang/test/CodeGenOpenCL/convergent.cl
M clang/test/CodeGenOpenCL/enqueue-kernel-non-entry-block.cl
Log Message:
-----------
[Clang][OpenCL][AMDGPU] OpenCL Kernel stubs should be assigned alwaysinline attribute (#137769)
OpenCL Kernels body is emitted as stubs and the kernel is emitted as
call to respective stub.
(https://github.com/llvm/llvm-project/pull/115821).
The stub function should be alwaysinlined, since call to stub can cause
performance drop.
Co-authored-by: anikelal <anikelal at amd.com>
Commit: 2fb288d4b8e0fb6c08a1a72b64cbf6a0752fdac7
https://github.com/llvm/llvm-project/commit/2fb288d4b8e0fb6c08a1a72b64cbf6a0752fdac7
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/test/Lower/do_concurrent.f90
M flang/test/Lower/do_concurrent_local_default_init.f90
M flang/test/Lower/loops.f90
M flang/test/Lower/loops3.f90
M flang/test/Lower/nsw.f90
M flang/test/Transforms/DoConcurrent/basic_host.f90
M flang/test/Transforms/DoConcurrent/locally_destroyed_temp.f90
M flang/test/Transforms/DoConcurrent/loop_nest_test.f90
M flang/test/Transforms/DoConcurrent/multiple_iteration_ranges.f90
M flang/test/Transforms/DoConcurrent/non_const_bounds.f90
M flang/test/Transforms/DoConcurrent/not_perfectly_nested.f90
Log Message:
-----------
[flang][fir] Lower `do concurrent` loop nests to `fir.do_concurrent` (#137928)
Adds support for lowering `do concurrent` nests from PFT to the new
`fir.do_concurrent` MLIR op as well as its special terminator
`fir.do_concurrent.loop` which models the actual loop nest.
To that end, this PR emits the allocations for the iteration variables
within the block of the `fir.do_concurrent` op and creates a region for
the `fir.do_concurrent.loop` op that accepts arguments equal in number
to the number of the input `do concurrent` iteration ranges.
For example, given the following input:
```fortran
do concurrent(i=1:10, j=11:20)
end do
```
the changes in this PR emit the following MLIR:
```mlir
fir.do_concurrent {
%22 = fir.alloca i32 {bindc_name = "i"}
%23:2 = hlfir.declare %22 {uniq_name = "_QFsub1Ei"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
%24 = fir.alloca i32 {bindc_name = "j"}
%25:2 = hlfir.declare %24 {uniq_name = "_QFsub1Ej"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
fir.do_concurrent.loop (%arg1, %arg2) = (%18, %20) to (%19, %21) step (%c1, %c1_0) {
%26 = fir.convert %arg1 : (index) -> i32
fir.store %26 to %23#0 : !fir.ref<i32>
%27 = fir.convert %arg2 : (index) -> i32
fir.store %27 to %25#0 : !fir.ref<i32>
}
}
```
Commit: 5be080edf73abd9d980ced8a432aaf2861d4445e
https://github.com/llvm/llvm-project/commit/5be080edf73abd9d980ced8a432aaf2861d4445e
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/lib/Transforms/Utils/InlineFunction.cpp
A llvm/test/DebugInfo/KeyInstructions/Generic/inline-nodbg.ll
Log Message:
-----------
[KeyInstr][Inline] Don't propagate atoms to inlined nodebug instructions (#133485)
RFC: https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
Commit: 2f877c2722e882fe6aaaab44d25b7a49ba0612e1
https://github.com/llvm/llvm-project/commit/2f877c2722e882fe6aaaab44d25b7a49ba0612e1
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M mlir/test/IR/invalid-custom-print-parse.mlir
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[MLIR] Check that the prop-dict dictionnary does not have extra unknown entries (#138668)
At the moment we would just ignore them, which can be surprising and is
error prone (a typo for a unit attribute flag for example).
Commit: c02aa91939d174a1efda934706d7b523b2fb7e31
https://github.com/llvm/llvm-project/commit/c02aa91939d174a1efda934706d7b523b2fb7e31
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
M mlir/lib/IR/BuiltinTypes.cpp
M mlir/lib/IR/TypeDetail.h
M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
Revert "[mlir][MemRef] Remove integer address space builders" (#138853)
Reverts llvm/llvm-project#138579
An integration test is broken on the mlir-nvidia* bots.
Commit: 7157228667396f1c113a96e9e9ecb9f0ca82a645
https://github.com/llvm/llvm-project/commit/7157228667396f1c113a96e9e9ecb9f0ca82a645
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/test/CodeGen/X86/mingw-comdats-xdata.ll
M llvm/test/CodeGen/X86/mingw-comdats.ll
Log Message:
-----------
[Cygwin] Emit COMDAT name correctly for Cygwin (#138621)
Cygwin-gcc emits COMDAT in the same format as MinGW-gcc.
Commit: a83bb35e9989f9d27bb6c0578caa4183b8cbefdc
https://github.com/llvm/llvm-project/commit/a83bb35e9989f9d27bb6c0578caa4183b8cbefdc
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/do_concurrent.fir
M flang/test/Fir/invalid.fir
Log Message:
-----------
[flang][fir] Add `fir.local` op for locality specifiers (#138505)
Adds a new `fir.local` op to model `local` and `local_init` locality
specifiers. This op is a clone of `omp.private`. In particular, this new
op also models the privatization/localization logic of an SSA value in
the `fir` dialect just like `omp.private` does for OpenMP.
PR stack:
- https://github.com/llvm/llvm-project/pull/137928
- https://github.com/llvm/llvm-project/pull/138505 (this PR)
- https://github.com/llvm/llvm-project/pull/138506
- https://github.com/llvm/llvm-project/pull/138512
- https://github.com/llvm/llvm-project/pull/138534
- https://github.com/llvm/llvm-project/pull/138816
Commit: c3a638caabf96fedce09f4b58b4ba550a015e150
https://github.com/llvm/llvm-project/commit/c3a638caabf96fedce09f4b58b4ba550a015e150
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
A llvm/test/CodeGen/AMDGPU/GlobalISel/selected-inst-flags.mir
Log Message:
-----------
[GlobalISel] Fix silently dropped MIFlags on selected instructions (#138851)
We used uint16 for flags but flags now go up to 24 bits, so all flags in bits 16-24 were lost.
Fixes #110801
Commit: c22081c320340d0e7542b247ee093ca515509b52
https://github.com/llvm/llvm-project/commit/c22081c320340d0e7542b247ee093ca515509b52
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
M llvm/test/CodeGen/AArch64/arm64-preserve-all.ll
M llvm/test/CodeGen/AArch64/arm64-preserve-most.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm-lowering-errors.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm-mismatched-size.ll
Log Message:
-----------
[GlobalISel] Diagnose inline assembly constraint lowering errors (#135782)
Instead of printing something to dbgs (which is not visible to all users),
emit a diagnostic like the DAG does. We still crash later because we fail to
select the inline assembly, but at least now users will know why it's crashing.
In a future patch we could also recover from the error like the DAG does, so the
lowering can keep going until it either crashes or gives a different error later.
Commit: 17b2b6ddef4b1dc74a4b459d06510c25fa883329
https://github.com/llvm/llvm-project/commit/17b2b6ddef4b1dc74a4b459d06510c25fa883329
Author: Aniket Lal <lalaniket8 at gmail.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/test/CodeGenOpenCL/opencl-kernel-call.cl
Log Message:
-----------
[Clang][OpenCL][AMDGPU] Add tests for optnone attribute assigned to OpenCL Kernels (#138849)
OpenCL Kernel stubs should be always inlined
https://github.com/llvm/llvm-project/pull/137769
In case optnone is assigned to kernel, respective stub should not be
assigned alwaysinline, we add test for the same.
Co-authored-by: anikelal <anikelal at amd.com>
Commit: c7b2d98c934c9578dd880370905b5abafdeccbe3
https://github.com/llvm/llvm-project/commit/c7b2d98c934c9578dd880370905b5abafdeccbe3
Author: Kees Cook <kees at kernel.org>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/docs/SanitizerCoverage.rst
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/SanitizerArgs.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/test/Driver/fsanitize-coverage.c
M llvm/include/llvm/Transforms/Utils/Instrumentation.h
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
A llvm/test/Instrumentation/SanitizerCoverage/stack-depth-callback.ll
Log Message:
-----------
[sancov] Introduce optional callback for stack-depth tracking (#138323)
Normally -fsanitize-coverage=stack-depth inserts inline arithmetic to
update thread_local __sancov_lowest_stack. To support stack depth
tracking in the Linux kernel, which does not implement traditional
thread_local storage, provide the option to call a function instead.
This matches the existing "stackleak" implementation that is supported
in Linux via a GCC plugin. To make this coverage more performant, a
minimum estimated stack depth can be chosen to enable the callback mode,
skipping instrumentation of functions with smaller stacks.
With -fsanitize-coverage-stack-depth-callback-min set greater than 0,
the __sanitize_cov_stack_depth() callback will be injected when the
estimated stack depth is greater than or equal to the given minimum.
Commit: 0db040576d4ccb313fc58a90e1b4149f7589cc8c
https://github.com/llvm/llvm-project/commit/0db040576d4ccb313fc58a90e1b4149f7589cc8c
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
M llvm/test/CodeGen/AArch64/arm64-preserve-all.ll
M llvm/test/CodeGen/AArch64/arm64-preserve-most.ll
R llvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm-lowering-errors.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm-mismatched-size.ll
Log Message:
-----------
Revert "[GlobalISel] Diagnose inline assembly constraint lowering errors (#135782)"
This reverts commit c22081c320340d0e7542b247ee093ca515509b52.
Commit: 21501d1cf290a63760904fb125e77b432db49933
https://github.com/llvm/llvm-project/commit/21501d1cf290a63760904fb125e77b432db49933
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M lldb/include/lldb/Target/Target.h
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
M lldb/source/Target/Target.cpp
M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
Log Message:
-----------
[lldb] Fix dynamic type resolutions for core files (#138698)
We're reading from the object's vtable to determine the pointer to the
full object. The vtable is normally in the "rodata" section of the
executable, which is often not included in the core file because it's
not supposed to change and the debugger can extrapolate its contents
from the executable file. We weren't doing that.
This patch changes the read operation to use the target class (which
falls back onto the executable module as expected) and adds the missing
ReadSignedIntegerFromMemory API. The fix is tested by creating a core
(minidump) file which deliberately omits the vtable pointer.
Commit: 7c5f5f3ef83b1d1d43d63862a8431af3dded15bb
https://github.com/llvm/llvm-project/commit/7c5f5f3ef83b1d1d43d63862a8431af3dded15bb
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M lldb/source/Host/windows/PipeWindows.cpp
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/tools/lldb-server/lldb-platform.cpp
M lldb/unittests/Host/HostTest.cpp
Log Message:
-----------
[lldb] Inherit DuplicateFileAction(HANDLE, HANDLE) handles on windows (#137978)
This is a follow-up to https://github.com/llvm/llvm-project/pull/126935,
which enables passing handles to a child
process on windows systems. Unlike on unix-like systems, the handles
need to be created with the "inheritable" flag because there's to way to
change the flag value after it has been created. This is why I don't
respect the child_process_inherit flag but rather always set the flag to
true. (My next step is to delete the flag entirely.)
This does mean that pipe may be created as inheritable even if its not
necessary, but I think this is offset by the fact that windows (unlike
unixes, which pass all ~O_CLOEXEC descriptors through execve and *all*
descriptors through fork) has a way to specify the precise set of
handles to pass to a specific child process.
If this turns out to be insufficient, instead of a constructor flag, I'd
rather go with creating a separate api to create an inheritable copy of
a handle (as typically, you only want to inherit one end of the pipe).
Commit: d865f32fe820f543f0a53bfeba08774f2c270589
https://github.com/llvm/llvm-project/commit/d865f32fe820f543f0a53bfeba08774f2c270589
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M lldb/include/lldb/Symbol/DWARFCallFrameInfo.h
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/UnwindTable.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/test/Shell/Unwind/Inputs/basic-block-sections-with-dwarf.s
M lldb/test/Shell/Unwind/basic-block-sections-with-dwarf-static.test
M lldb/unittests/Symbol/TestDWARFCallFrameInfo.cpp
Log Message:
-----------
[lldb] Parse DWARF CFI for discontinuous functions (#137006)
This patch uses the previously build infrastructure to parse multiple
FDE entries into a single unwind plan. There is one catch though: we
parse only one FDE entry per unwind range. This is not fully correct
because lldb coalesces adjecant address ranges, which means that
something that originally looked like two separate address ranges (and
two FDE entries) may get merged into one because if the linker decides
to put the two ranges next to each other. In this case, we will ignore
the second FDE entry.
It would be more correct to try to parse another entry when the one we
found turns out to be short, but I'm not doing this (yet), because:
- this is how we've done things so far (although, monolithic functions
are unlikely to have more than one FDE entry)
- in cases where we don't have debug info or (full) symbol tables, we
can end up with "symbols" which appear to span many megabytes
(potentially, the whole module). If we tried to fill short FDE entries,
we could end up parsing the entire eh_frame section in a single go. In a
way, this would be more correct, but it would also probably be very
slow.
I haven't quite decided what to do about this case yet, though it's not
particularly likely to happen in the "production" cases as typically the
functions are split into two parts (hot/cold) instead of one part per
basic block.
Commit: 5dd1421da6c60700f2cb81a13fb5231bb965f0a6
https://github.com/llvm/llvm-project/commit/5dd1421da6c60700f2cb81a13fb5231bb965f0a6
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
Log Message:
-----------
[NFC] Fix a compile warning of comparison of integers of different signs
Commit: 3feb8b42e973f935883bc9e779645ecdae1a586d
https://github.com/llvm/llvm-project/commit/3feb8b42e973f935883bc9e779645ecdae1a586d
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/docs/HIPSupport.rst
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/test/Preprocessor/predefined-macros.c
M llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
M llvm/test/Transforms/HipStdPar/allocation-interposition.ll
Log Message:
-----------
[HIP][HIPSTDPAR] Re-work allocation interposition for `hipstdpar` (#138790)
The allocation interposition mode had a number of issues, which are
primarily addressed in the library component via
<https://github.com/ROCm/rocThrust/pull/543>. However, it is necessary
to interpose some additional symbols, which this patch does.
Furthermore, to implement this in a compatible way, we guard the new
implementation under a V1 macro, which is defined in addition to the
existing `__HIPSTDPAR_INTERPOSE_ALLOC__` one.
Commit: 1ee9576ee7b80fe9b965e597041c6b197a333275
https://github.com/llvm/llvm-project/commit/1ee9576ee7b80fe9b965e597041c6b197a333275
Author: sallto <68823230+sallto at users.noreply.github.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/fsh.ll
Log Message:
-----------
[InstCombine] Funnel shift with negative amount folds to funnel shift in opposite direction (#138334) (#138763)
Partially `fixes` #138334.
Combine fshl(X,X,Neg(Y)) into fshr(X,X,Y) and
fshr(X,X,Neg(Y)) into fshl(X,X,Y)
Commit: a061998a14a0ff16b633d6cf48c250d50c6acad2
https://github.com/llvm/llvm-project/commit/a061998a14a0ff16b633d6cf48c250d50c6acad2
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
A llvm/test/DebugInfo/KeyInstructions/Generic/jump-threading-2-bbs.ll
Log Message:
-----------
[KeyInstr][JumpThreading] Remap atoms in blocks duplicated for threading (#133486)
Commit: b59ab701e94cce455a53358cbe5082a3efb58fbf
https://github.com/llvm/llvm-project/commit/b59ab701e94cce455a53358cbe5082a3efb58fbf
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
M clang/test/Sema/implicit-cast.c
M clang/test/Sema/implicit-int-enum-conversion.c
Log Message:
-----------
[C] Handle comma operator for implicit int->enum conversions (#138752)
In C++, the type of an enumerator is the type of the enumeration,
whereas in C, the type of the enumerator is 'int'. The type of a comma
operator is the type of the right-hand operand, which means you can get
an implicit conversion with this code in C but not in C++:
```
enum E { Zero };
enum E foo() {
return ((void)0, Zero);
}
```
We were previously incorrectly diagnosing this code as being
incompatible with C++ because the type of the paren expression would be
'int' there, whereas in C++ the type is 'E'.
So now we handle the comma operator with special logic when analyzing
implicit conversions in C. When analyzing the left-hand operand of a
comma operator, we do not need to check for that operand causing an
implicit conversion for the entire comma expression. So we only check
for that case with the right-hand operand.
This addresses a concern brought up post-commit:
https://github.com/llvm/llvm-project/pull/137658#issuecomment-2854525259
Commit: ed0aa9961caa177098e9b7e69e98034d676f192e
https://github.com/llvm/llvm-project/commit/ed0aa9961caa177098e9b7e69e98034d676f192e
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M libcxx/include/__flat_map/flat_map.h
M libcxx/include/__flat_map/flat_multimap.h
Log Message:
-----------
[libc++] Add _LIBCPP_NO_UNIQUE_ADDRESS to flat_{,multi}map::value_compare (#137594)
This breaks the ABI of `flat_{,multi}map::value_compare`, but this type
has only been introduced in LLVM 20, so it should be very unlikely that
we break anybody if we back-port this now.
Commit: 1815d62d7c43455c55bfc1842e41a25ea04dcb9b
https://github.com/llvm/llvm-project/commit/1815d62d7c43455c55bfc1842e41a25ea04dcb9b
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M lldb/unittests/Host/HostTest.cpp
Log Message:
-----------
[lldb] Add more logging to a unit test
to debug problems with #137978.
Commit: 93f61ceadb4b29e455d76a887d136a0816a67f23
https://github.com/llvm/llvm-project/commit/93f61ceadb4b29e455d76a887d136a0816a67f23
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGCall.cpp
Log Message:
-----------
[clang][NFC] Fix some more incorrectly formatted comments (#138342)
More fixes based on https://github.com/llvm/llvm-project/pull/138036
---------
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: a0260a95ece74733ada00b19d8b1930dde462a66
https://github.com/llvm/llvm-project/commit/a0260a95ece74733ada00b19d8b1930dde462a66
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M lldb/source/Host/windows/PipeWindows.cpp
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/tools/lldb-server/lldb-platform.cpp
M lldb/unittests/Host/HostTest.cpp
Log Message:
-----------
Revert "[lldb] Inherit DuplicateFileAction(HANDLE, HANDLE) handles on windows (#137978)"
This reverts commit 7c5f5f3ef83b1d1d43d63862a8431af3dded15bb due to
failures on the lldb-remote-linux-win bot.
Commit: 09d01be85672dda37ea577fad9c46e6034792b65
https://github.com/llvm/llvm-project/commit/09d01be85672dda37ea577fad9c46e6034792b65
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.16bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
Log Message:
-----------
[AMDGPU][True16][CodeGen] replace subreg_to_reg to req_sequence (#138746)
Since subreg_to_reg is considered broken in llvm, replace subreg_to_reg
to reg_sequence
Commit: 9732427f377ec076601d4d6ede697f39a4409ee4
https://github.com/llvm/llvm-project/commit/9732427f377ec076601d4d6ede697f39a4409ee4
Author: Alexander Potapenko <glider at google.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
M llvm/test/Instrumentation/SanitizerCoverage/trace-pc-guard.ll
Log Message:
-----------
[sancov] add -sanitizer-coverage-drop-ctors (#137980)
[sancov] add -sanitizer-coverage-drop-ctors
Add a hidden flag to omit the @sancov.module_ctor* constructors.
When building kernel modules with sanitizer coverage enabled,
constructors may reference global symbols, creating unsupported
relocations. Because the kernel does not strictly need these
constructors in order for coverage to work, allow the user to omit
them.
Also apply clang-format to SanitizerCoverage.cpp.
Fixes PR132393.
Commit: 55f59940b1d8fec29c363589907bdf966bc64bdc
https://github.com/llvm/llvm-project/commit/55f59940b1d8fec29c363589907bdf966bc64bdc
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/lib/AST/Type.cpp
Log Message:
-----------
[AST] Fix warnings
This patch fixes:
clang/lib/AST/Type.cpp:4893:80: error: multi-line // comment
[-Werror,-Wcomment]
clang/lib/AST/Type.cpp:4894:80: error: multi-line // comment
[-Werror,-Wcomment]
clang/lib/AST/Type.cpp:4891:11: error: 12 enumeration values not
handled in switch: 'Adjusted', 'Decayed',
'Attributed'... [-Werror,-Wswitch]
Commit: 99f2bc2f5dc241140be2d0919b43d443fc79b83f
https://github.com/llvm/llvm-project/commit/99f2bc2f5dc241140be2d0919b43d443fc79b83f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
Log Message:
-----------
Add braces to silence -Wdangling-else; NFC
Commit: e16e068ff8eddd8d53dcfc3595e3ebccfece0a7b
https://github.com/llvm/llvm-project/commit/e16e068ff8eddd8d53dcfc3595e3ebccfece0a7b
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[lldb][TypeSystemClang][NFC] Remove obsolete commented code
There's no need for these. They are misleading at best, and just clutter
the implementation.
Commit: 29e09aff633bee49ddb744558877b52be868a325
https://github.com/llvm/llvm-project/commit/29e09aff633bee49ddb744558877b52be868a325
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/include/llvm/Support/ErrorHandling.h
M llvm/include/llvm/Support/FileUtilities.h
M llvm/include/llvm/Support/Program.h
M llvm/include/llvm/Support/Signals.h
Log Message:
-----------
[llvm] clang-format a few llvm/Support headers (#138703)
Reformat a few header files under llvm/Support/llvm/include with
`clang-format` in preparation for a codemod (#136014).
This is just a formatting change; no functionality is impacted.
Commit: 7d98b66e3d18c0f60e76e20f9ea444c66833b9ba
https://github.com/llvm/llvm-project/commit/7d98b66e3d18c0f60e76e20f9ea444c66833b9ba
Author: Nathan Gauër <brioche at google.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetTransformInfo.h
A llvm/test/CodeGen/SPIRV/pointers/pointer-addrspacecast.ll
A llvm/test/CodeGen/SPIRV/pointers/resource-addrspacecast-2.ll
A llvm/test/CodeGen/SPIRV/pointers/resource-addrspacecast.ll
Log Message:
-----------
[SPIR-V] Add InferAddrSpaces pass to the backend (#137766)
This commit enables a pass in the backend which propagates the addrspace
of the pointers down to the last use, making sure the addrspace remains
consistent, and thus stripping any addrspacecast. This is required to
lower LLVM-IR to logical SPIR-V, which does not support generic
pointers.
This is now required as HLSL emits several address spaces, and thus
addrspacecasts in some cases:
Example 1: resource access
```llvm
%handle = tail call target("spirv.VulkanBuffer", ...)
%rptr = @llvm.spv.resource.getpointer(%handle, ...);
%cptr = addrspacecast ptr addrspace(11) %rptr to ptr
%fptr = load i32, ptr %cptr
```
Example 2: object methods
```llvm
define void @objectMethod(ptr %this) {
}
define void @foo(ptr addrspace(11) %object) {
call void @objectMethod(ptr addrspacecast(addrspace(11) %object to ptr));
}
```
Commit: 38595fb257fee32aaa3b45ff73c3ceaac86e9143
https://github.com/llvm/llvm-project/commit/38595fb257fee32aaa3b45ff73c3ceaac86e9143
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M libcxx/include/__string/char_traits.h
Log Message:
-----------
[libc++] Remove a few unnecessary branches from basic_string::find (#137266)
I've recently looked at the assembly for `basic_string::find()` and
realized that there were a few branches I didn't expect. It turns out
that we check for null before calling `__constexpr_memchr` in some
cases, which the compiler doesn't optimize away. This is a really
uncommon case though, so I'm not convinced it makes a ton of sense to
optimize for that.
The second case is where `__pos >= __sz`. There, we can instead check
`__pos > __sz`, which the optimizer is able to remove if `__pos == 0`,
which is also a quite common case (basic_string::find(CharT), without an
explicit size parameter).
Commit: 461ba2db5d15793d18a5c18ce417c30e335602cc
https://github.com/llvm/llvm-project/commit/461ba2db5d15793d18a5c18ce417c30e335602cc
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
Log Message:
-----------
[lldb] XFAIL TestDynamicValue.py:test_from_core_file on arm(32)
Minidump saving is not implemented there.
Commit: 960221623f54b87c0ce786d551111573810c8ac8
https://github.com/llvm/llvm-project/commit/960221623f54b87c0ce786d551111573810c8ac8
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
A llvm/test/DebugInfo/KeyInstructions/Generic/jump-threading-dup-cond-br-on-phi-into-pred.ll
Log Message:
-----------
[KeyInstr][JumpThreading] Remap atoms duping bb with cond br on phi into pred (#133488)
See test for details.
Commit: b9d6cbd4dc1def3f15b7d5ebb8cb4714bdad22bf
https://github.com/llvm/llvm-project/commit/b9d6cbd4dc1def3f15b7d5ebb8cb4714bdad22bf
Author: Zhuoran Yin <zhuoryin at amd.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
Log Message:
-----------
[MLIR] Folding unpack and pack sequence in data layout propagation from padded domain (#138332)
In `DataLayoutPropagation` patterns, it can populate sequence of unpack
op followed by pack op. Such sequence tend to disrupt tiling and can be
optimized. This is especially true for pack and unpack in padded values.
The idea of this patch is to optimize the propagation by never creating
the unpack + pack in cases where the padding value does not matter for
the op that is being propagated through. We can optimize the unpack/pack
pair away from in particular `PushDownUnPackOpThroughGenericOp` pattern.
If the operand of the generic op happen to come from an unpack, there's
no need to create new packs of the generic operand. We can fold the
unpack -> pack sequence and use the operand from the original source of
the unpack op.
Commit: 1ac489c8e38ecaeccba7d8826273395eaba2db6c
https://github.com/llvm/llvm-project/commit/1ac489c8e38ecaeccba7d8826273395eaba2db6c
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoZvqdotq.td
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zvqdotq.ll
Log Message:
-----------
[RISCV] Initial codegen support for zvqdotq extension (#137039)
This patch adds pattern matching for the basic usages of the dot product
instructions introduced by the experimental zvqdotq extension. It
specifically only handles the case where the pattern is feeding a i32
sum reduction as we need to reassociate the reduction tree to use these
instructions.
The vecreduce_add (sext) and vecreduce_add (zext) cases are included
mostly to exercise the VX matchers. For the generic matching, we fail to
match due to an order of combine issue which results in the bitcast
being separated from the splat.
I chose to do this lowering as an early combine so as to avoid having to
integrate the entire logic into the reduction lowering flow. In
particular, that would get a lot more complicated as we extend this to
handle add-trees feeding the reductions.
Commit: 5f7213e0b704fa45a72ff788bf1934fdb5cf90ce
https://github.com/llvm/llvm-project/commit/5f7213e0b704fa45a72ff788bf1934fdb5cf90ce
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Fix a build error in 1ac489c8
Running a merge and test cycle only works if you remember to actually
commit the final result...
Commit: 32752913b12103431dc392242c3c808afb70bd15
https://github.com/llvm/llvm-project/commit/32752913b12103431dc392242c3c808afb70bd15
Author: Harald van Dijk <harald.vandijk at codeplay.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/ARM/memcpy.ll
Log Message:
-----------
[ARM] Do not assume memory intrinsics specify alignment. (#138356)
Commit: 1ad57b58d6ba53be99bd6f2fa928a126c9deb91c
https://github.com/llvm/llvm-project/commit/1ad57b58d6ba53be99bd6f2fa928a126c9deb91c
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M lldb/include/lldb/Utility/ProcessInfo.h
M lldb/source/Host/linux/Host.cpp
M lldb/unittests/Host/posix/HostTest.cpp
Log Message:
-----------
[LLDB] Add IsCoreDumping to ProcessInstanceInfo (#138580)
This is the first useful patch in the series related to enabling
`PTRACE_SEIZE` for processes Coredumping. In order to make the decision
if we want to seize or attach, we need to expose that in processinfo.
Which we acquire by reading it from `/proc/pid/status`
Note that in status it is `CoreDumping` not `Coredumping`, so I kept
with that, even if I prefer `Coredumping`
Commit: 6a1f52150a56d797ac5cb71e75629e7fe5fd630a
https://github.com/llvm/llvm-project/commit/6a1f52150a56d797ac5cb71e75629e7fe5fd630a
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
A llvm/test/DebugInfo/KeyInstructions/Generic/loop-rotate.ll
Log Message:
-----------
[KeyInstr][LoopRotate] Remap atoms of duplicated instructions (#133490)
RFC: https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
Commit: 55a88cdf53948e7460d9c6892f6c481480faa021
https://github.com/llvm/llvm-project/commit/55a88cdf53948e7460d9c6892f6c481480faa021
Author: Mallikarjuna Gouda <mgouda at mips.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
A clang/test/Driver/mips-cpus.c
M llvm/lib/Target/Mips/Mips.td
M llvm/test/CodeGen/Mips/msa/arithmetic.ll
Log Message:
-----------
[MIPS] Add FeatureMSA to i6400 and i6500 cores (#134985)
- Enable 'FeatureMSA' for MIPS i6400 and i6500 cpu.
- Enable -mmsa option if mcpu is set to either i6400 or i6500
- added clang driver test to validate msa feature
- added llvm codegen test to validate msa instructions for cpu i6500 and
i6400
MIPS i6400 and i6500 cores implements and enables MSA (MIPS SIMD
ARCHITECTURE) by default.
Commit: 8d9f5160b443f431f20f8f88183898503b62a173
https://github.com/llvm/llvm-project/commit/8d9f5160b443f431f20f8f88183898503b62a173
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenRecordLayout.h
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
A clang/test/CIR/CodeGen/nonzeroinit-struct.cpp
M clang/test/CIR/CodeGen/struct.cpp
A clang/test/CIR/CodeGen/union.cpp
Log Message:
-----------
[CIR] Unblock simple C++ structure support (#138368)
This change adds additional checks to a few places where a simple struct
in C++ code was triggering `errorNYI` in places where no additional
handling was needed, and adds a very small amount of trivial
initialization. The code now checks for the conditions that do require
extra handling before issuing the diagnostic.
New tests are added for declaring and using a simple struct in C++ code.
Commit: 52e5889d0eeecec27beb4332c5d95d33bf3621d8
https://github.com/llvm/llvm-project/commit/52e5889d0eeecec27beb4332c5d95d33bf3621d8
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M libc/config/linux/riscv/entrypoints.txt
M libc/test/src/math/exp10m1f_test.cpp
Log Message:
-----------
[libc] Enable exp10m1f on RISC-V (#138768)
Previously, the test failed due to isnan() and isinf() not being
defined.
This patch follows other tests in the same directory and calls isnan and
isinf from the FBits class.
---------
Co-authored-by: OverMighty <its.overmighty at gmail.com>
Commit: ce69a60bc21024706a90fb36ffc2b43e112fb002
https://github.com/llvm/llvm-project/commit/ce69a60bc21024706a90fb36ffc2b43e112fb002
Author: Zhen Wang <37195552+wangzpgi at users.noreply.github.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M flang/lib/Semantics/check-call.cpp
A flang/test/Semantics/cuf20.cuf
Log Message:
-----------
Skip contiguous check when ignore_tkr(c) is used (#138762)
The point of ignore_tkr(c) is to ignore both contiguous warnings and
errors for arguments of all attribute types.
Commit: dbcfc43fa9bc5c6670d432341629e01cd84b1dab
https://github.com/llvm/llvm-project/commit/dbcfc43fa9bc5c6670d432341629e01cd84b1dab
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/test/DebugInfo/COFF/asm.ll
Log Message:
-----------
[llvm][AsmPrinter] CodeView for UEFI (#138359)
Commit: f9783c559f16991c19924898357edb9240a5f0aa
https://github.com/llvm/llvm-project/commit/f9783c559f16991c19924898357edb9240a5f0aa
Author: Iris Shi <0.0 at owo.li>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/CodeGen/AMDGPU/frexp-constant-fold.ll
A llvm/test/Transforms/InstCombine/frexp.ll
R llvm/test/Transforms/InstSimplify/frexp.ll
Log Message:
-----------
[InstCombine] Fix `frexp(frexp(x)) -> frexp(x)` fold (#138837)
Fixes #138819
When frexp is applied twice, the second result should be zero.
Commit: 3cb480b1bd8c3a368c33e180483178309c9ca753
https://github.com/llvm/llvm-project/commit/3cb480b1bd8c3a368c33e180483178309c9ca753
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseExprCXX.cpp
M clang/test/SemaCXX/concept-crash-on-diagnostic.cpp
Log Message:
-----------
[C++20] Fix crash with invalid concept requirement (#138877)
We were previously recovering a bit too hard; consumeClose() would skip
to a recovery point, then we would call skipToEnd() to skip to another
recovery point. Needless to say, the follow-on diagnostics were not
great. But also, follow-on diagnostics were crashing due to unexpected
null constraint expressions.
Now we only recover once.
Fixes #138820
Commit: 2eb6545b3ecb567a85d9114dab69a1455c7a032c
https://github.com/llvm/llvm-project/commit/2eb6545b3ecb567a85d9114dab69a1455c7a032c
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/include/clang/CIR/CIRToCIRPasses.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/Passes.h
M clang/include/clang/CIR/Dialect/Passes.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
A clang/lib/CIR/Dialect/Transforms/CIRSimplify.cpp
M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/Lowering/CIRPasses.cpp
A clang/test/CIR/Transforms/select.cir
A clang/test/CIR/Transforms/ternary-fold.cir
M clang/tools/cir-opt/cir-opt.cpp
Log Message:
-----------
[CIR] Add cir-simplify pass (#138317)
This patch adds the cir-simplify pass for SelectOp and TernaryOp. It
also adds the SelectOp folder and adds the constant materializer for the
CIR dialect.
Commit: 806a79abd0aac1f0e2ff7c1172ec402cc860a15b
https://github.com/llvm/llvm-project/commit/806a79abd0aac1f0e2ff7c1172ec402cc860a15b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/include/llvm/MC/MCPseudoProbe.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.h
Log Message:
-----------
[llvm] Drop "const" from "const ArrayRef" (NFC) (#138818)
Commit: 0c01b316cc5662f02cea979a2d0af4b879b0f0dd
https://github.com/llvm/llvm-project/commit/0c01b316cc5662f02cea979a2d0af4b879b0f0dd
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMAddressingModes.h
Log Message:
-----------
[llvm] Drop "const" from "const StringRef" (NFC) (#138821)
Commit: 411997ce21dca777100fc5105a12be1f13807e39
https://github.com/llvm/llvm-project/commit/411997ce21dca777100fc5105a12be1f13807e39
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/include/llvm/ADT/APInt.h
Log Message:
-----------
[ADT] Drop "const" from "const APInt" (NFC) (#138825)
Commit: c53e583007738f591d0c9993f06b65c4898a04f8
https://github.com/llvm/llvm-project/commit/c53e583007738f591d0c9993f06b65c4898a04f8
Author: ShashwathiNavada <shashwathinavada at gmail.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/mcmodel.c
Log Message:
-----------
[Driver] Reject -mcmodel=tiny on X86 (#125643)
The mcmodel=tiny memory model is only valid on ARM targets. While trying
this on X86 compiler throws an internal error along with stack dump.
#125641
This patch resolves the issue.
Reduced test case:
```
#include <stdio.h>
int main( void )
{
printf( "Hello, World!\n" );
return 0;
}
```
```
0. Program arguments: /opt/compiler-explorer/clang-trunk/bin/clang++ -gdwarf-4 -g -o /app/output.s -fno-verbose-asm -S --gcc-toolchain=/opt/compiler-explorer/gcc-snapshot -fcolor-diagnostics -fno-crash-diagnostics -mcmodel=tiny <source>
1. <eof> parser at end of file
#0 0x0000000003b10218 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3b10218)
#1 0x0000000003b0e35c llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3b0e35c)
#2 0x0000000003a5dbc3 llvm::CrashRecoveryContext::HandleExit(int) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3a5dbc3)
#3 0x0000000003b05cfe llvm::sys::Process::Exit(int, bool) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3b05cfe)
#4 0x0000000000d4e3eb LLVMErrorHandler(void*, char const*, bool) cc1_main.cpp:0:0
#5 0x0000000003a67c93 llvm::report_fatal_error(llvm::Twine const&, bool) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3a67c93)
#6 0x0000000003a67df8 (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3a67df8)
#7 0x0000000002549148 llvm::X86TargetMachine::X86TargetMachine(llvm::Target const&, llvm::Triple const&, llvm::StringRef, llvm::StringRef, llvm::TargetOptions const&, std::optional<llvm::Reloc::Model>, std::optional<llvm::CodeModel::Model>, llvm::CodeGenOptLevel, bool) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x2549148)
#8 0x00000000025491fc llvm::RegisterTargetMachine<llvm::X86TargetMachine>::Allocator(llvm::Target const&, llvm::Triple const&, llvm::StringRef, llvm::StringRef, llvm::TargetOptions const&, std::optional<llvm::Reloc::Model>, std::optional<llvm::CodeModel::Model>, llvm::CodeGenOptLevel, bool) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x25491fc)
#9 0x0000000003db74cc clang::emitBackendOutput(clang::CompilerInstance&, clang::CodeGenOptions&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3db74cc)
#10 0x0000000004460d95 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x4460d95)
#11 0x00000000060005ec clang::ParseAST(clang::Sema&, bool, bool) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x60005ec)
#12 0x00000000044614b5 clang::CodeGenAction::ExecuteAction() (/opt/compiler-explorer/clang-trunk/bin/clang+++0x44614b5)
#13 0x0000000004737121 clang::FrontendAction::Execute() (/opt/compiler-explorer/clang-trunk/bin/clang+++0x4737121)
#14 0x00000000046b777b clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x46b777b)
#15 0x00000000048229e3 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x48229e3)
#16 0x0000000000d50621 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/opt/compiler-explorer/clang-trunk/bin/clang+++0xd50621)
#17 0x0000000000d48e2d ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#18 0x00000000044acc99 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::'lambda'()>(long) Job.cpp:0:0
#19 0x0000000003a5dac3 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3a5dac3)
#20 0x00000000044aceb9 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (.part.0) Job.cpp:0:0
#21 0x00000000044710dd clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/opt/compiler-explorer/clang-trunk/bin/clang+++0x44710dd)
#22 0x0000000004472071 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/opt/compiler-explorer/clang-trunk/bin/clang+++0x4472071)
#23 0x000000000447c3fc clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x447c3fc)
#24 0x0000000000d4d2b1 clang_main(int, char**, llvm::ToolContext const&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0xd4d2b1)
#25 0x0000000000c12464 main (/opt/compiler-explorer/clang-trunk/bin/clang+++0xc12464)
#26 0x00007ae43b029d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#27 0x00007ae43b029e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#28 0x0000000000d488c5 _start (/opt/compiler-explorer/clang-trunk/bin/clang+++0xd488c5)
```
---------
Co-authored-by: Shashwathi N <nshashwa at pe31.hpc.amslabs.hpecorp.net>
Commit: e33ca9adc8ccb0bc4fa590975898b788ef880dd7
https://github.com/llvm/llvm-project/commit/e33ca9adc8ccb0bc4fa590975898b788ef880dd7
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M libcxx/include/__iterator/advance.h
M libcxx/test/libcxx/iterators/assert.advance.pass.cpp
M libcxx/test/libcxx/iterators/assert.next.pass.cpp
M libcxx/test/libcxx/iterators/assert.prev.pass.cpp
Log Message:
-----------
[libc++] Reword std::advance assertion message for consistency with ranges::advance (#138749)
As brought up in https://github.com/llvm/llvm-project/pull/133276.
Commit: 91074a1b50fd497bef452eadef70b75a64dee3e4
https://github.com/llvm/llvm-project/commit/91074a1b50fd497bef452eadef70b75a64dee3e4
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
Log Message:
-----------
[libc++] Reword release note section about future releases (#138544)
For several releases, we had a section in the release notes that was
called "Upcoming Deprecations and Removals". That section was used to
advertize breaking changes in future releases as opposed to ones in the
current release.
However, the way this section was worded and organized made it unclear
what release these announcements related to. This patch rewords that
section of the release notes to make it less ambiguous and moves items
that aren't done yet (but relate to the ongoing release) to a different
section with a TODO.
Commit: 84b1b6231cb8ab3ebd92ded7dd54d344b10dffe2
https://github.com/llvm/llvm-project/commit/84b1b6231cb8ab3ebd92ded7dd54d344b10dffe2
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/test/MC/AMDGPU/gfx950_invalid_encoding.txt
Log Message:
-----------
[AMDGPU] Fix endline in gfx950_invalid_encoding.txt. NFC. (#138813)
Commit: 68ee36a144bb6f090b10586a9e1f049f1462132e
https://github.com/llvm/llvm-project/commit/68ee36a144bb6f090b10586a9e1f049f1462132e
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
Log Message:
-----------
[CIR] Remove inferred context from pointer type getters (#138858)
This mirror incubator changes from https://github.com/llvm/clangir/pull/1600
Commit: 5fd90987e147c64a735f0cb2bcfbef4e4cce5e21
https://github.com/llvm/llvm-project/commit/5fd90987e147c64a735f0cb2bcfbef4e4cce5e21
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
Log Message:
-----------
[CIR] Refactor VoidPtr constraint to CIR_VoidPtrType (#138859)
This mirrors incubator changes from https://github.com/llvm/clangir/pull/1601
Commit: 9808e1f9820eb16d240bee2e101b6538fe8b8269
https://github.com/llvm/llvm-project/commit/9808e1f9820eb16d240bee2e101b6538fe8b8269
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/lib/CodeGen/CGPointerAuth.cpp
Log Message:
-----------
clang: Remove unnecessary pointer bitcast (#138857)
Commit: e0a951fec4b01eba52e0aadc821b562201c5dfff
https://github.com/llvm/llvm-project/commit/e0a951fec4b01eba52e0aadc821b562201c5dfff
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zvqdotq.ll
Log Message:
-----------
[RISCV] Extend zvqdotq tests to cover use of accumulator operand
Commit: 3212555c6c3f42361e371b18a69ebed372ee6da8
https://github.com/llvm/llvm-project/commit/3212555c6c3f42361e371b18a69ebed372ee6da8
Author: Steven Perron <stevenperron at google.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVIRMapping.h
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
M llvm/test/CodeGen/SPIRV/hlsl-resources/StructuredBuffer.ll
A llvm/test/CodeGen/SPIRV/spirv-explicit-layout.ll
Log Message:
-----------
[SPIRV] Reapply explicit layout PRs (#138867)
The asan failure was fixed by #138695, but another failure was
introduced in the meantime. The cause for the other failure has been
fixed. I will reapply the two PRs.
Reapply "[SPIRV] Add explicit layout (#135789)"
This reverts commit 0fb5720b4bf461d4d51ee85a8a6f4ea4f6fb4966.
Reapply "[SPIRV] Fix asan failure (#138695)"
This reverts commit df90ab96fb5a10df88fcfe6b0e8e63781ca24eca.
Commit: f8afefa05a15455bb7a84d5cd9b18ad88913d6de
https://github.com/llvm/llvm-project/commit/f8afefa05a15455bb7a84d5cd9b18ad88913d6de
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
Log Message:
-----------
[CIR] Remove implicit options from tablegen files (#138860)
This mirrors incubator changes from https://github.com/llvm/clangir/pull/1602
Commit: 4ff9db68a30b3298be2e56abc47c92d3412e1543
https://github.com/llvm/llvm-project/commit/4ff9db68a30b3298be2e56abc47c92d3412e1543
Author: Alejandro Colomar <foss+github at alejandro-colomar.es>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/test/C/C2y/n3369.c
Log Message:
-----------
Add more tests for _Countof (#133333)
Link: <https://github.com/llvm/llvm-project/issues/102836>
Link: <https://github.com/llvm/llvm-project/pull/133125>
Commit: d56f23e4083d8c5aaf123da0f3adfeda50e47417
https://github.com/llvm/llvm-project/commit/d56f23e4083d8c5aaf123da0f3adfeda50e47417
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
Log Message:
-----------
[AsmParser] Replace starIsStartOfStatement with tokenIsStartOfStatement. (#137997)
Currently `MCTargetAsmParser::starIsStartOfStatement` checks for `*` at
the start of the statement. There are other (currently) downstream
back-ends that need the same treatment for other tokens. Instead of
introducing bespoke APIs for each such token, we generalize (and rename)
starIsStartOfStatement as tokenIsStartOfStatement which takes the token
of interest as an argument.
Update the BPF AsmParser (the only upstream consumer today) to use the
new version.
Commit: 3d71939dda0a3f6db929b57320342a41b3a2db96
https://github.com/llvm/llvm-project/commit/3d71939dda0a3f6db929b57320342a41b3a2db96
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
Propose new ClangIR Maintainers (#138870)
While I don't propose any change to the process we've been using for
ClangIR contributions, it is important that we have maintainers listed
so that folks have a good point of contact for the project in the
upstream.
---------
Co-authored-by: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Commit: bf5971634a9244fd65c1bf8316b3d6ec407783ae
https://github.com/llvm/llvm-project/commit/bf5971634a9244fd65c1bf8316b3d6ec407783ae
Author: John Harrison <harjohn at google.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Fix package.json after a bad merge. (#138918)
The package.json is currently malformed after a bad merge in
39e6e888a8155583713e1b8b256119a2be7902e0.
Commit: 8810595068a3f17c444e7f96733a6cd9dc08987e
https://github.com/llvm/llvm-project/commit/8810595068a3f17c444e7f96733a6cd9dc08987e
Author: Devon Loehr <DKLoehr at users.noreply.github.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
Add unnecessary-virtual-specifier to -Wextra (#138741)
Effectively a reland of #133265, though due to discussion there we add
the warning to -Wextra instead of turning it on by default. We still
need to disable it for LLVM due to our unusual policy of using virtual
`anchor` functions even in final classes. We now check if the warning
exists before disabling it in LLVM builds, so hopefully this will fix
the issues libcxx ran into last time.
>From the previous PR:
I've been working on cleaning up this warning in two codebases: LLVM and
chromium (plus its dependencies). The chromium + dependency cleanup has
been straightforward. Git archaeology shows that there are two reasons
for the warnings: classes to which `final` was added after they were
initially committed, and classes with virtual destructors that nobody
remarks on. Presumably the latter case is because people are just very
used to destructors being virtual.
The LLVM cleanup was more surprising: I discovered that we have an [old
policy](https://llvm.org/docs/CodingStandards.html#provide-a-virtual-method-anchor-for-classes-in-headers)
about including out-of-line virtual functions in every class with a
vtable, even `final` ones. This means our codebase has many virtual
"anchor" functions which do nothing except control where the vtable is
emitted, and which trigger the warning. I looked into alternatives to
satisfy the policy, such as using destructors instead of introducing a
new function, but it wasn't clear if they had larger implications.
Overall, it seems like the warning is genuinely useful in most codebases
(evidenced by chromium and its dependencies), and LLVM is an unusual
case. Therefore we should enable the warning by default, and turn it off
only for LLVM builds.
Commit: 47218eadd8adf1926ced879caa50b8885d1b070d
https://github.com/llvm/llvm-project/commit/47218eadd8adf1926ced879caa50b8885d1b070d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M lldb/unittests/API/CMakeLists.txt
Log Message:
-----------
[lldb] Use -Wno-documentation-deprecated-sync if available (#138909)
report_fatal_error has been marked "@deprecated" in its comment, but
the function itself is not marked with [[deprecated]] yet. This
causes warnings like:
llvm/include/llvm/Support/ErrorHandling.h:61:6: error: declaration
is marked with '@deprecated' command but does not have a deprecation
attribute [-Werror,-Wdocumentation-deprecated-sync]
llvm/include/llvm/Support/Error.h:738:6: error: declaration is
marked with '@deprecated' command but does not have a deprecation
attribute [-Werror,-Wdocumentation-deprecated-sync]
This patch disables the warning while we migrate away from
report_fatal_error.
Commit: 8307d45cc855734650d9fff6778461687a40342b
https://github.com/llvm/llvm-project/commit/8307d45cc855734650d9fff6778461687a40342b
Author: Sam Clegg <sbc at chromium.org>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M lld/test/wasm/lto/signature-mismatch.ll
M lld/wasm/LTO.cpp
M lld/wasm/LTO.h
M lld/wasm/SymbolTable.cpp
Log Message:
-----------
[lld][WebAssembly] Fix reported names of LTO output files (#138789)
This change was made in the ELF linker in #78835 but somehow never made
it over to the wasm port.
Commit: 05d67348980a32a0e8c53dcf4d70321957e9f895
https://github.com/llvm/llvm-project/commit/05d67348980a32a0e8c53dcf4d70321957e9f895
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/lib/Headers/gpuintrin.h
Log Message:
-----------
[Clang] Pass correct lane mask for match helpers (#138693)
Summary:
We use the ballot to get the proper lane mask after we've masked off the
threads already done. This isn't an issue on AMDGPU but could cause
problems for post-Volta since it's saying that threads are active when
they aren't.
Commit: 70cf616b331c9db65143490f6958752b6520e758
https://github.com/llvm/llvm-project/commit/70cf616b331c9db65143490f6958752b6520e758
Author: Petr Hosek <phosek at google.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
A clang/cmake/caches/Fuchsia-stage2-instrumented.cmake
M clang/cmake/caches/Fuchsia.cmake
Log Message:
-----------
[Fuchsia] Support PGO (#128680)
Enable 2-stage builds with PGO.
Commit: 854b9e931703dd1b9d8a2b0fe8da787f9e26058d
https://github.com/llvm/llvm-project/commit/854b9e931703dd1b9d8a2b0fe8da787f9e26058d
Author: John Harrison <harjohn at google.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
M lldb/tools/lldb-dap/src-ts/uri-launch-handler.ts
Log Message:
-----------
[lldb-dap] Format extension typescript. (#138925)
I think the format checker isn't checking typescript files. I ran `npm
run format` to fix the extenion typescript.
Commit: 39beeb8eaa62506013df235497def6cc15ef362a
https://github.com/llvm/llvm-project/commit/39beeb8eaa62506013df235497def6cc15ef362a
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M openmp/runtime/src/z_Linux_asm.S
Log Message:
-----------
[OpenMP] Fix __kmp_unnamed_critical_addr .type setting (#138815)
PR #138517 broke the Android LLVM builders: ARM doesn't understand the
`@object` form. As it turns out, one can use `%object` instead, which
does assemble on all targets currently supported by `z_Linux_asm.S`.
Tested by rebuilding `libomp.so` on `sparcv9-sun-solaris2.11`.
Commit: 74c0422cfeac42c83b82a3ff5c0c0cde849bd240
https://github.com/llvm/llvm-project/commit/74c0422cfeac42c83b82a3ff5c0c0cde849bd240
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/CMakeLists.txt
Log Message:
-----------
[Clang][CMake] use CMakePushCheckState (#138783)
The previous approach of using list(REMOVE ...) would remove *all*
occurences of the given item, not just the one appended above.
Commit: fc281e1b4fcd32f78ed202fbdc92c1816a80e078
https://github.com/llvm/llvm-project/commit/fc281e1b4fcd32f78ed202fbdc92c1816a80e078
Author: A. Jiang <de34 at live.cn>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/test/std/algorithms/ranges_robust_against_omitting_invoke.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
Log Message:
-----------
[libc++][docs] Confirm that P3136R1 Retiring niebloids is Complete (#135932)
As libc++ has been implementing niebloids as CPOs since LLVM 14 due to
https://reviews.llvm.org/D116570.
Also changes some comments in test files to use the formal term
"algorithm function object".
Closes #118133.
Commit: 13c464be84d9715f0825387f30e455eea7ef75f7
https://github.com/llvm/llvm-project/commit/13c464be84d9715f0825387f30e455eea7ef75f7
Author: yronglin <yronglin777 at gmail.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/__expected/expected.h
M libcxx/include/__type_traits/is_core_convertible.h
M libcxx/test/std/utilities/expected/expected.expected/equality/equality.T2.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/equality/equality.other_expected.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/equality/equality.unexpected.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/equality/equality.other_expected.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/equality/equality.unexpected.pass.cpp
M libcxx/test/std/utilities/expected/types.h
Log Message:
-----------
[libc++] Implement P3379R0 Constrain `std::expected` equality operators (#135759)
Closes #118135
Co-authored-by: A. Jiang <de34 at live.cn>
Commit: 93aba1e240dbf8fa8f71cbc05dcae2dc1498c2dd
https://github.com/llvm/llvm-project/commit/93aba1e240dbf8fa8f71cbc05dcae2dc1498c2dd
Author: Ryan Prichard <rprichard at google.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M libcxx/test/std/input.output/file.streams/fstreams/filebuf.members/close.pass.cpp
Log Message:
-----------
[libc++][Android] Disable fdsan in filebuf close.pass.cpp (#102412)
fdsan is Bionic's "File Descriptor Sanitizer". Starting in API 30+, it
aborts this close.pass.cpp test, because it closes the FD belonging to
std::filebuf's FILE*. For `__BIONIC__`, disable that part of the test.
Commit: 16107c88fb6cc474e1e5691025eb295df094a6c2
https://github.com/llvm/llvm-project/commit/16107c88fb6cc474e1e5691025eb295df094a6c2
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M lld/CMakeLists.txt
Log Message:
-----------
[LLD][CMake] fix testing standalone build without installed llvm-lit. (#138575)
This block was copied from clang/CMakeLists.txt.
Commit: f74d893987dd72c6a7dc6b4f219877204a7681f4
https://github.com/llvm/llvm-project/commit/f74d893987dd72c6a7dc6b4f219877204a7681f4
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/test/CIR/CodeGen/switch.cpp
Log Message:
-----------
[CIR] Upstream support for switch statements case kinds (#138003)
This introduces support for the following cir::case kinds:
- `Equal`
- `AnyOf`
- `Range`
Commit: db38cc27bc61cf2d53bcac1203722853610aa073
https://github.com/llvm/llvm-project/commit/db38cc27bc61cf2d53bcac1203722853610aa073
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
A clang/test/Analysis/issue-137252.cpp
Log Message:
-----------
[analyzer] Make it a noop when initializing a field of empty record (#138594)
Previously, Static Analyzer initializes empty type fields with zeroes.
This can cause problems when those fields have no unique addresses. For
example, https://github.com/llvm/llvm-project/issues/137252.
rdar://146753089
Commit: 9a2d6021878768c67243d65a5ebc98a40db34582
https://github.com/llvm/llvm-project/commit/9a2d6021878768c67243d65a5ebc98a40db34582
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/test/Driver/predefined-macros-powerpc2.f90
Log Message:
-----------
[flang][AIX] Predefine __64BIT__ and _AIX macros (#138591)
Commit: b7db2e1fc0705807fe7f02b790d1a7c998287bda
https://github.com/llvm/llvm-project/commit/b7db2e1fc0705807fe7f02b790d1a7c998287bda
Author: Yanzuo Liu <zwuis at outlook.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
Log Message:
-----------
[Clang-Tidy][NFC] Simplify check cppcoreguidelines-missing-std-forward (#138504)
Remove `CaptureInCopy` because the cases handled by it are covered by
`CaptureByRefExplicit`.
Commit: 79bc8ad5b73e123cf71bbc6084f2a1bc525eca2b
https://github.com/llvm/llvm-project/commit/79bc8ad5b73e123cf71bbc6084f2a1bc525eca2b
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/Support/Unix/Signals.inc
Log Message:
-----------
[LLVM][Support] check for error return from dladdr. (#138369)
In case of an error, the DL_info struct may have been left
uninitialized, so it is not safe to use its members.
In one error case, initialize dli_sname to nullptr explicitly, so that
the later check against nullptr is guaranteed to be safe.
Commit: 7f4e36ebf61257c15c5bf5e80b08a2c9402b245d
https://github.com/llvm/llvm-project/commit/7f4e36ebf61257c15c5bf5e80b08a2c9402b245d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Create PHI VPInstruction using VPBuilder (NFC).
Use builder to create scalar PHI VPInstructions.
Commit: 9048c2d4f239cb47fed17cb150e2bbf3934454c2
https://github.com/llvm/llvm-project/commit/9048c2d4f239cb47fed17cb150e2bbf3934454c2
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
R clang/test/Analysis/issue-137252.cpp
Log Message:
-----------
Revert "[analyzer] Make it a noop when initializing a field of empty record" (#138951)
Reverts llvm/llvm-project#138594
Crashes, see: https://lab.llvm.org/buildbot/#/builders/144/builds/24534
Commit: 40941f15962191d0236ecdc29cd6937abce974fb
https://github.com/llvm/llvm-project/commit/40941f15962191d0236ecdc29cd6937abce974fb
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
Log Message:
-----------
[LLDB][Minidump] Add some buffer directories (#138943)
Add a generous amount of buffer directories. I found out some LLDB forks
(internal and external) had custom ranges that could fail because we
didn't pre-account for those. To prevent this from being a problem, I've
added a large number of buffer directories at the cost of 240 bytes.
Commit: 1a7cd92c8607bbad5c212f474a1e46043a8016cd
https://github.com/llvm/llvm-project/commit/1a7cd92c8607bbad5c212f474a1e46043a8016cd
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M flang/module/cudadevice.f90
Log Message:
-----------
[flang][cuda] Update syncthreads interface (#138023)
Commit: 384a5b00a7c8fffa72f7fe7021863d00da842a19
https://github.com/llvm/llvm-project/commit/384a5b00a7c8fffa72f7fe7021863d00da842a19
Author: vaibhav <73255802+mrdaybird at users.noreply.github.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
A llvm/test/Analysis/LoopAccessAnalysis/different_strides.ll
Log Message:
-----------
[LAA] Use MaxStride instead of CommonStride to calculate MaxVF (#98142)
We bail out from MaxVF calculation if the strides are not the same.
Instead, we are dependent on runtime checks, though not yet implemented.
We could instead use the MaxStride to conservatively use an upper bound.
This handles cases like the following:
```c
#define LEN 256 * 256
float a[LEN];
void gather() {
for (int i = 0; i < LEN - 1024 - 255; i++) {
#pragma clang loop interleave(disable)
#pragma clang loop unroll(disable)
for (int j = 0; j < 256; j++)
a[i + j + 1024] += a[j * 4 + i];
}
}
```
---------
Co-authored-by: Florian Hahn <flo at fhahn.com>
Commit: 9da103ab9e656274357a1f09456431dac84ac549
https://github.com/llvm/llvm-project/commit/9da103ab9e656274357a1f09456431dac84ac549
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/different-strides-safe-dep-due-to-backedge-taken-count.ll
M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-backward.ll
Log Message:
-----------
[LAA] Update remaining tests after 384a5b00a7.
Commit: 43c514bd42d3e12dd299c0a7165b3e079e9efd38
https://github.com/llvm/llvm-project/commit/43c514bd42d3e12dd299c0a7165b3e079e9efd38
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/TokenKinds.def
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/attr-trivial-abi.cpp
M clang/test/SemaCXX/ptrauth-triviality.cpp
M clang/test/SemaCXX/type-traits-nonobject.cpp
Log Message:
-----------
[Clang] Deprecate `__is_trivially_relocatable` (#138835)
The C++26 standard relocatable type traits has slightly different
semantics, so we introduced a new
``__builtin_is_cpp_trivially_relocatable`` when implementing trivial
relocation in #127636.
However, having multiple relocatable traits would be confusing in the
long run, so we deprecate the old trait.
As discussed in #127636
`__builtin_is_cpp_trivially_relocatable` should be used instead.
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: 62a2f0fdc74f086c875833eefe9099bd30f41957
https://github.com/llvm/llvm-project/commit/62a2f0fdc74f086c875833eefe9099bd30f41957
Author: fahadnayyar <30953967+fahadnayyar at users.noreply.github.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/include/clang/APINotes/Types.h
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/APINotes/APINotesWriter.cpp
M clang/lib/APINotes/APINotesYAMLCompiler.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
M clang/test/APINotes/Inputs/Headers/SwiftImportAs.h
M clang/test/APINotes/swift-import-as.cpp
Log Message:
-----------
[APINotes] Add support for SWIFT_RETURED_AS_UNRETAINED_BY_DEFAULT (#138699)
This patch adds support in APINotes for annotating C++ user-defined
types with: `swift_attr("returned_as_unretained_by_default")`
This attribute allows to specify a default ownership convention for
return values of `SWIFT_SHARED_REFERENCE` c++ types. Specifically, it
marks all unannotated return values of this type as `unretained` (`+0`)
by default, unless explicitly overridden at the API level using
`swift_attr("returns_retained")` or `swift_attr("returns_unretained")`.
The corresponding Swift compiler support for this annotation enables
developers to suppress warnings about unannotated return ownership in
large codebases while maintaining safe and predictable ownership
semantics. By enabling this in APINotes, library authors can define this
behavior externally without needing to modify C++ source headers
directly.
### Example usage in APINotes:
```
- Name: RefCountedTypeWithDefaultConvention
SwiftImportAs: reference
SwiftDefaultOwnership: unretained
```
rdar://150764491
Commit: f4e7ba02cc7fd35f3e5ad82cf98c3220af7cd068
https://github.com/llvm/llvm-project/commit/f4e7ba02cc7fd35f3e5ad82cf98c3220af7cd068
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.h
M clang/test/CIR/CodeGenOpenACC/loop.cpp
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[OpenACC][CIR] Implement 'worker'/'vector' lowering (#138765)
This patch implements worker and vector lowering for the loop construct,
which are fairly simple clauses, except that they also have a 'no
argument' form which requires a touch more work. Else, these are just
like a handful of other clauses where we just keep the device_type array
and operands in sync.
Commit: 8602a655a8150753542b0237fcca16d9ee1cd981
https://github.com/llvm/llvm-project/commit/8602a655a8150753542b0237fcca16d9ee1cd981
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
M llvm/unittests/ADT/DenseMapTest.cpp
Log Message:
-----------
[DenseMap] Introduce keys, values iterators (#138848)
Commit: b8461acc5eb41ced70cc5c7f5a324cfd8bf76403
https://github.com/llvm/llvm-project/commit/b8461acc5eb41ced70cc5c7f5a324cfd8bf76403
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M flang/test/Driver/mcmodel.f90
Log Message:
-----------
[Flang] Fix driver test after #125643 (#138959)
Commit: 1698beb5420f6e6f7eed5d9914ab6a10ff5f4b1f
https://github.com/llvm/llvm-project/commit/1698beb5420f6e6f7eed5d9914ab6a10ff5f4b1f
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/include/clang/Serialization/ModuleCache.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/include/clang/Tooling/DependencyScanning/InProcessModuleCache.h
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTCommon.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ModuleCache.cpp
M clang/lib/Serialization/ModuleManager.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/InProcessModuleCache.cpp
Log Message:
-----------
[clang][modules][deps] Optimize in-process timestamping of PCMs (#137363)
In the past, timestamps used for
`-fmodules-validate-once-per-build-session` were found to be a source of
contention in the dependency scanner
([D149802](https://reviews.llvm.org/D149802),
https://github.com/llvm/llvm-project/pull/112452). This PR is yet
another attempt to optimize these. We now make use of the new
`ModuleCache` interface to implement the in-process version in terms of
atomic `std::time_t` variables rather the mtime attribute on
`.timestamp` files.
Commit: 6babd63a4bbc094bee4ef8e75f95dccd32325c15
https://github.com/llvm/llvm-project/commit/6babd63a4bbc094bee4ef8e75f95dccd32325c15
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Target/XCore/CMakeLists.txt
M llvm/lib/Target/XCore/XCoreISelLowering.cpp
M llvm/lib/Target/XCore/XCoreISelLowering.h
M llvm/lib/Target/XCore/XCoreSelectionDAGInfo.cpp
M llvm/lib/Target/XCore/XCoreSelectionDAGInfo.h
Log Message:
-----------
[XCore] TableGen-erate SDNode descriptions (#138869)
This consolidates node definitions into one place and enables automatic
node verification.
Part of #119709.
Commit: b9d7f076e9c1b3a1c1027b4ed9e8012a58b7cd2b
https://github.com/llvm/llvm-project/commit/b9d7f076e9c1b3a1c1027b4ed9e8012a58b7cd2b
Author: joaosaffran <joao.saffran at microsoft.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
Log Message:
-----------
fix naming
Commit: 90d8e4de117f0cbe7eb1f69ee45c0e79d42d3667
https://github.com/llvm/llvm-project/commit/90d8e4de117f0cbe7eb1f69ee45c0e79d42d3667
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/lib/Tooling/DependencyScanning/InProcessModuleCache.cpp
Log Message:
-----------
[Tooling] Fix warnings
This patch fixes:
clang/lib/Tooling/DependencyScanning/InProcessModuleCache.cpp:69:7:
error: 'std::lock_guard' may not intend to support class template
argument deduction [-Werror,-Wctad-maybe-unsupported]
clang/lib/Tooling/DependencyScanning/InProcessModuleCache.cpp:80:7:
error: 'std::lock_guard' may not intend to support class template
argument deduction [-Werror,-Wctad-maybe-unsupported]
clang/lib/Tooling/DependencyScanning/InProcessModuleCache.cpp:93:7:
error: 'std::lock_guard' may not intend to support class template
argument deduction [-Werror,-Wctad-maybe-unsupported]
Commit: 5d7e8ac53badb45f29d88b133fccb3fb8eed787a
https://github.com/llvm/llvm-project/commit/5d7e8ac53badb45f29d88b133fccb3fb8eed787a
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
Log Message:
-----------
[webkit.UncountedLambdaCapturesChecker] Treat a copy capture of a CheckedPtr object as safe (#138068)
Allow copy capture of a reference to a CheckedPtr capable object since
such a capture will copy the said object instead of keeping a dangling
reference to the object.
Commit: 94d933676c34c9179bf55387d3f9b97e12fae94b
https://github.com/llvm/llvm-project/commit/94d933676c34c9179bf55387d3f9b97e12fae94b
Author: Chengjun <chengjunp at Nvidia.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/include/llvm/Target/TargetMachine.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.h
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.h
A llvm/test/Analysis/NVPTXAA/NVPTXAA_before_BasicAA.ll
Log Message:
-----------
[AA] Move Target Specific AA before BasicAA (#125965)
In this change, NVPTX AA is moved before Basic AA to potentially improve
compile time. Additionally, it introduces a flag in the
`ExternalAAWrapper` that allows other backends to run their
target-specific AA passes before Basic AA, if desired.
The change works for both New Pass Manager and Legacy Pass Manager.
Original implementation by Princeton Ferro <pferro at nvidia.com>
Commit: 1d073fd1ca07b1ecf8eb95aa647692d33626ae03
https://github.com/llvm/llvm-project/commit/1d073fd1ca07b1ecf8eb95aa647692d33626ae03
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M compiler-rt/lib/lsan/lsan_fuchsia.cpp
Log Message:
-----------
[lsan][Fuchsia] Define EarlySanitizerInit for standalone lsan (#138946)
I forgot to add this definition in https://github.com/llvm/llvm-project/pull/131886.
Commit: 63fcce6611483658e310741b49460ff6350e9bc0
https://github.com/llvm/llvm-project/commit/63fcce6611483658e310741b49460ff6350e9bc0
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
Log Message:
-----------
[IA][RISCV] Add support for vp.load/vp.store with shufflevector (#135445)
Teach InterleavedAccessPass to recognize vp.load + shufflevector and
shufflevector + vp.store. Though this patch only adds RISC-V support to
actually lower this pattern. The vp.load/vp.store in this pattern
require constant mask.
Commit: 0d0ef58c8facb0f2e5c2f4615b0d25f19e5abe01
https://github.com/llvm/llvm-project/commit/0d0ef58c8facb0f2e5c2f4615b0d25f19e5abe01
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M lldb/test/Shell/Unwind/signal-in-leaf-function-aarch64.test
Log Message:
-----------
[lldb][Darwin] Note why this test is xfail'ed on
darwin - due to there not being any eh_frame
instructions for _sigtramp from the system libraries.
Commit: b756c82bfacb2822cd516c32ae3c406e71448c0a
https://github.com/llvm/llvm-project/commit/b756c82bfacb2822cd516c32ae3c406e71448c0a
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
A clang/test/Analysis/issue-137252.cpp
Log Message:
-----------
Re-land "[analyzer] Make it a noop when initializing a field of empty record" (#138951)
The original commit assumes that
`CXXConstructExpr->getType()->getAsRecordDecl()` is always a
`CXXRecordDecl` but it is not true for ObjC programs.
This relanding changes
`cast<CXXRecordDecl>(CXXConstructExpr->getType()->getAsRecordDecl())`
to
`dyn_cast_or_null<CXXRecordDecl>(CXXConstructExpr->getType()->getAsRecordDecl())`
This reverts commit 9048c2d4f239cb47fed17cb150e2bbf3934454c2.
rdar://146753089
Commit: 6a28d8c24a07cb562ad53335ee9a5f07328b20e7
https://github.com/llvm/llvm-project/commit/6a28d8c24a07cb562ad53335ee9a5f07328b20e7
Author: Thurston Dang <thurston at google.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/SanitizerArgs.h
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/CodeGen/bounds-checking-debuginfo.c
M clang/test/Driver/fsanitize.c
Log Message:
-----------
[sanitizer] Add plumbing for -fsanitize-annotate-debug-info and partly replace '-mllvm -array-bounds-pseudofn' (#138577)
@fmayer introduced '-mllvm -array-bounds-pseudofn'
(https://github.com/llvm/llvm-project/pull/128977/) to make it easier to
see why crashes occurred, and to estimate with a profiler the cycles
spent on these array-bounds checks. This functionality could be usefully
generalized to other checks in future work.
This patch adds the plumbing for -fsanitize-annotate-debug-info, and
connects it to the existing array-bounds-pseudo-fn functionality i.e.,
-fsanitize-annotate-debug-info=array-bounds can be used as a replacement
for '-mllvm -array-bounds-pseudofn', though we do not yet delete the
latter.
Note: we replaced '-mllvm -array-bounds-pseudofn' in
clang/test/CodeGen/bounds-checking-debuginfo.c, because adding test
cases would modify the line numbers in the test assertions, and
therefore obscure that the test output is the same between '-mllvm
-array-bounds-pseudofn' and -fsanitize-annotate-debug-info=array-bounds.
Commit: 7313c3b1f1454b408d9f845a1c6aa40c5b36cae9
https://github.com/llvm/llvm-project/commit/7313c3b1f1454b408d9f845a1c6aa40c5b36cae9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
Log Message:
-----------
[mlir] Use llvm::bit_width (NFC) (#138648)
Note that bit_width is implemented as:
std::numeric_limits<T>::digits - llvm::countl_zero(Value);
Commit: aeeb9a3c09f40f42a1e8e5e3c8dbde3b260744bd
https://github.com/llvm/llvm-project/commit/aeeb9a3c09f40f42a1e8e5e3c8dbde3b260744bd
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
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/attach/TestDAP_attach.py
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attachByPortNum.py
M lldb/test/API/tools/lldb-dap/breakpoint-events/TestDAP_breakpointEvents.py
M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
M lldb/test/API/tools/lldb-dap/console/TestDAP_redirection_to_console.py
M lldb/test/API/tools/lldb-dap/disconnect/TestDAP_disconnect.py
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
M lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
M lldb/test/API/tools/lldb-dap/repl-mode/TestDAP_repl_mode_detection.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_runInTerminal.py
M lldb/test/API/tools/lldb-dap/send-event/TestDAP_sendEvent.py
M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
M lldb/test/API/tools/lldb-dap/stackTraceDisassemblyDisplay/TestDAP_stackTraceDisassemblyDisplay.py
M lldb/test/API/tools/lldb-dap/startDebugging/TestDAP_startDebugging.py
M lldb/test/API/tools/lldb-dap/stop-hooks/TestDAP_stop_hooks.py
M lldb/test/API/tools/lldb-dap/variables/children/TestDAP_variables_children.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LaunchRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
Log Message:
-----------
[lldb-dap] Change the launch sequence (#138219) (reland)
This PR changes how we treat the launch sequence in lldb-dap.
- Send the initialized event after we finish handling the initialize
request, rather than after we finish attaching or launching.
- Delay handling the launch and attach request until we have handled
the configurationDone request. The latter is now largely a NO-OP and
only exists to signal lldb-dap that it can handle the launch and
attach requests.
- Delay handling the initial threads requests until we have handled
the launch or attach request.
- Make all attaching and launching synchronous, including when we have
attach or launch commands. This removes the need to synchronize
between the request and event thread.
Background:
https://discourse.llvm.org/t/reliability-of-the-lldb-dap-tests/86125
Commit: 83e1f34c1c8c7b5d2c53a45dfb44cf3766f7c345
https://github.com/llvm/llvm-project/commit/83e1f34c1c8c7b5d2c53a45dfb44cf3766f7c345
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang-tools-extra/clang-doc/Representation.h
Log Message:
-----------
[clang-doc][NFC] Add TODO for future work (#138052)
Commit: 59a73bdbc4c7b99a4b82ecd0d246267815699077
https://github.com/llvm/llvm-project/commit/59a73bdbc4c7b99a4b82ecd0d246267815699077
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang-tools-extra/clang-doc/Representation.h
Log Message:
-----------
[clang-doc] Add missing comment for Base (#138053)
Commit: 2040f50a566e19b9bb30baf75f15199d1aba18b2
https://github.com/llvm/llvm-project/commit/2040f50a566e19b9bb30baf75f15199d1aba18b2
Author: Lang Hames <lhames at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/ELF_i386.cpp
Log Message:
-----------
[JITLink][i386] Improve unsupported relocation error message.
Commit: 45b5cc08e5823c59802f88ec3f27108ab98c1eb9
https://github.com/llvm/llvm-project/commit/45b5cc08e5823c59802f88ec3f27108ab98c1eb9
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CXX/drs/cwg1xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg5xx.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p1.cpp
M clang/test/FixIt/fixit.cpp
M clang/test/SemaCXX/MicrosoftCompatibility.cpp
M clang/test/SemaCXX/MicrosoftExtensions.cpp
M clang/test/SemaCXX/MicrosoftSuper.cpp
A clang/test/SemaCXX/gh138775.cpp
M clang/test/SemaCXX/rounding-math-crash.cpp
M clang/test/SemaCXX/unknown-type-name.cpp
M clang/test/SemaTemplate/typename-specifier-3.cpp
Log Message:
-----------
[Clang] Fix the warning group of several compatibilty diagnostics (#138872)
There are a few diagnostics that are incorrectly grouped under
`-Wc++20-compat` instead of `-Wpre-c++20-compat`.
I grepped for any remaining `-Wc++xy-compat` diagnostics, but they all
seem to actually be about compatibility with C++XY.
Fixes #138775.
Commit: 934cfa796e83e2fda4de14f8dfe68586270dd49c
https://github.com/llvm/llvm-project/commit/934cfa796e83e2fda4de14f8dfe68586270dd49c
Author: Chengjun <chengjunp at Nvidia.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
R llvm/test/Analysis/NVPTXAA/NVPTXAA_before_BasicAA.ll
A llvm/test/CodeGen/NVPTX/NVPTXAA_before_BasicAA.ll
Log Message:
-----------
[NVPTX] Fix NVPTXAA_before_BasicAA Test (#138992)
Fix the failed test in the
[PR](https://github.com/llvm/llvm-project/pull/125965) by moving the
test to CodeGen/NVPTX.
Commit: 32f514c68d78530f7d7adee883e1b4fc8dd1e9fd
https://github.com/llvm/llvm-project/commit/32f514c68d78530f7d7adee883e1b4fc8dd1e9fd
Author: Lang Hames <lhames at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/ELF_i386.cpp
M llvm/test/ExecutionEngine/JITLink/i386/ELF_i386_small_pic_relocations_got.s
Log Message:
-----------
[JITLink][i386] Support R_386_GOT32X using existing non-relaxable edge kind.
R_386_GOT32 was already handled by lowering to
EdgeKind_i386::RequestGOTAndTransformToDelta32FromGOT. R_386_GOT32X is just an
optionally relaxable version of R_386_GOT32, so we can lower to the same edge
kind.
I've left a TODO to add a relaxable edge kind and update the i386 relaxation
optimization in the future, though I'll probably leave this as an exercise for
any i386 aficionados out there. ;)
Commit: c1f0e68cec4218c9d51a4ad0a6f6d878ed573dfe
https://github.com/llvm/llvm-project/commit/c1f0e68cec4218c9d51a4ad0a6f6d878ed573dfe
Author: Lang Hames <lhames at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/i386.h
M llvm/lib/ExecutionEngine/JITLink/ELF_i386.cpp
M llvm/lib/ExecutionEngine/JITLink/i386.cpp
Log Message:
-----------
[JITLink][i386] Get rid of EdgeKind_i386::None.
R_386_NONE ELF edges should be handled by skipping the relocation, rather than
adding no-op edges to the LinkGraph.
Commit: 764614e6355e214c6b64c715d105007b1a4b97fd
https://github.com/llvm/llvm-project/commit/764614e6355e214c6b64c715d105007b1a4b97fd
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/MemoryProfileInfo.h
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/test/Transforms/PGOProfile/memprof.ll
Log Message:
-----------
[MemProf] Restructure the pruning of unneeded NotCold contexts (#138792)
This change is mostly NFC, other than the addition of a new message
printed when contexts are pruned when -memprof-report-hinted-sizes is
enabled.
To prepare for a follow on change, adjust the way we determine which
NotCold contexts can be pruned (because they overlap with longer NotCold
contexts), and change the way we perform this pruning.
Instead of determining the points at which we need to keep NotCold
contexts during the building of the trie, we now determine this on the
fly as the MIB metadata nodes are recursively built. This simplifies a
follow on change that performs additional pruning of some NotCold
contexts, and which can affect which others need to be kept as the
longest overlapping NotCold contexts.
Commit: 7245e21e896a39fbbbbe38e800791411ebde4011
https://github.com/llvm/llvm-project/commit/7245e21e896a39fbbbbe38e800791411ebde4011
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclOpenACC.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/Sema/ParsedTemplate.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclObjC.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/Type.cpp
M clang/tools/libclang/CXIndexDataConsumer.cpp
M lldb/source/Utility/Checksum.cpp
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/include/llvm/ADT/STLExtras.h
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/lib/DebugInfo/MSF/MSFBuilder.cpp
M llvm/lib/IR/AttributeImpl.h
M llvm/lib/ObjectYAML/MinidumpEmitter.cpp
M llvm/lib/Support/FoldingSet.cpp
M llvm/lib/TableGen/Record.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/unittests/Support/TrailingObjectsTest.cpp
M mlir/include/mlir/IR/BuiltinAttributes.td
M mlir/include/mlir/Support/StorageUniquer.h
M mlir/lib/Dialect/Affine/Analysis/NestedMatcher.cpp
M mlir/lib/IR/AffineMapDetail.h
M mlir/lib/IR/Location.cpp
M mlir/lib/IR/MLIRContext.cpp
M mlir/lib/IR/TypeDetail.h
M mlir/lib/Tools/PDLL/AST/Nodes.cpp
Log Message:
-----------
[NFC][Support] Add llvm::uninitialized_copy (#138174)
Add `llvm::uninitialized_copy` that accepts a range instead of start/end
iterator for the source of the copy.
Commit: 482e9b06d84ef230f8fe2d0b25ae91d38896e697
https://github.com/llvm/llvm-project/commit/482e9b06d84ef230f8fe2d0b25ae91d38896e697
Author: Lang Hames <lhames at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/ELF_i386.cpp
Log Message:
-----------
[JITLink][i386] Drop EdgeKind_i386 qualification when using enum values.
We don't need to explicitly qualify these values.
Commit: e0e3d05a2e048c95b6eaa4b08f41b4c7ac66a023
https://github.com/llvm/llvm-project/commit/e0e3d05a2e048c95b6eaa4b08f41b4c7ac66a023
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/docs/RISCVUsage.rst
Log Message:
-----------
[RISCV] Fix the link to the XAndesPerf specification. NFC (#138804)
We need to use 2 underscores after the URL like the other specification
links.
Commit: c7f350f1428df14e3114977b830ab4dcd3008983
https://github.com/llvm/llvm-project/commit/c7f350f1428df14e3114977b830ab4dcd3008983
Author: Lang Hames <lhames at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/i386.h
Log Message:
-----------
[JITLink][i386] Remove more unnecessary enum value qualifications.
Commit: b972164f38133fbc878275f4ae324908ae14d750
https://github.com/llvm/llvm-project/commit/b972164f38133fbc878275f4ae324908ae14d750
Author: Lang Hames <lhames at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
R llvm/include/llvm/ExecutionEngine/JITLink/ELF_i386.h
A llvm/include/llvm/ExecutionEngine/JITLink/ELF_x86.h
R llvm/include/llvm/ExecutionEngine/JITLink/i386.h
A llvm/include/llvm/ExecutionEngine/JITLink/x86.h
M llvm/lib/ExecutionEngine/JITLink/CMakeLists.txt
M llvm/lib/ExecutionEngine/JITLink/ELF.cpp
R llvm/lib/ExecutionEngine/JITLink/ELF_i386.cpp
A llvm/lib/ExecutionEngine/JITLink/ELF_x86.cpp
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
R llvm/lib/ExecutionEngine/JITLink/i386.cpp
A llvm/lib/ExecutionEngine/JITLink/x86.cpp
R llvm/test/ExecutionEngine/JITLink/i386/ELF_external_to_absolute_conversion.s
R llvm/test/ExecutionEngine/JITLink/i386/ELF_i386_absolute_relocations_16.s
R llvm/test/ExecutionEngine/JITLink/i386/ELF_i386_absolute_relocations_32.s
R llvm/test/ExecutionEngine/JITLink/i386/ELF_i386_minimal.s
R llvm/test/ExecutionEngine/JITLink/i386/ELF_i386_pc_relative_relocations_32.s
R llvm/test/ExecutionEngine/JITLink/i386/ELF_i386_small_pic_relocations_got.s
R llvm/test/ExecutionEngine/JITLink/i386/ELF_i386_small_pic_relocations_plt.s
R llvm/test/ExecutionEngine/JITLink/i386/lit.local.cfg
A llvm/test/ExecutionEngine/JITLink/x86/ELF_external_to_absolute_conversion.s
A llvm/test/ExecutionEngine/JITLink/x86/ELF_x86_absolute_relocations_16.s
A llvm/test/ExecutionEngine/JITLink/x86/ELF_x86_absolute_relocations_32.s
A llvm/test/ExecutionEngine/JITLink/x86/ELF_x86_minimal.s
A llvm/test/ExecutionEngine/JITLink/x86/ELF_x86_pc_relative_relocations_32.s
A llvm/test/ExecutionEngine/JITLink/x86/ELF_x86_small_pic_relocations_got.s
A llvm/test/ExecutionEngine/JITLink/x86/ELF_x86_small_pic_relocations_plt.s
A llvm/test/ExecutionEngine/JITLink/x86/lit.local.cfg
Log Message:
-----------
[JITLink] Rename 'i386' namespace and files to 'x86'.
When building on i386, both clang and gcc define a builtin 'i386' macro (see
discussion in https://github.com/llvm/llvm-project/pull/137063). This causes
build errors in the JITLink/i386 backend when attempting to build LLVM on i386.
This commit renames the 'i386' backend (namespaces, APIs and files) to 'x86' to
avoid this issue.
Commit: c16297cd3f0ed9d036e9cf16fb6885aa3c72d5d3
https://github.com/llvm/llvm-project/commit/c16297cd3f0ed9d036e9cf16fb6885aa3c72d5d3
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/lib/Sema/SemaExpr.cpp
A clang/test/SemaCUDA/overloaded-builtin.cu
Log Message:
-----------
[CUDA][HIP] Fix host/device attribute of builtin (#138162)
When a builtin function is passed a pointer with a different
address space, clang creates an overloaded
builtin function but does not copy the host/device attribute. This
causes
error when the builtin is called by device functions
since CUDA/HIP relies on the host/device attribute to treat
a builtin function as callable on both host and device
sides.
Fixed by copying the host/device attribute of the original
builtin function to the created overloaded builtin function.
Commit: 57bc9f000600773a3e0a272e1154df87581c7b57
https://github.com/llvm/llvm-project/commit/57bc9f000600773a3e0a272e1154df87581c7b57
Author: Lang Hames <lhames at apple.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/x86.cpp
M llvm/unittests/ExecutionEngine/JITLink/StubsTests.cpp
Log Message:
-----------
[JITLink][x86] Update StubsTest unit test for rename in b972164f381.
Commit: eebb50afaf27961b21847950179febdd20a98866
https://github.com/llvm/llvm-project/commit/eebb50afaf27961b21847950179febdd20a98866
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/JITLink/BUILD.gn
Log Message:
-----------
[gn build] Port b972164f3813
Commit: dc28f9d087324f77db81e7192648a17ebf036125
https://github.com/llvm/llvm-project/commit/dc28f9d087324f77db81e7192648a17ebf036125
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
Log Message:
-----------
[clang][ExprConstant] Bail out on invalid lambda capture inits (#138832)
Fixes https://github.com/llvm/llvm-project/issues/138824
Commit: 92d3029fa4a9c6ce21c50590e57ae834ae3db3bc
https://github.com/llvm/llvm-project/commit/92d3029fa4a9c6ce21c50590e57ae834ae3db3bc
Author: cmtice <cmtice at google.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
A lldb/test/API/lang/cpp/type_lookup_anon_struct/Makefile
A lldb/test/API/lang/cpp/type_lookup_anon_struct/TestCppTypeLookupAnonStruct.py
A lldb/test/API/lang/cpp/type_lookup_anon_struct/main.cpp
Log Message:
-----------
[LLDB] Fix GetIndexOfChildMemberWithName to handle anonymous structs. (#138487)
When handling anonymous structs, GetIndexOfChildMemberWithName needs to
add the number of non-empty base classes to the child index, to get the
actual correct index. It was not doing so. This fixes that.
Commit: efce7a169e58ec8b27d266ec4dfb851f85a7c6c2
https://github.com/llvm/llvm-project/commit/efce7a169e58ec8b27d266ec4dfb851f85a7c6c2
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attachByPortNum.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_breakpointLocations.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
M lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
M lldb/test/API/tools/lldb-dap/memory/TestDAP_memory.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
Log Message:
-----------
[lldb-dap] Re-enable the lldb-dap tests (#138791)
Re-enable the lldb-dap tests. We've spent the last week improving the
reliability of the test suite and the tests now pass reliably on macOS
and Linux at desk. Let's see how things fare on the bots.
Commit: efd805ed5591b557d66c95c1ca11701ef7bc897d
https://github.com/llvm/llvm-project/commit/efd805ed5591b557d66c95c1ca11701ef7bc897d
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
A llvm/test/MC/AsmParser/quoted.s
Log Message:
-----------
MC: Test quoted label
Commit: 7348d7eccbc452ed1fd9bc219c796f1214a3cc84
https://github.com/llvm/llvm-project/commit/7348d7eccbc452ed1fd9bc219c796f1214a3cc84
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/MemoryProfileInfo.h
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[MemProf] Avoid assertion checking loop under NDEBUG (NFC) (#138985)
Guard a loop that only exists to do assertion checking of stack ids on
memprof metadata so that it isn't compiled and executed under NDEBUG.
This is similar to how callsite metadata stack id verification is
guarded further below.
Commit: 20d6375796073f6a0f0ea6abe05ce454a3d617ff
https://github.com/llvm/llvm-project/commit/20d6375796073f6a0f0ea6abe05ce454a3d617ff
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/lib/Basic/Targets/X86.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/CodeGen/ms_abi.c
M clang/test/CodeGen/sysv_abi.c
M clang/test/Sema/callingconv-ms_abi.c
M clang/test/Sema/varargs-win64.c
Log Message:
-----------
[clang] Handle CC attrs for UEFI (#138935)
UEFI's default ABI is MS ABI. Handle the calling convention attributes
accordingly.
Commit: 98d26b8f67e6abdac24591138f07dc34e7f0e36e
https://github.com/llvm/llvm-project/commit/98d26b8f67e6abdac24591138f07dc34e7f0e36e
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
Log Message:
-----------
[libc][bazel] Re-enable memcpy prefetching on x86. (#138945)
It was re-enabled downstream after further performance analysis, so we
can revert c65ed964657c93d51f3e05de9e0609419768a143, effectively
re-landing the change.
Commit: 28521368d74a7ea264ce7cf2f51e48f92c4f53a5
https://github.com/llvm/llvm-project/commit/28521368d74a7ea264ce7cf2f51e48f92c4f53a5
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Port 6babd63a4bbc094bee4ef8e75f95dccd32325c15 (#139026)
Commit: 215dbcb2bc5c1b1bc8775db2a7c22f67f3949fd7
https://github.com/llvm/llvm-project/commit/215dbcb2bc5c1b1bc8775db2a7c22f67f3949fd7
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M utils/bazel/.bazelrc
Log Message:
-----------
[bazel] Enable header processing for C++ builds. (#138934)
This would only work for projects that explicitly enable "parse_headers"
feature (or for builds that specify this on command-line) - right now
there are none, so this change shouldn't affect most builds. When
"parse_headers" is enabled though, it would catch problems of
incorrect/missing includes in header-only cc_libraries.
See https://bazel.build/docs/bazel-and-cpp#toolchain-features on why
this option is a best practice for C++ projects.
Commit: ab2e7aa5179ab7ba83fa7f731df63a1adbf7612c
https://github.com/llvm/llvm-project/commit/ab2e7aa5179ab7ba83fa7f731df63a1adbf7612c
Author: dyung <douglas.yung at sony.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/TokenKinds.def
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/attr-trivial-abi.cpp
M clang/test/SemaCXX/ptrauth-triviality.cpp
M clang/test/SemaCXX/type-traits-nonobject.cpp
Log Message:
-----------
Revert "[Clang] Deprecate `__is_trivially_relocatable`" (#139027)
Reverts llvm/llvm-project#138835
This is causing a test failure on a bot:
https://lab.llvm.org/buildbot/#/builders/144/builds/24541
Commit: fa09d031d3f3a5018e626938ef76b7072a298dfd
https://github.com/llvm/llvm-project/commit/fa09d031d3f3a5018e626938ef76b7072a298dfd
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/lib/Format/FormatToken.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Correctly annotate ObjC `* __autoreleasing *` (#138799)
Fix #138484
Commit: 26572bad95f816a979ce70b4e1335c8438a96df2
https://github.com/llvm/llvm-project/commit/26572bad95f816a979ce70b4e1335c8438a96df2
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/test/CodeGenCXX/amdgcn-automatic-variable.cpp
M clang/test/CodeGenOpenCL/amdgcn-automatic-variable.cl
Log Message:
-----------
clang/OpenCL: Add baseline test showing broken codegen (#138862)
Commit: 5df01abe191ff4f848566e239798a2b4d26e1cf4
https://github.com/llvm/llvm-project/commit/5df01abe191ff4f848566e239798a2b4d26e1cf4
Author: Filip Milosevic <54005272+MightyFilipns at users.noreply.github.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add SpaceAfterOperatorKeyword option (#137610)
Add SpaceAfterOperatorKeyword option to clang-format
Commit: a11d86461e7d7d9bce3d04a39ded1cad394239ca
https://github.com/llvm/llvm-project/commit/a11d86461e7d7d9bce3d04a39ded1cad394239ca
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgcn-automatic-variable.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-nullptr.cl
M clang/test/CodeGenOpenCL/blocks.cl
M clang/test/CodeGenOpenCL/builtins-alloca.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
M clang/test/CodeGenOpenCL/implicit-addrspacecast-function-parameter.cl
M clang/test/Index/pipe-size.cl
Log Message:
-----------
clang: Fix broken implicit cast to generic address space (#138863)
This fixes emitting undefined behavior where a 64-bit generic
pointer is written to a 32-bit slot allocated for a private pointer.
This can be seen in test/CodeGenOpenCL/amdgcn-automatic-variable.cl's
wrong_pointer_alloca.
Commit: 334c1abdb0bee488477f810ebf4cc1d41c31e653
https://github.com/llvm/llvm-project/commit/334c1abdb0bee488477f810ebf4cc1d41c31e653
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
A llvm/test/CodeGen/X86/codegen-no-uselist-constantdata.ll
A llvm/test/Transforms/CorrelatedValuePropagation/no-uselist-constantdata-regression.ll
Log Message:
-----------
Add regression tests from ConstantData uselist removal (#138960)
Add some examples of failures after 87f312aad6ede636cd2de5d18f3058bf2caf5651
Commit: 9383fb23e18bb983d0024fb956a0a724ef9eb03d
https://github.com/llvm/llvm-project/commit/9383fb23e18bb983d0024fb956a0a724ef9eb03d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/Use.h
M llvm/include/llvm/IR/Value.h
M llvm/lib/Analysis/AssumeBundleQueries.cpp
M llvm/lib/Analysis/TypeMetadataUtils.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Use.cpp
M llvm/lib/IR/Value.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/test/Analysis/MemorySSA/nondeterminism.ll
A llvm/test/tools/llvm-diff/uselistorder-issue58629-gv.ll
M llvm/test/tools/llvm-diff/uselistorder-issue58629.ll
M llvm/test/tools/llvm-reduce/bitcode-uselistorder.ll
M llvm/test/tools/llvm-reduce/uselistorder-invalid-ir-output.ll
M llvm/tools/verify-uselistorder/verify-uselistorder.cpp
M polly/lib/Support/ScopHelper.cpp
Log Message:
-----------
Reapply "IR: Remove uselist for constantdata (#137313)" (#138961)
Reapply "IR: Remove uselist for constantdata (#137313)"
This reverts commit 5936c02c8b9c6d1476f7830517781ce8b6e26e75.
Fix checking uselists of constants in assume bundle queries
Commit: 4d60c6d9b2c863d773aac9b59af8780e5ba23fcd
https://github.com/llvm/llvm-project/commit/4d60c6d9b2c863d773aac9b59af8780e5ba23fcd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/Use.h
M llvm/include/llvm/IR/Value.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Value.cpp
M llvm/unittests/IR/ConstantsTest.cpp
Log Message:
-----------
Reapply "IR: Remove reference counts from ConstantData (#137314)" (#138962)
This reverts commit 0274232b87177779e5c985eca06df22bf140f6cb.
Commit: 87db0943e4d07640e4df3206045826c0688ed3b9
https://github.com/llvm/llvm-project/commit/87db0943e4d07640e4df3206045826c0688ed3b9
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCSymbol.cpp
M llvm/test/MC/AsmParser/quoted.s
M llvm/test/MC/COFF/safeseh.s
M llvm/test/MC/ELF/symbol-names.s
Log Message:
-----------
MC: Support quoted symbol names
gas has supported " quoted symbols since 2015:
https://sourceware.org/pipermail/binutils/2015-August/090003.html
We don't handle \\ or \" , leading to clang -c --save-temps vs clang -c
difference for the following C code:
```
int x asm("a\"\\b");
```
Fix #138390
MC/COFF/safeseh.h looks incorrect. \01 in `.safeseh "\01foo"` is not a
correct escape sequence. Change it to \\
Pull Request: https://github.com/llvm/llvm-project/pull/138817
Commit: df4eac2f8b6d32772953d3d8063568fe4c0314c1
https://github.com/llvm/llvm-project/commit/df4eac2f8b6d32772953d3d8063568fe4c0314c1
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-07 (Wed, 07 May 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setExceptionBreakpoints.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setFunctionBreakpoints.py
Log Message:
-----------
[lldb-dap] Temporarily disable the breakpoint tests
At least one of these tests is failing every run on GreenDragon:
https://ci.swift.org/view/all/job/llvm.org/view/LLDB/job/as-lldb-cmake/
Commit: fc8484f0e383cc5cf31d67ad3e762705955ea1ea
https://github.com/llvm/llvm-project/commit/fc8484f0e383cc5cf31d67ad3e762705955ea1ea
Author: Matthias Springer <me at m-sp.org>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M mlir/docs/DialectConversion.md
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Rename `MaterializationCallbackFn` (#138814)
There are two kind of materialization callbacks: one for target
materializations and one for source materializations. The callback type
for target materializations is `TargetMaterializationCallbackFn`. This
commit renames the one for source materializations from
`MaterializationCallbackFn` to `SourceMaterializationCallbackFn`, for
consistency.
There used to be a single callback type for both kind of
materializations, but the materialization function signatures have
changed over time.
Also clean up a few places in the documentation that still referred to
argument materializations.
Commit: e7bf75043701119f8aeecff4c203cbcf2266fa62
https://github.com/llvm/llvm-project/commit/e7bf75043701119f8aeecff4c203cbcf2266fa62
Author: fengfeng <153487255+fengfeng09 at users.noreply.github.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
A llvm/test/Transforms/InstCombine/or-or-combine.ll
Log Message:
-----------
[InstCombine] Pass disjoint in or combine (#138800)
Proof: https://alive2.llvm.org/ce/z/wtTm5V
https://alive2.llvm.org/ce/z/WC7Ai2
---------
Signed-off-by: feng.feng <feng.feng at iluvatar.com>
Commit: c099caa292cb93b441b1082a9ea59265721bce13
https://github.com/llvm/llvm-project/commit/c099caa292cb93b441b1082a9ea59265721bce13
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/ops.mlir
Log Message:
-----------
[MLIR][TOSA-Linalg] Fix rescale lowering for unsigned input zp (#138780)
Lowering of tosa.rescale to Linalg unconditionally sign-extend the input
zero-point value, even when unsigned_input is true. This commit refactor
zeropoint handling to share the same logic between input and output
zeropoint.
Commit: 09984be7d9c8b4ccb8fc27b0533c049f384a898f
https://github.com/llvm/llvm-project/commit/09984be7d9c8b4ccb8fc27b0533c049f384a898f
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
R llvm/test/CodeGen/X86/2010-07-06-asm-RIP.ll
M llvm/test/CodeGen/X86/asm-modifier-macho.ll
M llvm/test/CodeGen/X86/asm-modifier.ll
R llvm/test/CodeGen/X86/pr19752.ll
Log Message:
-----------
X86,test: Improve asm modifier tests
Commit: e18f248956b317f06f7822920c72d7a2eebcd267
https://github.com/llvm/llvm-project/commit/e18f248956b317f06f7822920c72d7a2eebcd267
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
Log Message:
-----------
[lldb][test] Disable flaky test_qThreadInfo_matches_qC_attach test on AArch64 Linux (#138940)
See #138085 for details.
https://lab.llvm.org/buildbot/#/builders/59/builds/16937
https://lab.llvm.org/buildbot/#/builders/59/builds/17224
Commit: 19174126cfe9f7e392104bd0bc56ca8ffb674115
https://github.com/llvm/llvm-project/commit/19174126cfe9f7e392104bd0bc56ca8ffb674115
Author: Gaëtan Bossu <gaetan.bossu at arm.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] Simplify buildTree() legality checks (NFC) (#138833)
This NFC aims to simplify the interfaces used in `buildTree()` to make
it easier to understand where decisions for legality are made.
In particular, there is now a single point of definition for legality
decisions. This makes it clear where all those decisions are made.
Previously, multiple variables with a large scope were passed by
reference.
Commit: d307c774d0dd5062199f6d97b2184cb76e157542
https://github.com/llvm/llvm-project/commit/d307c774d0dd5062199f6d97b2184cb76e157542
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
A llvm/test/CodeGen/X86/asm-modifier-pic.ll
M llvm/test/CodeGen/X86/asm-modifier.ll
Log Message:
-----------
X86: Add asm modifier tests for 64-bit PIC
Commit: 01761a73e4d74bf1f84537b00fd89d7e75b71f5b
https://github.com/llvm/llvm-project/commit/01761a73e4d74bf1f84537b00fd89d7e75b71f5b
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
Log Message:
-----------
[AMDGPU] Add missing intrinsic declaration to intrinsics.ll. NFC. (#138954)
Commit: 5b8664fcb253fbd9eb0e83db3c1c0e19dd2499ef
https://github.com/llvm/llvm-project/commit/5b8664fcb253fbd9eb0e83db3c1c0e19dd2499ef
Author: haonan <haonan.yang at intel.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
A llvm/test/Transforms/InstCombine/fold-phi-arg-gep-to-phi-negative.ll
Log Message:
-----------
[InstCombine][foldPHIArgGEPIntoPHI] Early return for const vector index for gep inst (#138661)
Commit: 2b140932880db4d7a220b1b76eff4eec15066c58
https://github.com/llvm/llvm-project/commit/2b140932880db4d7a220b1b76eff4eec15066c58
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
A llvm/test/CodeGen/MIR/AMDGPU/ptradd-flags.mir
Log Message:
-----------
[CodeGen] Parse nusw flag (#138856)
Fixes #127781
Commit: 2668167e2cf935528f7d93cb3b12a651a29e52f6
https://github.com/llvm/llvm-project/commit/2668167e2cf935528f7d93cb3b12a651a29e52f6
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/API/tools/lldb-dap/send-event/TestDAP_sendEvent.py
M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
Log Message:
-----------
[lldb] Disable some lldb-dap tests on Windows
Since https://github.com/llvm/llvm-project/pull/138981 / https://github.com/llvm/llvm-project/commit/aeeb9a3c09f40f42a1e8e5e3c8dbde3b260744bd
were landed and tests re-enabled, these tests have been failing
on our Windows on Arm bot:
https://lab.llvm.org/buildbot/#/builders/141/builds/8523
********************
Unresolved Tests (1):
lldb-api :: tools/lldb-dap/send-event/TestDAP_sendEvent.py
********************
Failed Tests (2):
lldb-api :: tools/lldb-dap/launch/TestDAP_launch.py
lldb-api :: tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
Commit: 2a32d738bb213a8a1e814b65beb61e39b7c66834
https://github.com/llvm/llvm-project/commit/2a32d738bb213a8a1e814b65beb61e39b7c66834
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/sections-predetermined-private.f90
Log Message:
-----------
[flang][OpenMP] fix predetermined privatization inside section (#138159)
This now produces code equivalent to if there was an explicit private
clause on the SECTIONS construct.
The problem was that each SECTION construct got its own DSP, which tried
to privatize the same symbol for that SECTION. Privatization for
SECTION(S) happens on the outer SECTION construct and so the outer
construct's DSP should be shared.
Fixes #135108
Commit: 18f89283ebac87a153708b8fe00056f96b83022a
https://github.com/llvm/llvm-project/commit/18f89283ebac87a153708b8fe00056f96b83022a
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
[mlir][tosa] Fix mul folder conformance to the spec (#137601)
Change the folder for mul with a shift such that the rounding happens
correctly according to the spec
pesudo-code.
Fixes:
https://discourse.llvm.org/t/tosa-mul-i32-shift-incorrect-result/86040
Partial cherry-pick from:
https://github.com/llvm/llvm-project/pull/128059
Co-authored-by: Tai Ly <tai.ly at arm.com>
Commit: fc2ec06ccab498447914c076f1e7b4326dc321c2
https://github.com/llvm/llvm-project/commit/fc2ec06ccab498447914c076f1e7b4326dc321c2
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
A llvm/test/DebugInfo/KeyInstructions/X86/parse.mir
Log Message:
-----------
[KeyInstr] Add MIR parser support (#133494)
RFC: https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
Commit: a3f58f3c84901afe296718863aceca45e7a8a86a
https://github.com/llvm/llvm-project/commit/a3f58f3c84901afe296718863aceca45e7a8a86a
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/test/DebugInfo/RISCV/dwarf-riscv-relocs.ll
Log Message:
-----------
[NFC][DebugInfo] Expand coverage of a RISCV test
This is a pre-commit for a patch (#134677) -- the test behaviour is not
being changed, instead I've added "-v" to the llvm-dwarfdump commandline
for --debug-line. This prints out how the linetable is encoded, not just
what the linetable means, and it's important to illustrate that in the
upcoming patch. I've separated out the llvm-dwarfdump line for .debug_info
so that it's not affected by adding -v.
Commit: 2a88feb3947606679453f886d79db611cdaef9fc
https://github.com/llvm/llvm-project/commit/2a88feb3947606679453f886d79db611cdaef9fc
Author: Georgios Pinitas <georgios.pinitas at arm.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
[mlir][tosa] Canonicalize slice over overlapped or inside a pad. (#138900)
Update the paddings and/or the slice parameters when a `tosa.slice`
after a `tosa.pad` is accessing only an overlapping or not region of the
padded tensor.
Signed-off-by: Georgios Pinitas <georgios.pinitas at arm.com>
Commit: 160abfb5e623a67014de311a6b50f12e4104f7c9
https://github.com/llvm/llvm-project/commit/160abfb5e623a67014de311a6b50f12e4104f7c9
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/sve-bf16-compares.ll
Log Message:
-----------
[LLVM][CodeGen][SVE] Add ISel for bfloat scalable vector compares. (#138707)
Commit: a385c47a59e64ce54eb7257f4ec161fa4e112c16
https://github.com/llvm/llvm-project/commit/a385c47a59e64ce54eb7257f4ec161fa4e112c16
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-cancel-distribute-parallel-loop.mlir
M mlir/test/Target/LLVMIR/openmp-cancel.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[mlir][OpenMP] convert wsloop cancellation to LLVMIR (#137194)
Taskloop support will follow in a later patch.
Commit: 8338a3c92ba08cf409a75adbfb212aa06ca66f31
https://github.com/llvm/llvm-project/commit/8338a3c92ba08cf409a75adbfb212aa06ca66f31
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-cancellation-point.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[mlir][OpenMP] Convert omp.cancellation_point to LLVMIR (#137205)
This is basically identical to cancel except without the if clause.
taskgroup will be implemented in a followup PR.
Commit: 127f48668b719798770c36a20288ef5230669f42
https://github.com/llvm/llvm-project/commit/127f48668b719798770c36a20288ef5230669f42
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-metadata.ll
Log Message:
-----------
[LV] Add test showing incorrect metadata merging when narrowing IGs.
Add test showing that incorrect tbaa metadata is added to the widened
loads and stores when narrowing interleave groups.
The widened loads/stores currently have the TBAA metadata of the first
load/store, even though the wide accesses also access data with types of
the second load/store.
Commit: ce7c1963b914931817dd983f488cc0b810187b3a
https://github.com/llvm/llvm-project/commit/ce7c1963b914931817dd983f488cc0b810187b3a
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/test/Lexer/char8_t.cpp
Log Message:
-----------
[Clang] Ignore -fchar8_t in C (#138716)
In C, `char8_t` is an alias to unsigned char, and should never be a
keyword.
Fixes #55373
Commit: e40200901cf1af860db9ded5c03b7b104396e429
https://github.com/llvm/llvm-project/commit/e40200901cf1af860db9ded5c03b7b104396e429
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M flang/docs/OpenMPSupport.md
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-cancel.mlir
M mlir/test/Target/LLVMIR/openmp-cancellation-point.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[mlir][OpenMP] cancel(lation point) taskgroup LLVMIR (#137841)
A cancel or cancellation point for taskgroup is always nested inside of
a task inside of the taskgroup. For the task which is cancelled, it is
that task which needs to be cleaned up: not the owning taskgroup.
Therefore the cancellation branch handler is done in the conversion of
the task not in conversion of taskgroup.
I added a firstprivate clause to the test for cancel taskgroup to
demonstrate that the block being branched to is the same block where
mandatory cleanup code is added. Cancellation point follows exactly the
same code path.
Commit: 358ebddeb836d1c0ac665a8a2faa2e07fd89da63
https://github.com/llvm/llvm-project/commit/358ebddeb836d1c0ac665a8a2faa2e07fd89da63
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
M llvm/unittests/ADT/DenseMapTest.cpp
Log Message:
-----------
[DenseMap] Introduce lookup_or (#138887)
Introduce lookup_or, a variant of lookup, for non-default-constructible
values.
Commit: 4eebc8d003f25adf52a75702d6ee24f69330d920
https://github.com/llvm/llvm-project/commit/4eebc8d003f25adf52a75702d6ee24f69330d920
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[PatternMatch] Mark various matchers const (NFC) (#138834)
Mark matchers const and remove an extraneous template parameter in
SCEVPatternMatch. Since SCEVPatternMatch is intertwined with
PatternMatch, also fix constness issues there.
Commit: 20169cb4ac328be419033eda26555d2d79898b84
https://github.com/llvm/llvm-project/commit/20169cb4ac328be419033eda26555d2d79898b84
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
M llvm/unittests/ADT/DenseMapTest.cpp
Log Message:
-----------
[DenseMap] Introduce emplace_or_assign (#138886)
Introduce emplace_or_assign, a variant of insert_or_assign that has
slightly better characteristics.
Commit: b3ef15aa00c94aa937cb40cd7f9483140c62514d
https://github.com/llvm/llvm-project/commit/b3ef15aa00c94aa937cb40cd7f9483140c62514d
Author: Kirill Radkin <116365474+kr-sc at users.noreply.github.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/test/CodeGen/RISCV/riscv-v-debuginfo.c
Log Message:
-----------
[RISCV] Fix generation of DWARF info for vector segmented types (#137941)
In DWARF info RISC-V Vector types are presented as DW_TAG_array_type
with tags DW_AT_type (what elements does this array consist of) and
DW_TAG_subrange_type. DW_TAG_subrange_type have DW_AT_upper_bound tag
which contain upper bound value for this array.
For now, it's generate same DWARF info about length of segmented types
and their corresponding non-tuple types.
For example, vint32m4x2_t and vint32m4_t have DW_TAG_array_type with
same DW_AT_type and DW_TAG_subrange_type, it means that this types have
same length, which is not correct
(vint32m4x2_t length is twice as big as vint32m4_t)
Commit: 356bd2c9605761121b49f318a187560ec306718e
https://github.com/llvm/llvm-project/commit/356bd2c9605761121b49f318a187560ec306718e
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[mlir][tosa] Allow unsigned types for rescale ops during validation (#138253)
This commit allows unsigned types (ui8/ui16/ui32) when checking for
valid element types, only for rescale operators.
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Commit: cedeef6707fc702ed4ba197b3c841edbc688c78e
https://github.com/llvm/llvm-project/commit/cedeef6707fc702ed4ba197b3c841edbc688c78e
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
Log Message:
-----------
[LSR] Replace casts with an equivalent std::as_const (NFC) (#138980)
The casts / `std::as_const` are used here to select `const` overload of
`begin()`/`end()` so that the type of the returned iterator matches the
type of `J`, which is `const_iterator`.
Commit: 92cc31b0f7737408dffd38c2384dff825abb8e3a
https://github.com/llvm/llvm-project/commit/92cc31b0f7737408dffd38c2384dff825abb8e3a
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Target/ARC/ARCISelDAGToDAG.cpp
M llvm/lib/Target/ARC/ARCISelLowering.cpp
M llvm/lib/Target/ARC/ARCISelLowering.h
A llvm/lib/Target/ARC/ARCSelectionDAGInfo.cpp
A llvm/lib/Target/ARC/ARCSelectionDAGInfo.h
M llvm/lib/Target/ARC/ARCSubtarget.cpp
M llvm/lib/Target/ARC/ARCSubtarget.h
M llvm/lib/Target/ARC/CMakeLists.txt
M llvm/lib/Target/CSKY/CMakeLists.txt
M llvm/lib/Target/CSKY/CSKYISelLowering.cpp
M llvm/lib/Target/CSKY/CSKYISelLowering.h
A llvm/lib/Target/CSKY/CSKYSelectionDAGInfo.cpp
A llvm/lib/Target/CSKY/CSKYSelectionDAGInfo.h
M llvm/lib/Target/CSKY/CSKYSubtarget.cpp
M llvm/lib/Target/CSKY/CSKYSubtarget.h
M llvm/lib/Target/Lanai/CMakeLists.txt
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
M llvm/lib/Target/Lanai/LanaiISelLowering.h
M llvm/lib/Target/Lanai/LanaiSelectionDAGInfo.cpp
M llvm/lib/Target/Lanai/LanaiSelectionDAGInfo.h
Log Message:
-----------
[ARC][CSKY][Lanai] TableGen-erate SDNode descriptions (#138874)
This consolidates node definitions into one place and enables automatic
node verification.
Part of #119709.
Commit: d9bdc2d6a2d3efcce81ecab151b393f19a81696b
https://github.com/llvm/llvm-project/commit/d9bdc2d6a2d3efcce81ecab151b393f19a81696b
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
Log Message:
-----------
[AMDGPU][Disassembler][NFCI] Always defer immediate operands. (#138885)
Removes the need to parameterise decoders with OperandSemantics,
ImmWidth and MandatoryLiteral.
Likely allows further simplification of handling _DEFERRED immediates.
Tested to work downstream.
Commit: 1484f82cbc62eab9c4c8f393b84c2f521bf882f6
https://github.com/llvm/llvm-project/commit/1484f82cbc62eab9c4c8f393b84c2f521bf882f6
Author: Luke Lau <luke at igalia.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
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/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.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/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/scalable-iv-outside-user.ll
Log Message:
-----------
[VPlan] Add VPInstruction::StepVector and use it in VPWidenIntOrFpInductionRecipe (#129508)
Split off from #118638, this adds VPInstruction::StepVector, which
generates integer step vectors (0,1,2,...,VF). This is a step towards
eventually modelling all the separate parts of
VPWidenIntOrFpInductionRecipe in VPlan.
This is then used by VPWidenIntOrFpInductionRecipe, where we materialize
it just before unrolling so the operands stay in a fixed position.
The need for a separate operand in VPWidenIntOrFpInductionRecipe, as
well as the need to update it in
optimizeVectorInductionWidthForTCAndVFUF, should be removed with #118638
when everything is expanded in convertToConcreteRecipes.
Commit: c4f723a7c3bb12ce4e247bcaed755c8d927f73a4
https://github.com/llvm/llvm-project/commit/c4f723a7c3bb12ce4e247bcaed755c8d927f73a4
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/pr125278.ll
Log Message:
-----------
[LV] Strip unmaintainable MinBWs assert (#136858)
tryToWiden attempts to replace an Instruction with a Constant from SCEV,
but forgets to erase the Instruction from the MinBWs map, leading to an
assert in VPlanTransforms::truncateToMinimalBitwidths. Going forward,
the assertion in truncateToMinimalBitwidths is unmaintainable, as LV
could simplify the expression at any point: fix the bug by stripping the
unmaintable assertion.
Fixes #125278.
Commit: 067caaafb58a156d0d77229422607782a639f5b5
https://github.com/llvm/llvm-project/commit/067caaafb58a156d0d77229422607782a639f5b5
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/lib/CodeGen/MachineRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
A llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-attr.mir
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-debug.mir
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
Log Message:
-----------
[AMDGPU][Scheduler] Refactor ArchVGPR rematerialization during scheduling (#125885)
AMDGPU scheduler's `PreRARematStage` attempts to increase function
occupancy w.r.t. ArchVGPR usage by rematerializing trivial
ArchVGPR-defining instruction next to their single use. It first
collects all eligible trivially rematerializable instructions in the
function, then sinks them one-by-one while recomputing occupancy in all
affected regions each time to determine if and when it has managed to
increase overall occupancy. If it does, changes are committed to the
scheduler's state; otherwise modifications to the IR are reverted and
the scheduling stage gives up.
In both cases, this scheduling stage currently involves repeated queries
for up-to-date occupancy estimates and some state copying to enable
reversal of sinking decisions when occupancy is revealed not to
increase. The current implementation also does not accurately track
register pressure changes in all regions affected by sinking decisions.
This commit refactors this scheduling stage, improving RP tracking and
splitting the stage into two distinct steps to avoid repeated occupancy
queries and IR/state rollbacks.
- Analysis and collection (`canIncreaseOccupancyOrReduceSpill`). The
number of ArchVGPRs to save to reduce spilling or increase function
occupancy by 1 (when there is no spilling) is computed. Then,
instructions eligible for rematerialization are collected, stopping as
soon as enough have been identified to be able to achieve our goal
(according to slightly optimistic heuristics). If there aren't enough of
such instructions, the scheduling stage stops here.
- Rematerialization (`rematerialize`). Instructions collected in the
first step are rematerialized one-by-one. Now we are able to directly
update the scheduler's state since we have already done the occupancy
analysis and know we won't have to rollback any state. Register
pressures for impacted regions are recomputed only once, as opposed to
at every sinking decision.
In the case where the stage attempted to increase occupancy, and if both
rematerializations alone and rescheduling after were unable to improve
occupancy, then all rematerializations are rollbacked.
Commit: 5f1c55690969046676c049884d8411dde512c909
https://github.com/llvm/llvm-project/commit/5f1c55690969046676c049884d8411dde512c909
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
A llvm/test/CodeGen/RISCV/machine-copyprop-simplifyinstruction.mir
Log Message:
-----------
[RISCV][test] Precommit test for #137973 simplifyInstruction support
Commit: 0d47a4548c17b320e02e33a1e250792626652e59
https://github.com/llvm/llvm-project/commit/0d47a4548c17b320e02e33a1e250792626652e59
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M lldb/include/lldb/DataFormatters/FormattersHelpers.h
M lldb/source/DataFormatters/FormattersHelpers.cpp
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxProxyArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
M lldb/source/Plugins/Language/ObjC/NSArray.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
Log Message:
-----------
[lldb][DataFormatters] Change ExtractIndexFromString to return std::optional (#138297)
This PR is in continuation of
https://github.com/llvm/llvm-project/pull/136693.
Commit: 534d221b63bb52f64e1f3ad3c40cfb87323d28ec
https://github.com/llvm/llvm-project/commit/534d221b63bb52f64e1f3ad3c40cfb87323d28ec
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm-lowering-diags.ll
Log Message:
-----------
(reland) [GlobalISel] Diagnose inline assembly constraint lowering errors (#139049)
The initial patch (#135782 caused issues because it emits an error, and llc is sensitive to it.
It also caused compiler-rt/lib/scudo/standalone/tests/wrappers_cpp_test.cpp to fail.
Use warnings instead + reject lowering. That way, the fallback path is used without llc/clang returning a failure code.
If fallback isn't enabled then the warnings provide context as to why lowering failed.
Original commit description for #135782:
Instead of printing something to dbgs (which is not visible to all users),
emit a diagnostic like the DAG does. We still crash later because we fail to
select the inline assembly, but at least now users will know why it's crashing.
In a future patch we could also recover from the error like the DAG does, so the
lowering can keep going until it either crashes or gives a different error later.
Commit: 245def9def7b025644a8cf991ba24c53a50822c6
https://github.com/llvm/llvm-project/commit/245def9def7b025644a8cf991ba24c53a50822c6
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/lib/AST/ASTContext.cpp
Log Message:
-----------
[Clang][NFC] Put potentially expensive check behind NDEBUG
Commit: 52b345d036677e6377ea5e2022a1b6bd403ed91e
https://github.com/llvm/llvm-project/commit/52b345d036677e6377ea5e2022a1b6bd403ed91e
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/test/CodeGen/RISCV/machine-copyprop-simplifyinstruction.mir
Log Message:
-----------
[RISCV][TII] Add and use new hook to simplify/canonicalize instructions after MachineCopyPropagation (#137973)
PR #136875 was posted as a draft PR that handled a subset of these
cases, using the CompressPat mechanism. The consensus from that
discussion (and a conclusion I agree with) is that it would be
beneficial doing this optimisation earlier on, and in a way that isn't
limited just to cases that can be handled by instruction compression.
The most common source for instructions that can be
optimized/canonicalized in this way is through tail duplication in
MachineBlockPlacement followed by machine copy propagation. For RISC-V,
choosing a more canonical instruction allows it to be compressed when it
couldn't be before. There is the potential that it would make other
MI-level optimisations easier.
This modifies ~910 instructions across an llvm-test-suite build
including SPEC2017, targeting rva22u64. Looking at the diff, it seems
there's room for eliminating instructions or further propagating after
this.
Coverage of instructions is based on observations from a script written
to find redundant or improperly canonicalized instructions (though I aim
to support all instructions in a 'group' at once, e.g. MUL* even if I
only saw some variants of MUL in practice).
Commit: d1783406720dc0fd30fec7bb354c37ec307c6e10
https://github.com/llvm/llvm-project/commit/d1783406720dc0fd30fec7bb354c37ec307c6e10
Author: Simi Pallipurath <simi.pallipurath at arm.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
Log Message:
-----------
[ARM][Compiler-RT] Add optional exclusion of libc provided ARM AEABI builtins from compiler-rt. (#137952)
This patch introduces a new optional CMake flag:
COMPILER_RT_EXCLUDE_LIBC_PROVIDED_ARM_AEABI_BUILTINS
When enabled, this flag excludes the following ARM AEABI memory function
implementations from the compiler-rt build:
__aeabi_memcmp
__aeabi_memset
__aeabi_memcpy
__aeabi_memmove
These functions are already provided by standard C libraries like glibc,
newlib, and picolibc, so excluding them avoids duplicate symbol
definitions and reduces unnecessary code duplication.
Note:
- libgcc does not define the __aeabi_* functions that overlap with those
provided by the C library. Enabling this option makes compiler-rt behave
consistently with libgcc.
- This prevents duplicate symbol errors when linking, particularly in
bare-metal configurations where compiler-rt is linked first.
- This flag is OFF by default, meaning all AEABI memory builtins will
still be built unless explicitly excluded.
This change is useful for environments where libc provides runtime
routines, supporting more minimal, conflict free builds.
Commit: ea7e23c909fe5e82f26665bdd0afdaa70d67721f
https://github.com/llvm/llvm-project/commit/ea7e23c909fe5e82f26665bdd0afdaa70d67721f
Author: Mikhail Zakharov <zmish1993 at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M lldb/test/Shell/Expr/TestProcessModificationIdOnExpr.cpp
Log Message:
-----------
[lldb] Fixed TestProcessModificationIdOnExpr to work on both x86 and x64 architectures (#138941)
Original PR where test was introduced and improvements discussed:
https://github.com/llvm/llvm-project/pull/129092#issuecomment-2855337004
Co-authored-by: Mikhail Zakharov <mikhail.zakharov at jetbrains.com>
Commit: c290f48a45df5dc66c9cdc3f3b340cb0e3fc3937
https://github.com/llvm/llvm-project/commit/c290f48a45df5dc66c9cdc3f3b340cb0e3fc3937
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
Log Message:
-----------
[AMDGPU][NFC] Remove unused operand types. (#139062)
Commit: 41321416815d74a4a7fd15c78fcfa5af457625bb
https://github.com/llvm/llvm-project/commit/41321416815d74a4a7fd15c78fcfa5af457625bb
Author: Ely Ronnen <elyronnen at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M lldb/include/lldb/API/SBThreadPlan.h
M lldb/source/API/SBThreadPlan.cpp
M lldb/test/API/functionalities/step_scripted/Steps.py
M lldb/test/API/functionalities/step_scripted/TestStepScripted.py
M lldb/test/API/functionalities/step_scripted/main.c
Log Message:
-----------
[lldb] Expose QueueThreadPlanForStepSingleInstruction function to SBThreadPlan (#137904)
Expose `QueueThreadPlanForStepSingleInstruction` function to
SBThreadPlan
Commit: 60d0bc1faeacb8be8ef38457bce0a4f0674bc575
https://github.com/llvm/llvm-project/commit/60d0bc1faeacb8be8ef38457bce0a4f0674bc575
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
A llvm/test/Transforms/CodeGenPrepare/X86/split-dbg.ll
Log Message:
-----------
Propagate DebugLocs on phis in BreakCriticalEdges (#133492)
The pull request discusses whether this change is needed or not. We leant
towards "it can't hurt" on the basis that it's at worst slightly unecessary
(but not incorret).
The motivation for the patch came from reviewing code duplication sites to
update for Key Instructions, finding this, trying to generate a test case and
seeing the DebugLocs aren't propagated.
Commit: 1d3f8f4871a1d46312902307f657f7a239cfa815
https://github.com/llvm/llvm-project/commit/1d3f8f4871a1d46312902307f657f7a239cfa815
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Port 92cc31b0f7737408dffd38c2384dff825abb8e3a for Lanai
Commit: 5b290588b52c3adbe9bde7d22ed5ae13d299f88e
https://github.com/llvm/llvm-project/commit/5b290588b52c3adbe9bde7d22ed5ae13d299f88e
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMP.cpp
Log Message:
-----------
[LLVM][OpenMP] Add older versions to llvm::omp::getOpenMPVersions (#138967)
Add 3.1 and 4.0 as versions. This will make flang's default OpenMP
version (3.1) be included in the list.
Commit: 382a085a95b0abeac77b150b7b644b372bd08e78
https://github.com/llvm/llvm-project/commit/382a085a95b0abeac77b150b7b644b372bd08e78
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/mfma-loop.ll
Log Message:
-----------
[AMDGPU] Regenerate mfma-loop.ll test
#125885 did not update the test.
Commit: 8fa3b52ac46cf71e13cc687c77a1a61662675f93
https://github.com/llvm/llvm-project/commit/8fa3b52ac46cf71e13cc687c77a1a61662675f93
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
A llvm/test/DebugInfo/KeyInstructions/X86/cgp-break-critical-edge.ll
A llvm/test/DebugInfo/KeyInstructions/X86/lit.local.cfg
Log Message:
-----------
[KeyInstr] Remap cloned PHIs in BreakCriticalEdges (#133493)
RFC: https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
Commit: e9df48e8a49cbfc82c71c8951a85e11b0cd0102a
https://github.com/llvm/llvm-project/commit/e9df48e8a49cbfc82c71c8951a85e11b0cd0102a
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
R llvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm-lowering-diags.ll
Log Message:
-----------
Revert "(reland) [GlobalISel] Diagnose inline assembly constraint lowering errors (#139049)"
This reverts commit 534d221b63bb52f64e1f3ad3c40cfb87323d28ec.
Commit: d2fe8896766800a97462599fc7fb557c8d424fa4
https://github.com/llvm/llvm-project/commit/d2fe8896766800a97462599fc7fb557c8d424fa4
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/IR/BasicBlock.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
Log Message:
-----------
[KeyInstr] Don't propagate source atoms to new uncond br in splitBasicBlock (#139070)
splitBasicBlock inserts an unconditional branch in the "before" block to
the "after" block. It copies the DebugLoc from the split point. Prevent
it copying the source location atom.
Add unittest.
RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
Commit: da8d60fbfe4582edd415c8150832a84517f3713b
https://github.com/llvm/llvm-project/commit/da8d60fbfe4582edd415c8150832a84517f3713b
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/docs/UndefinedBehavior.rst
Log Message:
-----------
[docs][nfc] Fix code-formatting in UB docs (#139079)
Commit: 6b37eeed9fe7918f28c6c2fa14788818143c1f80
https://github.com/llvm/llvm-project/commit/6b37eeed9fe7918f28c6c2fa14788818143c1f80
Author: Nico Weber <thakis at chromium.org>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Lanai/BUILD.gn
Log Message:
-----------
[gn] port Lanai bits of 92cc31b0f773740 (-gen-sd-node-info)
(The GN port does not yet support the ARC and CSKY targets.)
Commit: be6c6e2f902c71f267f91852e3391a5301f949ac
https://github.com/llvm/llvm-project/commit/be6c6e2f902c71f267f91852e3391a5301f949ac
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/test/MC/Disassembler/AMDGPU/bf16_imm.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1150_dasm_features.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vinterp.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop2.txt
Log Message:
-----------
[AMDGPU][True16][MC] run update script on a few disasm tests (#138988)
This is a NFC patch.
Added -mattr=-real-true16 on a few disasm tests and run update script.
This is preparing for the +real-true16 change
Commit: 30f7a6cc42856d2028bfd00321ddb1428e0c46aa
https://github.com/llvm/llvm-project/commit/30f7a6cc42856d2028bfd00321ddb1428e0c46aa
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocate-source-allocatables-2.f90
M flang/test/Lower/allocate-source-allocatables.f90
M flang/test/Lower/allocate-source-pointers.f90
A flang/test/Lower/volatile-allocatable.f90
Log Message:
-----------
[flang] Correctly prepare allocatable runtime call arguments (#138727)
When lowering allocatables, the generated calls to runtime functions
were not using the runtime::createArguments utility which handles the
required conversions. createArguments is where I added the implicit
volatile casts to handle converting volatile variables to the
appropriate type based on their volatility in the callee. Because the
calls to allocatable runtime functions were not using this function,
their arguments were not casted to have the appropriate volatility.
Add a test to demonstrate that volatile and allocatable
class/box/reference types are appropriately casted before calling into
the runtime library.
Instead of using a recursive variadic template to perform the
conversions in createArguments, map over the arguments directly so that
createArguments can be called with an ArrayRef of arguments. Some cases
in Allocatable.cpp already had a vector of values at the point where
createArguments needed to be called - the new overload allows calling
with a vector of args or the variadic version with each argument spelled
out at the callsite.
This change resulted in the allocatable runtime calls having their
arguments converted left-to-right, which changed some of the test
results. I used CHECK-DAG to ignore the order.
Add some missing handling of volatile class entities, which I previously
missed because I had not yet enabled volatile class entities in Lower.
Commit: 7548cec16f54d3abf2c1387d743372f589ce290f
https://github.com/llvm/llvm-project/commit/7548cec16f54d3abf2c1387d743372f589ce290f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M CONTRIBUTING.md
M bolt/Maintainers.txt
M clang-tools-extra/Maintainers.txt
M clang/Maintainers.rst
M clang/www/menu.html.incl
M flang-rt/CODE_OWNERS.TXT
M libcxx/utils/ci/BOT_OWNERS.txt
M llvm/CREDITS.TXT
M llvm/docs/CodeOfConduct.rst
M llvm/docs/DiscourseMigrationGuide.md
Log Message:
-----------
[www][docs] Remove last mentions of IRC (#139076)
It's the end of an era. The IRC channel was previously where the
community gathered to discuss technical topics but is now a ghost town
where the primary activity is moderators (me) kickbanning the same
individual dozens of times a day for CoC violations and the secondary
activity is telling the occasional person to come to Discord for help.
The number of people engaging on IRC for the community's intended
purposes seems to be roughly one person a month.
So this removes all remaining mentions of IRC from our documentation so
that it no longer appears to be an "official" channel for communicating
with the community. It also removes IRC handles from the various
maintainers lists, since those would stand out as confusing
anachronisms.
The IRC channel topic already recommends people come to the Discord
server. There is no way to "shut down" an IRC channel such that it no
longer exists, so the channel will continue to exist on OFTC, but will
be unmoderated.
(This was previously discussed in https://discourse.llvm.org/c/llvm/5
but some mentions persisted.)
Commit: 6e654caabedebeaca599fcc2242a668db51fa9c8
https://github.com/llvm/llvm-project/commit/6e654caabedebeaca599fcc2242a668db51fa9c8
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[DAG] Add wrappers for insert and extract sub-vector [nfc] (#137230)
Mechanical change to introduce the new wrappers, and add enough users to
make the usage pattern clear. Once this lands, I'm going to do a further
pass to adjust more callsites as separate changes.
---------
Co-authored-by: Luke Lau <luke_lau at icloud.com>
Commit: 7eafa5bdb78f371f3173d31df4479c8f7f23d8aa
https://github.com/llvm/llvm-project/commit/7eafa5bdb78f371f3173d31df4479c8f7f23d8aa
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/IR/BasicBlock.cpp
Log Message:
-----------
[KeyInstr] Fix #139070 for empty DebugLocs
Commit: b5674cb7be1b010be181883601a3674ceef38683
https://github.com/llvm/llvm-project/commit/b5674cb7be1b010be181883601a3674ceef38683
Author: Zax <44502668+hapeeeeee at users.noreply.github.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M lldb/include/lldb/Core/SourceManager.h
M lldb/source/Commands/CommandObjectSource.cpp
M lldb/source/Core/SourceManager.cpp
A lldb/test/Shell/Commands/command-list-reach-beginning-of-file.test
A lldb/test/Shell/Commands/command-list-reach-end-of-file.test
Log Message:
-----------
[lldb] print a notice when `source list` paging reaches the end of th… (#137515)
Commit: 5f9fd475a03363db6da069b6ded1c503833a695c
https://github.com/llvm/llvm-project/commit/5f9fd475a03363db6da069b6ded1c503833a695c
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/test/Dialect/Affine/raise-memref.mlir
Log Message:
-----------
[mlir][affine] allow iter args as valid dims (#139069)
that is effectivevely a revert of
7aabf47522625e227433cc9603e0b6858c5dd66d for
mlir/lib/Dialect/Affine/IR/AffineOps.cpp
there are situations when iter args can be used as a dims. For example
in
https://github.com/google/heir/blob/main/lib/Dialect/Polynomial/Conversions/PolynomialToModArith/PolynomialToModArith.cpp#L1036
rootExp and batchSize are iter args that are being used as dims and from
the point of internal loops
they are fixed.
Commit: 3ed158fab432fd92b9d3d1386477ae12fa493132
https://github.com/llvm/llvm-project/commit/3ed158fab432fd92b9d3d1386477ae12fa493132
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M flang/docs/OpenMPSupport.md
Log Message:
-----------
[flang][docs][OpenMP] array sections with DEPEND are supported (#139081)
This was added in
- https://github.com/llvm/llvm-project/pull/132230
- https://github.com/llvm/llvm-project/pull/132994
- https://github.com/llvm/llvm-project/pull/133892
Commit: eb5280938bf282053e1b3d281d45b522f1cdcc2e
https://github.com/llvm/llvm-project/commit/eb5280938bf282053e1b3d281d45b522f1cdcc2e
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
Log Message:
-----------
[NVPTX] Fixup AutoUpgrade of llvm.nvvm.atomic.load.{inc,dec}.32 (#138907)
The previous implementation failed to account for the fact that these
intrinsics have an overloaded pointer type. This version handles the
pointer type and adds tests for llvm.nvvm.atomic.load.add.{f32,f64}.
Commit: 78e573499eb3bc0200db462c356a6523e6ba8000
https://github.com/llvm/llvm-project/commit/78e573499eb3bc0200db462c356a6523e6ba8000
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicInst.h
Log Message:
-----------
[IR] Remove MemSetPatternIntrinsic class [nfc] (#138888)
This class appears to serve no purpose. It looks to be modeled after the
MemIntrinsic/MemTransferInst family of classes, but right now, we only
have a single intrinsic in this "family".
Commit: bbafa5214e8d5d5daf7cf428780500b13a7d6cbb
https://github.com/llvm/llvm-project/commit/bbafa5214e8d5d5daf7cf428780500b13a7d6cbb
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
Log Message:
-----------
[lldb] Fix asan failure in MinidumpFileBuilder
As per comment in https://github.com/llvm/llvm-project/pull/138698#issuecomment-2860369432
Commit: cb0b9614f8ca7ffcd5f091b1c9990adfd6cb7e33
https://github.com/llvm/llvm-project/commit/cb0b9614f8ca7ffcd5f091b1c9990adfd6cb7e33
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M lldb/test/API/functionalities/step_scripted/TestStepScripted.py
Log Message:
-----------
[lldb] Disable test using GetControlFlowKind on arm
This is only implemented for x86.
Originally introduced in: https://github.com/llvm/llvm-project/pull/137904
Commit: 55517f5f4495968d01100aa00d63db7842842270
https://github.com/llvm/llvm-project/commit/55517f5f4495968d01100aa00d63db7842842270
Author: Finn Plummer <canadienfinn at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
Log Message:
-----------
[HLSL][RootSignature] Add parsing for empty RootConstants (#137999)
- defines the empty RootConstants in-memory struct
- adds test harness for testing it
- adds missing parameter keywords to the lexer (`RootConstants`,
`num32BitConstants`)
First part of implementing:
https://github.com/llvm/llvm-project/issues/126576
Commit: 9c4c2426d5f3cf5128d544482c939f56c1f2911d
https://github.com/llvm/llvm-project/commit/9c4c2426d5f3cf5128d544482c939f56c1f2911d
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/unittests/Analysis/MemoryProfileInfoTest.cpp
Log Message:
-----------
[MemProf] Fix bug introduced by restructuring in optional handling (#139092)
The restructuring of the context pruning patch in PR138792
(764614e6355e214c6b64c715d105007b1a4b97fd) introduced a bug under the
non-default -memprof-keep-all-not-cold-contexts handling.
Added more testing of this mode which would have caught the issue.
While here, fix the newly added function name to match code style.
Commit: 2ec08836d1fd78e9efcdfd6f1307f35c8ec633e7
https://github.com/llvm/llvm-project/commit/2ec08836d1fd78e9efcdfd6f1307f35c8ec633e7
Author: Kirill Stoimenov <kstoimenov at google.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
R clang/test/Driver/mips-cpus.c
M llvm/lib/Target/Mips/Mips.td
M llvm/test/CodeGen/Mips/msa/arithmetic.ll
Log Message:
-----------
Revert "[MIPS] Add FeatureMSA to i6400 and i6500 cores (#134985)"
This reverts commit 55a88cdf53948e7460d9c6892f6c481480faa021.
Breaks Sanitizer bot: https://lab.llvm.org/buildbot/#/builders/94/builds/6923
Commit: 155bf37ad995fa07baf99ad59294ec5fe2777635
https://github.com/llvm/llvm-project/commit/155bf37ad995fa07baf99ad59294ec5fe2777635
Author: John Harrison <harjohn at google.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M lldb/tools/lldb-dap/Handler/ContinueRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
Log Message:
-----------
[lldb-dap] Migrate 'continue' request to new RequestHandler. (#138987)
This adds types for the 'continue' request and updates the existing
handler to the new base class.
Commit: 850d96e63a611c46313a5448cd49197d9295ce5f
https://github.com/llvm/llvm-project/commit/850d96e63a611c46313a5448cd49197d9295ce5f
Author: Marina Taylor <marina_taylor at apple.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/lib/CodeGen/CGObjC.cpp
M clang/test/CodeGenObjCXX/arc-rv-attr.mm
Log Message:
-----------
[ObjC] Also enable ARC attachedcall operand bundle for arm64_32. (#138677)
It was enabled for "aarch64", which covers arm64e but not arm64_32.
Co-authored-by: Ahmed Bougacha <ahmed at bougacha.org>
Commit: 2017831d449774e792692aac88721e409ba475e4
https://github.com/llvm/llvm-project/commit/2017831d449774e792692aac88721e409ba475e4
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp
Log Message:
-----------
[clang][Unit Test] Updating Negative Stat Caching Diagnostic Unit Test (#138955)
This PR makes a minor modification to make it more stable. The only
change is adding a suffix to the path under test.
rdar://149147920
Commit: f2bc7b75dd3518b6d7dc764b34ca43c1fbc2c22d
https://github.com/llvm/llvm-project/commit/f2bc7b75dd3518b6d7dc764b34ca43c1fbc2c22d
Author: Marina Taylor <marina_taylor at apple.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/test/CodeGen/AArch64/expand-blr-rvmarker-pseudo.mir
M llvm/test/CodeGen/AArch64/rvmarker-pseudo-expansion-and-outlining.mir
Log Message:
-----------
[AArch64] Allow the clang.arc.attachedcall marker to be optional (#138694)
Now that the clang.arc.attachedcall bundle requires having an operand,
which we emit a call to in the RVMARKER sequence, we can achieve our
real goal: make the marker NOP optional.
The intention is that a new ObjC runtime call will be introduced, which
doesn't require the NOP to be present, but must be adjacent to the
possibly-autorelease-returning call (that the bundle is attached to).
This is achieved by having ISel embed whether the marker is necessary
with an additional boolean target immediate operand.
Co-authored-by: Ahmed Bougacha <ahmed at bougacha.org>
Commit: 37fecfaa63eef7bd9dff9c16d74e61c99e3ce70a
https://github.com/llvm/llvm-project/commit/37fecfaa63eef7bd9dff9c16d74e61c99e3ce70a
Author: Vivian Zhang <zhyuhang88 at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/test/Dialect/Linalg/subtensor-of-padtensor.mlir
Log Message:
-----------
[mlir] Support rank-reduced extract_slice in ExtractSliceOfPadTensorSwapPattern (#138921)
This PR fixes `ExtractSliceOfPadTensorSwapPattern` to support
rank-reducing `tensor.extract_slice` ops, which were previously
unhandled and could cause crashes. To support this, an additional
`tensor.extract_slice` is inserted after `tensor.pad` to reduce the
result rank.
Commit: 9c88b6d6898812c01c82a6d5ec991fb331aef015
https://github.com/llvm/llvm-project/commit/9c88b6d6898812c01c82a6d5ec991fb331aef015
Author: Lewis Crawford <lcrawford at nvidia.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/InstSimplify/ConstProp/fp-undef.ll
M llvm/test/Transforms/InstSimplify/ConstProp/min-max.ll
Log Message:
-----------
[ConstantFolding] Fold maximumnum and minimumnum (#138700)
Add constant-folding support for the maximumnum and minimumnum
intrinsics, and extend the tests to show the qnan vs snan behavior
differences between maxnum/maximum/maximumnum.
Commit: 5b7ccdc2a29f3be4b01f0eadca8f52d5dcdd9846
https://github.com/llvm/llvm-project/commit/5b7ccdc2a29f3be4b01f0eadca8f52d5dcdd9846
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM][Maintainers] Step down as an `NVPTX` maintainer (#138936)
Commit: 64bb60a471a5ddc9c9bec413c65fdab730a1e4b0
https://github.com/llvm/llvm-project/commit/64bb60a471a5ddc9c9bec413c65fdab730a1e4b0
Author: Volodymyr Sapsai <vsapsai at apple.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/lib/Lex/ModuleMap.cpp
M clang/test/Modules/Inputs/submodules/module.modulemap
M clang/test/Modules/missing-header.m
Log Message:
-----------
[Modules] Don't fail when an unused textual header is missing. (#138227)
According to the documentation
> A header declaration that does not contain `exclude` nor `textual`
specifies a header that contributes to the enclosing module.
Which means that `exclude` and `textual` header don't contribute to the
enclosing module and their presence isn't required to build such a
module. The keywords tell clang how a header should be treated in a
context of the module but they don't add headers to the module.
When a textual header *is* used, clang still emits "file not found"
error pointing to the location where the missing file is included.
Commit: 5c6cbe25175be37ffa1c809f5163ab7aebecef1a
https://github.com/llvm/llvm-project/commit/5c6cbe25175be37ffa1c809f5163ab7aebecef1a
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/test/Driver/x86-mabi.c
Log Message:
-----------
[clang] UEFI default ABI (#138364)
Set MS ABI as default ABI for UEFI.
Commit: 45cd708184e114bb771330d51ec552f7f674ffa0
https://github.com/llvm/llvm-project/commit/45cd708184e114bb771330d51ec552f7f674ffa0
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M lldb/source/Core/CoreProperties.td
M lldb/test/API/functionalities/statusline/TestStatusline.py
Log Message:
-----------
[lldb] Change the statusline format to print "no target" (#139021)
Change the default statusline format to print "no target" when lldb is
launched without a target. Currently, the statusline is empty, which
looks rather odd.
Commit: 7c366b041cd0effdcf0b7e1f3a7ad4eb39800349
https://github.com/llvm/llvm-project/commit/7c366b041cd0effdcf0b7e1f3a7ad4eb39800349
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
A llvm/test/CodeGen/DirectX/is_fpclass.ll
Log Message:
-----------
[DirectX] Implement `llvm.is.fpclass` lowering for the fcNegZero FPClassTest and the `IsNaN`, `IsInf`, `IsFinite`, `IsNormal` DXIL ops (#138048)
Fixes #137209
This PR:
- Adds a case to `expandIntrinsic()` in `DXILIntrinsicExpansion.cpp` to
expand the `Intrinsic::is_fpclass` in the case of
`FPClassTest::fcNegZero`
- Defines the `IsNaN`, `IsFinite`, `IsNormal` DXIL ops in `DXIL.td`
- Adds a case to `lowerIntrinsics()` in `DXILOpLowering.cpp` to handle
the lowering of `Intrinsic::is_fpclass` to the DXIL ops `IsNaN`,
`IsInf`, `IsFinite`, `IsNormal` when the FPClassTest is `fcNan`,
`fcInf`, `fcFinite`, and `fcNormal` respectively
- Creates a test `llvm/test/CodeGen/DirectX/is_fpclass.ll` to exercise
the intrinsic expansion and DXIL op lowering of `Intrinsic::is_fpclass`
~~A separate PR will be made to remove the now-redundant `dx_isinf`
intrinsic to address #87777.~~
A proper implementation for the lowering of the `llvm.is.fpclass`
intrinsic to handle all possible combinations of FPClassTest can be
implemented in a separate PR. This PR's implementation focuses primarily
on addressing the current use-cases for DirectML and HLSL intrinsics.
Commit: 808a5f15d7855f78a837c20e866cf4d0b1b90ab2
https://github.com/llvm/llvm-project/commit/808a5f15d7855f78a837c20e866cf4d0b1b90ab2
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-segN-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-segN-store.ll
M llvm/test/Transforms/InterleavedAccess/RISCV/interleaved-accesses.ll
M llvm/test/Transforms/InterleavedAccess/RISCV/zve32x.ll
M llvm/test/Transforms/InterleavedAccess/RISCV/zvl32b.ll
Log Message:
-----------
[RISCV] Remove`riscv.segN.load/store` in favor of their mask variants (#137045)
RISCVVectorPeepholePass would replace instructions with all-ones mask
with their unmask variant, so there isn't really a point to keep
separate versions of intrinsics.
Note that `riscv.segN.load/store.mask` does not take pointer type (i.e.
address space) as part of its overloading type signature, because RISC-V
doesn't really use address spaces other than the default one.
Commit: e9702ce18a4c40e226da9ac663a6767f8f64569f
https://github.com/llvm/llvm-project/commit/e9702ce18a4c40e226da9ac663a6767f8f64569f
Author: David Green <david.green at arm.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
A llvm/test/CodeGen/AArch64/icmp-or-load.ll
Log Message:
-----------
[AArch64] Add some tests for icmp eq chains of loads. NFC
Commit: 7f633b583eb8ae84190ff2142005222d36c38b6a
https://github.com/llvm/llvm-project/commit/7f633b583eb8ae84190ff2142005222d36c38b6a
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/test/MC/Disassembler/AMDGPU/bf16_imm.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1150_dasm_features.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vinterp.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop2.txt
Log Message:
-----------
[AMDGPU][True16][MC] add true16 mode on a few disasm tests (#139094)
This is a NFC patch.
applied "+real-true16" on a few disasm test and run update script
Commit: cf2f558501ecd4b1985cd34a06d90796c2a891c6
https://github.com/llvm/llvm-project/commit/cf2f558501ecd4b1985cd34a06d90796c2a891c6
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[DAG/RISCV] Continue mitgrating to getInsertSubvector and getExtractSubvector
Follow up to 6e654caab, use the new routines in more places. Note that
I've excluded from this patch any case which uses a getConstant index
instead of a getVectorIdxConstant index just to minimize room for
error. I'll get those in a separate follow up.
Commit: b0bf48d44e5502092c55ea7f353f8c4100635601
https://github.com/llvm/llvm-project/commit/b0bf48d44e5502092c55ea7f353f8c4100635601
Author: Tom Tromey <tromey at adacore.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/include/llvm/IR/DIBuilder.h
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
A llvm/test/DebugInfo/Generic/discriminant-member.ll
Log Message:
-----------
Two DWARF variant part improvements (#138953)
This patch adds a couple of improvements to the LLVM emission of DWARF
variant parts. One of these is desirable for Ada, and the other is
required.
Currently, when emitting a discriminant, LLVM follows the precise letter
of the DWARF standard, which says:
If the variant part has a discriminant, the discriminant is
represented by a separate debugging information entry which is a
child of the variant part entry.
However, for Ada this does not really make sense. In Ada, the
discriminant field exists outside of any variant part, and it makes more
sense to emit it separately rather than redundantly emit the field once
for each variant part.
This extension was arrived at when this was implemented in GCC, and was
accepted for DWARF 6, see:
https://dwarfstd.org/issues/180123.1.html
Here the patch simply lifts this restriction: if the discriminant field
was already emitted, it isn't re-emitted. This approach allows the Ada
compiler to do what it needs without affecting the Rust output.
Second, this patch extends the discriminant to allow multiple values.
This is needed by Ada. Here, I chose to use a ConstantDataArray of pairs
of integers, with each pair representing a range, as Ada also allows
ranges here. This seemed like a reasonably convenient representation.
Commit: d1da41bf4d271fd9abb9aba37873755feb99e4b6
https://github.com/llvm/llvm-project/commit/d1da41bf4d271fd9abb9aba37873755feb99e4b6
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
M compiler-rt/test/ubsan_minimal/TestCases/override-callback.c
Log Message:
-----------
[ubsan_minimal] Add __ubsan_report_error_fatal (#138999)
Override may need to know if sanitizer in recover mode.
Commit: a2b28a68125c5e179df01ed62ca8549bcb9c73b1
https://github.com/llvm/llvm-project/commit/a2b28a68125c5e179df01ed62ca8549bcb9c73b1
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[DAG/RISCV] Continue mitgrating to getInsertSubvector and getExtractSubvector
Follow up to 6e654caab and cf2f5585. I'd apparently missed two cases.
Commit: 3bc3b1c6c0f35bf223c595f8426f6726d64553e7
https://github.com/llvm/llvm-project/commit/3bc3b1c6c0f35bf223c595f8426f6726d64553e7
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Sema/SemaHLSL.cpp
Log Message:
-----------
[HLSL][NFC] Rename isImplicit() to hasRegisterStot() on HLSLResourceBindingAttr (#138964)
Renaming because the name `isImplicit` is ambiguous. It can mean
implicit attribute or implicit binding.
Commit: 81786b9185fc048a3ea83e57f825ec0284e988a8
https://github.com/llvm/llvm-project/commit/81786b9185fc048a3ea83e57f825ec0284e988a8
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV][NFC] Remove unused variable
Remove unused variable in RISCVTargetLowering
Commit: 339dc9500b90dba47e5c7bc9804a4d5f01d592ea
https://github.com/llvm/llvm-project/commit/339dc9500b90dba47e5c7bc9804a4d5f01d592ea
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/test/Transforms/LoopVectorize/vplan-printing-outer-loop.ll
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
Log Message:
-----------
[VPlan] Retain exit conditions and edges in initial VPlan (NFC). (#137709)
Update initial VPlan construction to include exit conditions and edges.
The loop region is now first constructed without entry/exiting. Those
are set after inserting the region in the CFG, to preserve the original
predecessor/successor order of blocks.
For now, all early exits are disconnected before forming the regions,
but a follow-up will update uncountable exit handling to also happen
here. This is required to enable VPlan predication and remove the
dependence any IR BBs
(https://github.com/llvm/llvm-project/pull/128420).
PR: https://github.com/llvm/llvm-project/pull/137709
Commit: 9692dff7b7624208f482007c3b76c838b12fda63
https://github.com/llvm/llvm-project/commit/9692dff7b7624208f482007c3b76c838b12fda63
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/test/TableGen/cc-assign-to-reg-tuple.td
M llvm/utils/TableGen/CallingConvEmitter.cpp
Log Message:
-----------
[TableGen][NFC] Use early exit to simplify large block in emitAction. (#138220)
Most of the processing in emitAction is in an unneeded else-block--
reduce indentation by exiting after the recursive call.
`XXXGenCallingConv.inc` are identical before and after this patch for
all targets.
Commit: 53e8ff13bd3c1061af01a1508881575db81ce900
https://github.com/llvm/llvm-project/commit/53e8ff13bd3c1061af01a1508881575db81ce900
Author: Zhuoran Yin <zhuoryin at amd.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp
M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
M mlir/test/Dialect/AMDGPU/transfer-read-to-load.mlir
M mlir/test/Dialect/MemRef/emulate-narrow-type.mlir
M mlir/test/Dialect/Vector/vector-emulate-narrow-type.mlir
Log Message:
-----------
[MLIR] Fixing the memref linearization size computation for non-packed memref (#138922)
Credit to @krzysz00 who discovered this subtle bug in `MemRefUtils`. The
problem is in `getLinearizedMemRefOffsetAndSize()` utility. In
particular, how this subroutine computes the linearized size of a memref
is incorrect when given a non-packed memref.
### Background
As context, in a packed memref of `memref<8x8xf32>`, we'd compute the
size by multiplying the size of dimensions together. This is implemented
by composing an affine_map of `affine_map<()[s0, s1] -> (s0 * s1)>` and
then computing the result of size via `%size = affine.apply #map()[%c8,
%c8]`.
However, this is wrong for a non-packed memref of `memref<8x8xf32,
strided<[1024, 1]>>`. Since the previous computed multiplication map
will only consider the dimension sizes, it'd continue to conclude that
the size of the non-packed memref to be 64.
### Solution
This PR come up with a fix such that the linearized size computation
take strides into consideration. It computes the maximum of (dim size *
dim stride) for each dimension. We'd compute the size via the affine_map
of `affine_map<()[stride0, size0, stride1] -> ((stride0 * size0), 1 *
size1)>` and then computing the size via `%size = affine.max
#map()[%stride0, %size0, %size1]`. In particular for the new non-packed
memref, the size will be derived as max(1024\*8, 1\*8) = 8192 (rather
than the wrong size 64 computed by packed memref equation).
Commit: 0beb2f56f6f6eb5aab142334a47228cbbc86c22f
https://github.com/llvm/llvm-project/commit/0beb2f56f6f6eb5aab142334a47228cbbc86c22f
Author: Ashley Coleman <ascoleman at microsoft.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/test/CodeGenHLSL/builtins/clamp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/max-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/min-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
Log Message:
-----------
[HLSL][NFC] Stricter Overload Tests (clamp,max,min,pow) (#138993)
Partial implementation of #138016 to unblock other ongoing work. NFC
Commit: 09c80e2944967332c4d889ef19a001ebb4521782
https://github.com/llvm/llvm-project/commit/09c80e2944967332c4d889ef19a001ebb4521782
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/TokenKinds.def
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/attr-trivial-abi.cpp
M clang/test/SemaCXX/ptrauth-triviality.cpp
M clang/test/SemaCXX/type-traits-nonobject.cpp
Log Message:
-----------
Reland [Clang] Deprecate `__is_trivially_relocatable` (#139061)
The C++26 standard relocatable type traits has slightly different
semantics, so we introduced a new
``__builtin_is_cpp_trivially_relocatable``
when implementing trivial relocation in #127636.
However, having multiple relocatable traits would be confusing
in the long run, so we deprecate the old trait.
As discussed in #127636
`__builtin_is_cpp_trivially_relocatable` should be used instead.
Commit: 9d907a2bb1d2ce67ae4d203218df380a45abaf30
https://github.com/llvm/llvm-project/commit/9d907a2bb1d2ce67ae4d203218df380a45abaf30
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
Log Message:
-----------
AMDGPU][True16][CodeGen] FP_Round f64 to f16 in true16 (#128911)
Update the f64 to f16 lowering for targets which support f16 types.
For unsafe mode, lowered to two FP_ROUND. (This patch
https://reviews.llvm.org/D154528 stops from combining these two FP_ROUND
back). In safe mode, select LowerF64ToF16 (round-to-nearest-even
rounding mode)
Commit: 3a5af231fd3af4b5890ed28f7792b17e56386ffd
https://github.com/llvm/llvm-project/commit/3a5af231fd3af4b5890ed28f7792b17e56386ffd
Author: Chinmay Deshpande <chdeshpa at amd.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/and.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/or.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/xor.ll
Log Message:
-----------
[GlobalISel][AMDGPU] Fix handling of v2i128 type for AND, OR, XOR (#138574)
Current behavior crashes the compiler.
This bug was found using the AMDGPU Fuzzing project.
Fixes SWDEV-508816.
Commit: 7a6674622603c76274959a9797c0fafb4bc84c44
https://github.com/llvm/llvm-project/commit/7a6674622603c76274959a9797c0fafb4bc84c44
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/test/Dialect/XeGPU/subgroup-distribution.mlir
Log Message:
-----------
[mlir][xegpu] Handle scalar uniform ops in SIMT distribution. (#138593)
This PR adds support for moving scalar uniform (gpu index ops, constants
etc) outside the `gpu.warp_execute_on_lane0` op. These kinds of ops do
not require distribution and are safe to move out of the warp op. This
also avoid adding separate distribution patterns for these ops.
Example:
```
%1 = gpu.warp_execute_on_lane_0(%laneid) -> (index) {
...
%block_id_x = gpu.block_id x
gpu.yield %block_id_x
}
// use %1
```
To:
```
%block_id_x = gpu.block_id x
%1 = gpu.warp_execute_on_lane_0(%laneid) -> (index) {
...
gpu.yield %block_id_x
}
// use %1
```
Commit: 46cc8c1a557c2783159411b72543e1d350e2b55b
https://github.com/llvm/llvm-project/commit/46cc8c1a557c2783159411b72543e1d350e2b55b
Author: joaosaffran <joao.saffran at microsoft.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/include/llvm/MC/DXContainerRootSignature.h
M llvm/lib/MC/DXContainerRootSignature.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/Target/DirectX/DXILRootSignature.cpp
Log Message:
-----------
addressing comments
Commit: 7feba5febf3a431caf97adc10829f781363e961c
https://github.com/llvm/llvm-project/commit/7feba5febf3a431caf97adc10829f781363e961c
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
M clang/test/CIR/IR/vector.cir
Log Message:
-----------
[CIR] Upstream extract op for VectorType (#138413)
This change adds extract op for VectorType
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: 71f8f2b1554b0a34abe4f14bcceadebfbf687739
https://github.com/llvm/llvm-project/commit/71f8f2b1554b0a34abe4f14bcceadebfbf687739
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
Log Message:
-----------
[AMDGPU][NFC] Get rid of OPW constants. (#139074)
We can infer the widths from register classes and represent them as
numbers.
Commit: a7b5c303dceb5790b925ac8a019bd66344abb814
https://github.com/llvm/llvm-project/commit/a7b5c303dceb5790b925ac8a019bd66344abb814
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M mlir/include/mlir/IR/Builders.h
Log Message:
-----------
Remove unused forward decl (#139108)
Commit: b836f96b8f51daa76f6387de364603db0fe553a7
https://github.com/llvm/llvm-project/commit/b836f96b8f51daa76f6387de364603db0fe553a7
Author: Lei Wang <wlei at fb.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/docs/UsersManual.rst
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/ProfileList.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/CodeGen/profile-filter.c
M clang/test/Driver/fprofile-generate-cold-function-coverage.c
Log Message:
-----------
[Coverage] Support -fprofile-list for cold function coverage (#136333)
Add a new instrumentation section type `[sample-coldcov]` to
support`-fprofile-list` for sample pgo based cold function coverage.
Note that the current cold function coverage is based on sampling PGO
pipeline, which is incompatible with the existing [llvm] option(see
[PGOOptions](https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/Support/PGOOptions.h#L27-L43)),
so we can't reuse the IR-PGO(-fprofile-instrument=llvm) flag.
Commit: 254c13d872ea378f9e5569060e24c134d37a0ecb
https://github.com/llvm/llvm-project/commit/254c13d872ea378f9e5569060e24c134d37a0ecb
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/BinarySection.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Passes/PatchEntries.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/test/AArch64/lite-mode.s
M bolt/unittests/Core/BinaryContext.cpp
Log Message:
-----------
[BOLT][AArch64] Patch functions targeted by optional relocs (#138750)
On AArch64, we create optional/weak relocations that may not be
processed due to the relocated value overflow. When the overflow
happens, we used to enforce patching for all functions in the binary via
--force-patch option. This PR relaxes the requirement, and enforces
patching only for functions that are target of optional relocations.
Moreover, if the compact code model is used, the relocation overflow is
guaranteed not to happen and the patching will be skipped.
Commit: c526683c7f2cf94c9e3a55cc810a0bb90e68c646
https://github.com/llvm/llvm-project/commit/c526683c7f2cf94c9e3a55cc810a0bb90e68c646
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/unittests/Analysis/MemoryProfileInfoTest.cpp
Log Message:
-----------
[MemProf] Simplify unittest save and restore of options (#139117)
Address post-commit review feedback for PR139092 (and fix another
instance of the same code). Save and restore option values via a saved
bool value, instead of invoking cl::ResetAllOptionOccurrences.
Commit: 8c61befff8e8687e7848fb1044beb20b41503451
https://github.com/llvm/llvm-project/commit/8c61befff8e8687e7848fb1044beb20b41503451
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-fp-min-max-intrinsics.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
Log Message:
-----------
GlobalISel: Translate minimumnum and maximumnum (#139106)
Commit: 54bb2295c31323a77e018ceb2c737d28bd0a5986
https://github.com/llvm/llvm-project/commit/54bb2295c31323a77e018ceb2c737d28bd0a5986
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Migrate getConstant indexed insert/extract subvector to new API (#139111)
Note that this change is possibly not NFC. The prior routines used
getConstant with XLenVT. The new wrappers will used getVectorIdxConstant
instead. Digging through the code, the type used for the index will be
the integer of pointer width from DL. For typical RV32 and RV64
configurations the pointer will be of equal width to XLEN, but you could
have a 32b pointer on an RV64 machine.
Commit: 652ab9800808c254bbd84d81d4583c13cd073abb
https://github.com/llvm/llvm-project/commit/652ab9800808c254bbd84d81d4583c13cd073abb
Author: David Sankel <camior at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M lld/ELF/Options.td
Log Message:
-----------
[lld][NFC] Fix minor typo in docs (#138898)
Commit: 7f98e5a5ea12b986b8637da22b46544b95f831cf
https://github.com/llvm/llvm-project/commit/7f98e5a5ea12b986b8637da22b46544b95f831cf
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Dialect/LLVMIR/alias.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
Log Message:
-----------
[MLIR][LLVM] Fix llvm.mlir.global mismatching print and parser order (#138986)
`GlobalOp` was parsing `thread_local` after `unnamed_addr`, but printing in the reverse order.
While here, make `AliasOp` match the same behavior and share common parts of global and alias printing.
Commit: 5fe69fd95c4e2bc55a41a41047d08522a5f26d57
https://github.com/llvm/llvm-project/commit/5fe69fd95c4e2bc55a41a41047d08522a5f26d57
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
M flang/test/Transforms/DoConcurrent/basic_device.mlir
M flang/test/Transforms/DoConcurrent/basic_host.f90
M flang/test/Transforms/DoConcurrent/basic_host.mlir
M flang/test/Transforms/DoConcurrent/locally_destroyed_temp.f90
R flang/test/Transforms/DoConcurrent/loop_nest_test.f90
M flang/test/Transforms/DoConcurrent/multiple_iteration_ranges.f90
M flang/test/Transforms/DoConcurrent/non_const_bounds.f90
M flang/test/Transforms/DoConcurrent/not_perfectly_nested.f90
Log Message:
-----------
[flang][OpenMP] Update `do concurrent` mapping pass to use `fir.do_concurrent` op (#138489)
This PR updates the `do concurrent` to OpenMP mapping pass to use the
newly added `fir.do_concurrent` ops that were recently added upstream
instead of handling nests of `fir.do_loop ... unordered` ops.
Parent PR: https://github.com/llvm/llvm-project/pull/137928.
Commit: 21130d3f068ae5d9f3d11750f5a3bcf63ed36082
https://github.com/llvm/llvm-project/commit/21130d3f068ae5d9f3d11750f5a3bcf63ed36082
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] One last migration to getInsertSubvector [nfc]
Commit: ae6e1276233ca541fdb2be1dde3074eb78277859
https://github.com/llvm/llvm-project/commit/ae6e1276233ca541fdb2be1dde3074eb78277859
Author: Guy David <49722543+guy-david at users.noreply.github.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/test/CodeGen/AArch64/str-narrow-zero-merge.mir
Log Message:
-----------
[AArch64] Merge scaled and unscaled narrow zero stores (#136705)
Commit: 8a7b5012c26f6db060bf5c472fc9fb54f37ecf65
https://github.com/llvm/llvm-project/commit/8a7b5012c26f6db060bf5c472fc9fb54f37ecf65
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
Log Message:
-----------
[MemProf] Fix summary bitcode record description (NFC) (#139127)
Commit 776476c282bca71d5b856e80e0a88fbd6f3ccdd2 (PR117404), which
introduced the radix tree representation of allocation context summary
records, incorrectly changed the description of the
FS_COMBINED_CALLSITE_INFO record instead of the intended
FS_COMBINED_ALLOC_INFO record.
Commit: d7987f1ce9bdc57fe10de6eef25fbe0df725c68f
https://github.com/llvm/llvm-project/commit/d7987f1ce9bdc57fe10de6eef25fbe0df725c68f
Author: Aleksandar Zecevic <azecevic at tenstorrent.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M mlir/include/mlir/IR/BuiltinAttributeInterfaces.td
Log Message:
-----------
[mlir][memref] Fix typo in `BuiltinAttributeInterfaces` description (#136774)
Commit: 515b4a4fdd7ac97373b68850a2ffa72e2b8e9178
https://github.com/llvm/llvm-project/commit/515b4a4fdd7ac97373b68850a2ffa72e2b8e9178
Author: Ian Anderson <iana at apple.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/Job.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Lex/InitHeaderSearch.cpp
A clang/test/Driver/Inputs/DriverKit19.0.sdk/System/DriverKit/System/Library/SubFrameworks/.keep
A clang/test/Driver/Inputs/MacOSX15.1.sdk/Library/Frameworks/.keep
A clang/test/Driver/Inputs/MacOSX15.1.sdk/System/Library/Frameworks/.keep
A clang/test/Driver/Inputs/MacOSX15.1.sdk/System/Library/SubFrameworks/.keep
A clang/test/Driver/darwin-framework-search-paths.c
R clang/test/Driver/darwin-subframeworks.c
M clang/test/Driver/driverkit-path.c
R clang/test/Preprocessor/cuda-macos-includes.cu
M clang/unittests/Frontend/CMakeLists.txt
A clang/unittests/Frontend/SearchPathTest.cpp
Log Message:
-----------
[clang][Darwin] Remove legacy framework search path logic in the frontend (#138234)
Move the Darwin framework search path logic from
InitHeaderSearch::AddDefaultIncludePaths to
DarwinClang::AddClangSystemIncludeArgs. Add a new -internal-iframework
cc1 argument to support the tool chain adding these paths.
Now that the tool chain is adding search paths via cc1 flag, they're
only added if they exist, so the Preprocessor/cuda-macos-includes.cu
test is no longer relevant.
Change Driver/driverkit-path.c and Driver/darwin-subframeworks.c to do
-### style testing similar to the darwin-header-search and
darwin-embedded-search-paths tests. Rename darwin-subframeworks.c to
darwin-framework-search-paths.c and have it test all framework search
paths, not just SubFrameworks.
Add a unit test to validate that the myriad of search path flags result
in the expected search path list.
Fixes https://github.com/llvm/llvm-project/issues/75638
Commit: 88e68872fd34da9c778e2969e9bf9200bc47fab6
https://github.com/llvm/llvm-project/commit/88e68872fd34da9c778e2969e9bf9200bc47fab6
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/Frontend/BUILD.gn
Log Message:
-----------
[gn build] Port 515b4a4fdd7a
Commit: 227e1ff73b6c0cbdd912c69405777f7121dc0760
https://github.com/llvm/llvm-project/commit/227e1ff73b6c0cbdd912c69405777f7121dc0760
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/do_concurrent.fir
M flang/test/Fir/invalid.fir
Log Message:
-----------
[flang][fir] Add locality specifiers modeling to `fir.do_concurrent.loop` (#138506)
Commit: a861f50030a9dac28a35654506bb28d2bc239b56
https://github.com/llvm/llvm-project/commit/a861f50030a9dac28a35654506bb28d2bc239b56
Author: Ralender <Tyker1 at outlook.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/CodeGen/WinEHPrepare.cpp
M llvm/test/CodeGen/WinEH/wineh-asm.ll
A llvm/test/CodeGen/WinEH/wineh-asm2.ll
Log Message:
-----------
[WinEH] Fix asm in catchpad being turned into unreachable (#138392)
Commit: d06d43a9e8cb5db84e6ee3557b6244e14a291def
https://github.com/llvm/llvm-project/commit/d06d43a9e8cb5db84e6ee3557b6244e14a291def
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/vplan-printing-outer-loop.ll
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
Log Message:
-----------
[VPlan] Add printPhiOperands to VPPhiAccessors, use for wide phis.
(NFC modulo debug output changes)
Add generic helper to print phi operands (incoming values) together with
their incoming blocks.
As more and more transforms are added, keeping the incoming blocks of
phis becomes more important. Print incoming blocks via VPPhiAcessors, to
make debugging easier.
Commit: 02f61ab46b1608c26fd72862d4b46cbb7b034889
https://github.com/llvm/llvm-project/commit/02f61ab46b1608c26fd72862d4b46cbb7b034889
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/test/Lower/HLFIR/designators-component-ref.f90
Log Message:
-----------
[flang] Use box for components with non-default lower bounds (#138994)
When designating an array component that has non-default lower bounds
the bridge was producing hlfir designates yielding reference types,
which did not preserve the bounds information. Then, when creating
components, unadjusted indices were used when initializing the
structure.
We could look at the declaration to get the shape parameter, but this
would not be preserved if the component were passed as a block argument.
These results must be boxed, but we also must not lose the contiguity
information either. To address contiguity, annotate these boxes with the
`contiguous` attribute during designation.
Note that other designated entities are handled inside the
HlfirDesignatorBuilder while component designators are built in
HlfirBuilder. I am not sure if this handling should be moved into the
designator builder or left in the general builder, so feedback is
welcome.
Also, I wouldn't mind finding a test that demonstrates a box-designated
component with the contiguous attribute really is determined to be
contiguous by any passes down the line checking for that. I don't have a
test like that yet.
Commit: 28156539a9df3fa0d9db47c405c0006fcee9f77f
https://github.com/llvm/llvm-project/commit/28156539a9df3fa0d9db47c405c0006fcee9f77f
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M lldb/test/API/functionalities/step_scripted/TestStepScripted.py
Log Message:
-----------
[lldb] Disable test using GetControlFlowKind on arm
Commit: e7dcf1b7e5574d03d1ce6e7520d5683cfea37706
https://github.com/llvm/llvm-project/commit/e7dcf1b7e5574d03d1ce6e7520d5683cfea37706
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/test/Dialect/XeGPU/subgroup-distribution.mlir
M mlir/test/Dialect/XeGPU/subgroup-map-propagation.mlir
Log Message:
-----------
[mlir][xegpu] Add SIMT distribution patterns for UpdateNdOffset and PrefetchNd ops. (#138033)
This PR adds support for SIMT distribution of UpdateNdOffset and
PrefetchNd ops.
For both these ops distribution will remove the layout attribute from
the tensor descriptor type. Everything else remains unchanged.
Example 1:
```
#lo0 = #xegpu.layout<wi_layout = [1, 8], wi_data = [1, 1]>
gpu.warp_execute_on_lane_0(%laneid) -> () {
...
xegpu.prefetch_nd %arg0 : !xegpu.tensor_desc<4x8xf32, #lo0>
}
```
To
```
%r:2 = gpu.warp_execute_on_lane_0(%laneid) -> (
!xegpu.tensor_desc<4x8xf32, #lo0>) {
gpu.yield %arg0: !xegpu.tensor_desc<4x8xf32, #lo0>
}
%1 = unrealized_conversion_cast %r#0: !xegpu.tensor_desc<4x8xf32,
#lo0> -> !xegpu.tensor_desc<4x8xf32>
xegpu.prefetch_nd %0 : !xegpu.tensor_desc<4x8xf32>
```
Example 2:
```
#lo0 = #xegpu.layout<wi_layout = [1, 8], wi_data = [1, 1]>
%r = gpu.warp_execute_on_lane_0(%laneid) ->
(!xegpu.tensor_desc<4x8xf32, #lo0>) {
...
%update = xegpu.update_nd_offset %arg0, [%c32, %c16]:
!xegpu.tensor_desc<4x8xf32, #lo0>
gpu.yield %update
}
...
```
To
```
%r:2 = gpu.warp_execute_on_lane_0(%laneid) -> (vector<4x1xf32>,
!xegpu.tensor_desc<4x8xf32, #lo0>) {
...
%dead = xegpu.update_nd_offset %arg0, [%c32, %c16]:
!xegpu.tensor_desc<4x8xf32, #lo0> gpu.yield %dead, %arg0
gup.yield %dead, %arg0, %c32, %c16
}
%0 = xegpu.unrealized_conversion_cast %r#1: !xegpu.tensor_desc<4x8xf32,
#lo0> -> !xegpu.tensor_desc<4x8xf32>
%1 = xegpu.update_nd_offset %0, [%c32, %c16]:
!xegpu.tensor_desc<4x8xf32>
...
```
Commit: c82e2f5c9ed08a270a1ec60bf7313af9c236ab98
https://github.com/llvm/llvm-project/commit/c82e2f5c9ed08a270a1ec60bf7313af9c236ab98
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Move VPPhiAccessors definition. (NFC)
Move up definition to allow re-use by additional recipes.
Commit: 45d493b680e3e79e4e9c19d665df83823c52a73a
https://github.com/llvm/llvm-project/commit/45d493b680e3e79e4e9c19d665df83823c52a73a
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__exception/exception_ptr.h
M libcxx/include/__expected/expected.h
M libcxx/include/__locale
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__split_buffer
A libcxx/include/__type_traits/is_replaceable.h
M libcxx/include/__utility/pair.h
M libcxx/include/__vector/vector.h
M libcxx/include/array
M libcxx/include/deque
M libcxx/include/module.modulemap.in
M libcxx/include/optional
M libcxx/include/string
M libcxx/include/tuple
M libcxx/include/variant
A libcxx/test/libcxx/type_traits/is_replaceable.compile.pass.cpp
Log Message:
-----------
[libc++] Add the __is_replaceable type trait (#132408)
That type trait represents whether move-assigning an object is
equivalent to destroying it and then move-constructing a new one from
the same argument. This will be useful in a few places where we may want
to destroy + construct instead of doing an assignment, in particular
when implementing some container operations in terms of relocation.
This is effectively adding a library emulation of P2786R12's
is_replaceable trait, similarly to what we do for trivial relocation.
Eventually, we can replace this library emulation by the real
compiler-backed trait.
This is building towards #129328.
Commit: dbe320efa19e52351a4819fc50d62219852cd381
https://github.com/llvm/llvm-project/commit/dbe320efa19e52351a4819fc50d62219852cd381
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/docs/InterfaceExportAnnotations.rst
Log Message:
-----------
[llvm] minor revisions to export annotation macro docs (#138761)
## Purpose
Make some minor tweaks and clarifications to the `LLVM_ABI` export
annotation docs.
## Overview
1. Minor cleanup on wording throughout
2. Clarification around class-level annotation requirements to export
vtable
## Validation
Manually inspected docs on [my fork
here](https://github.com/andrurogerz/llvm-project/blob/llvm-export-annotation-doc-update/llvm/docs/InterfaceExportAnnotations.rst).
Commit: f39ac3f569519a6f6c1618b23e20d47a74abef1e
https://github.com/llvm/llvm-project/commit/f39ac3f569519a6f6c1618b23e20d47a74abef1e
Author: Hui <hui.xie1990 at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
A libcxx/test/libcxx/containers/container.adaptors/flat.multiset/insert.temporary.pass.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.set/insert.temporary.pass.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat_helpers.h
Log Message:
-----------
[libc++] Add test for flat_set::insert not creating temporaries (#138387)
Fixes #119016
Commit: 741fef3a445339523500f614e0f752b9a74517a6
https://github.com/llvm/llvm-project/commit/741fef3a445339523500f614e0f752b9a74517a6
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 45d493b680e3
Commit: 948bffa951cf143da5f4caa461b25ce76fa137d0
https://github.com/llvm/llvm-project/commit/948bffa951cf143da5f4caa461b25ce76fa137d0
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M libcxx/include/__math/copysign.h
M libcxx/include/__math/exponential_functions.h
M libcxx/include/__math/fdim.h
M libcxx/include/__math/fma.h
M libcxx/include/__math/hypot.h
M libcxx/include/__math/inverse_trigonometric_functions.h
M libcxx/include/__math/min_max.h
M libcxx/include/__math/modulo.h
M libcxx/include/__math/remainder.h
M libcxx/include/__math/rounding_functions.h
M libcxx/include/__math/traits.h
M libcxx/include/__type_traits/promote.h
M libcxx/include/cmath
M libcxx/include/complex
M libcxx/test/libcxx/numerics/complex.number/cmplx.over.pow.pass.cpp
Log Message:
-----------
[libc++] Simplify __promote (#136101)
This avoids instantiating an extra class for every variant `__promote`
is used in.
Commit: a76cf062a57097ad7971325551854bd5f3d38d94
https://github.com/llvm/llvm-project/commit/a76cf062a57097ad7971325551854bd5f3d38d94
Author: Florian Mayer <fmayer at google.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
A llvm/test/Instrumentation/HWAddressSanitizer/personality-bti.ll
Log Message:
-----------
[HWASan] fix missing BTI attribute on personality function thunks (#139138)
This used to work because the BTI attribute was taken from the module in
the CodeGen.
e15d67cfc2e5775cc79281aa860f3ad3be628f39 changed that to actually look
at the function attributes. This led to crashes for BTI, because we did
not emit the proper landing pads for the thunk.
Commit: 2693a715bf2b343d6d4b196c6fb15474d3bc1377
https://github.com/llvm/llvm-project/commit/2693a715bf2b343d6d4b196c6fb15474d3bc1377
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Port 515b4a4fdd7ac97373b68850a2ffa72e2b8e9178 (#139155)
Commit: 47fb5bd494a9dd391abceafddb872e01a7d3492b
https://github.com/llvm/llvm-project/commit/47fb5bd494a9dd391abceafddb872e01a7d3492b
Author: Reid Kleckner <rnk at google.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/unittests/Support/TimeProfilerTest.cpp
Log Message:
-----------
[clang] Deflake the TimeProfile support tests (#138613)
These tests have been flaky since they were merged into the
AllClangUnitTests binary, but the flakiness is inherent to the nature of
timer-based tests.
Commit: 03896403d3bf330c8163aa9ae3fe2aa284e273be
https://github.com/llvm/llvm-project/commit/03896403d3bf330c8163aa9ae3fe2aa284e273be
Author: John Harrison <harjohn at google.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LaunchRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/RestartRequestHandler.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Migrate attach to typed RequestHandler. (#137911)
This updates the `attach` request to the typed
`RequestHandler<protocol::AttachRequestArguments,
protocol::AttachResponse>`.
Added a few more overlapping configurations to
`lldb_dap::protocol::Configuration` that are shared between launching
and attaching.
There may be some additional code we could clean-up that is no longer
referenced now that this has migrated to use well defined types.
Commit: 0df1a52852f570fb72c25f88f94f9b51e4689f1d
https://github.com/llvm/llvm-project/commit/0df1a52852f570fb72c25f88f94f9b51e4689f1d
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
A llvm/test/CodeGen/AArch64/fast-isel-atomic-fallback.ll
Log Message:
-----------
[AArch64][FastISel] Fallback on atomic stlr/cas with non-reg operands. (#133987)
This has been a latent bug for almost 10 years, but is relatively hard
to trigger, needing an address operand that isn't handled by
getRegForValue (in the test here, constexpr casts). When that happens,
it returns 0, which FastISel happily uses as a register operand, all the
way to asm, where we either get a crash on an invalid register, or a
silently corrupt instruction.
Unfortunately, FastISel is still enabled at -O0 for at least
ILP32/arm64_32.
Commit: 92d949229273a7c1dfb923a2b8fbac92fae04fd5
https://github.com/llvm/llvm-project/commit/92d949229273a7c1dfb923a2b8fbac92fae04fd5
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Address post-commit review feedback on 1ac489c8e
As noted by @s-barannikov, the last argument wasn't reflected in the type
profile for the SDNode, nor was it being used by the patterns.
Commit: 06d6623bc304d5fc2fe11b80b62b4c5d10f9eaa1
https://github.com/llvm/llvm-project/commit/06d6623bc304d5fc2fe11b80b62b4c5d10f9eaa1
Author: David Salinas <dsalinas at amd.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-objdump.rst
A llvm/include/llvm/Object/OffloadBundle.h
M llvm/lib/Object/CMakeLists.txt
A llvm/lib/Object/OffloadBundle.cpp
A llvm/test/tools/llvm-objdump/Offloading/fatbin.test
M llvm/tools/llvm-objdump/OffloadDump.cpp
M llvm/tools/llvm-objdump/OffloadDump.h
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/unittests/Object/CMakeLists.txt
A llvm/unittests/Object/OffloadingBundleTest.cpp
Log Message:
-----------
[llvm-objdump] Add support for HIP offload bundles (#114834)
Utilize the new extensions to the LLVM Offloading API to extend to
llvm-objdump to handle dumping fatbin offload bundles generated by HIP.
This extension to llvm-objdump adds the option --offload-fatbin.
Specifying this option will take the input object/executable and extract
all offload fatbin bundle entries into distinct code object files with
names reflecting the source file name combined with the Bundle Entry ID.
Users can also use the --arch-name option to filter offload fatbin
bundle entries by their target triple.
---------
Co-authored-by: dsalinas <dsalinas at MKM-L1-DSALINAS.amd.com>
Commit: 13b2f7c78574ce484c38d82769f8d4168cabd6ed
https://github.com/llvm/llvm-project/commit/13b2f7c78574ce484c38d82769f8d4168cabd6ed
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/andn2.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ashr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-fma-mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-sub-mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i8.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-add.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-and.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-anyext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-ashr.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-constant.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fabs.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmaxnum-ieee.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmaxnum.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fminnum-ieee.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fminnum.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmul.v2s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fneg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-freeze.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fshr.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-lshr.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-or.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-smed3.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-umed3.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-shl.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-xor.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-abs.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-add.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ashr.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fabs.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fadd.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcanonicalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fceil.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcmp.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcos.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fexp2.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ffloor.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fma.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmad.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmaxnum.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fminnum.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmul.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fneg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fpow.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fshr.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsin.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsqrt.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsub.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-icmp.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-intrinsic-round.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-intrinsic-trunc.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-lshr.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-mul.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddsat.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sdiv.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sext-inreg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-shl.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-shuffle-vector.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smax.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smin.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-srem.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sshlsat.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubsat.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sub.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uaddsat.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-udiv.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umax.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umin.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-urem.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ushlsat.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-usubsat.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ballot.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.fmas.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.a16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.a16.dim.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.getresinfo.a16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.2darraymsaa.a16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.3d.a16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.g16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.load.tfe.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.tfe.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/lshr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/orn2.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/shl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] add fake16 to gisel test (#138588)
This is a NFC patch.
Add '-mattr=-real-true16' to gfx11/gfx12 test.
GISEL is not fully supported in true16 mode yet. However we might want
to turn on true16 mode for SDAG as default first. This patch is
preparing for this mode shift in the short future so we can have a small
patch to turn it on
Commit: c336bd74fa47c5cd57b7ea9aaa1e78d3cc1cb522
https://github.com/llvm/llvm-project/commit/c336bd74fa47c5cd57b7ea9aaa1e78d3cc1cb522
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/test/MC/AMDGPU/gfx11_asm_vinterp_err.s
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_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_err.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_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s
Log Message:
-----------
[AMDGPU][True16][MC] added missing testlines for t16 test (#135823)
This is a NFC patch.
Update testlines for true16 mc inst including:
v_min_num_f16
v_max_num_f16
v_cvt_f16_f32
v_cmp_tru_f16
v_cmpx_tru_f16
v_min_num_f16
v_max_num_f16
v_cvt_pknorm_i16_f16
v_med3_f16
The functional change is done, but these are testlines that are not yet
up-to-date
Commit: 856632bfc1b8a60735113a8f55f8fb5ed5bc4cf4
https://github.com/llvm/llvm-project/commit/856632bfc1b8a60735113a8f55f8fb5ed5bc4cf4
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
Log Message:
-----------
[NFC][ubsan_minimal] Clang-format a file (#139000)
Commit: 1b3e10ab85716e194ce16c273a6091e0136bf890
https://github.com/llvm/llvm-project/commit/1b3e10ab85716e194ce16c273a6091e0136bf890
Author: joaosaffran <joao.saffran at microsoft.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/MC/DXContainerRootSignature.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/lib/MC/DXContainerRootSignature.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
Log Message:
-----------
addressing comments
Commit: 1f3195784775b3244fd6c0d7447026d290605e85
https://github.com/llvm/llvm-project/commit/1f3195784775b3244fd6c0d7447026d290605e85
Author: joaosaffran <joao.saffran at microsoft.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/include/llvm/Object/DXContainer.h
Log Message:
-----------
addressing comments
Commit: 61b435ec4de6b2a4139afce5195a01717436184c
https://github.com/llvm/llvm-project/commit/61b435ec4de6b2a4139afce5195a01717436184c
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2025-05-09 (Fri, 09 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/AttributeCommonInfo.h
M clang/lib/Basic/Attributes.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/CXX/module/module.interface/p3.cpp
M clang/test/OpenMP/openmp_attribute_parsing.cpp
M clang/test/Parser/c2x-attributes.c
M clang/test/Parser/cxx0x-attributes.cpp
M clang/test/Sema/patchable-function-entry-attr.cpp
A clang/test/Sema/unknown-attributes.c
M clang/test/SemaCXX/cxx2a-ms-no-unique-address.cpp
Log Message:
-----------
[Clang] show attribute namespace in diagnostics (#138519)
This patch enhances Clang's diagnosis of an unknown attribute by
printing the attribute's namespace in the diagnostic text. e.g.,
```cpp
[[foo::nodiscard]] int f(); // warning: unknown attribute 'foo::nodiscard' ignored
```
Commit: fa43e8f7de534984bc56b6319b72fd8ad422cbdf
https://github.com/llvm/llvm-project/commit/fa43e8f7de534984bc56b6319b72fd8ad422cbdf
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Object/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Object/BUILD.gn
Log Message:
-----------
[gn build] Port 06d6623bc304
Commit: e8fbfce6d9c761a640534e8d9ed731a5a4ac986a
https://github.com/llvm/llvm-project/commit/e8fbfce6d9c761a640534e8d9ed731a5a4ac986a
Author: joaosaffran <joao.saffran at microsoft.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
Log Message:
-----------
clean up
Commit: 611d81bd9304768f3cdb101d37c81d36b9762723
https://github.com/llvm/llvm-project/commit/611d81bd9304768f3cdb101d37c81d36b9762723
Author: John Harrison <harjohn at google.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M lldb/tools/lldb-dap/package-lock.json
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
A lldb/tools/lldb-dap/src-ts/debug-session-tracker.ts
M lldb/tools/lldb-dap/src-ts/disposable-context.ts
M lldb/tools/lldb-dap/src-ts/extension.ts
A lldb/tools/lldb-dap/src-ts/ui/modules-data-provider.ts
Log Message:
-----------
[lldb-dap] Adding a modules explorer to lldb-dap ext. (#138977)
This creates a very basic module explorer for tracking and displaying
loaded modules, reported by lldb-dap for the active debug session.
This includes a basic session tracker that we can use to observe the
debug session and collect specific information for additional
visualizations in the lldb-dap ext.
Here is a screenshot of the current visualization in the tree view.
There is some unfortunate wrapping of the path, but it shows the basic
support that could be extended in the future.
<img width="1759" alt="Screenshot 2025-05-07 at 2 52 50 PM"
src="https://github.com/user-attachments/assets/588baa2f-61d5-4434-8692-b1d0cce42875"
/>
Commit: 6bb30196912daeaa92babc39519b2ae0bfce9771
https://github.com/llvm/llvm-project/commit/6bb30196912daeaa92babc39519b2ae0bfce9771
Author: jimingham <jingham at apple.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
A lldb/test/API/macosx/branch-islands/Makefile
A lldb/test/API/macosx/branch-islands/TestBranchIslands.py
A lldb/test/API/macosx/branch-islands/foo.c
A lldb/test/API/macosx/branch-islands/main.c
A lldb/test/API/macosx/branch-islands/padding1.s
A lldb/test/API/macosx/branch-islands/padding2.s
A lldb/test/API/macosx/branch-islands/padding3.s
A lldb/test/API/macosx/branch-islands/padding4.s
Log Message:
-----------
Branch island debug (#139166)
This patch allows lldb to step in across "branch islands" which is the
Darwin linker's way of dealing with immediate branches to targets that
are too far away for the immediate slot to make the jump.
I submitted this a couple days ago and it failed on the arm64 bot. I was
able to match the bot OS and Tool versions (they are a bit old at this
point) and ran the test there but sadly it succeeded. The x86_64 bot
also failed but that was my bad, I did @skipUnlessDarwin when I should
have done @skipUnlessAppleSilicon.
So this resubmission is with the proper decoration for the test, and
with a bunch of debug output printed in case of failure. With any luck,
if this resubmission fails again I'll be able to see what's going on.
Commit: a25d38ddb74d6f7789daf2e7ead416054d2c6cd8
https://github.com/llvm/llvm-project/commit/a25d38ddb74d6f7789daf2e7ead416054d2c6cd8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Correct the SDTypeProfile for RISCVISD::PROBED_ALLOCA (#139135)
Commit: e4b4a939f8852b2d5aab0d5b999890c7ef85be18
https://github.com/llvm/llvm-project/commit/e4b4a939f8852b2d5aab0d5b999890c7ef85be18
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
A llvm/test/CodeGen/SystemZ/pr137687.mir
Log Message:
-----------
[MCP] Disable BackwardCopyPropagateBlock for copies with implicit registers. (#137687)
If there's an implicit-def of a super register, the propagation
must preserve this implicit-def. Knowing how and when to do this
may require target specific knowledge so just disable it for now.
Prior to 2def1c4, we checked that the copy had explicit 2 operands
when that was removed we started allowing implicit operands through.
This patch adds a check for implicit operands, but still allows
extra explicit operands which was the goal of 2def1c4.
Fixes #131478.
Commit: 501dcab68ea978d8a3dbc46a8030b9227c4720de
https://github.com/llvm/llvm-project/commit/501dcab68ea978d8a3dbc46a8030b9227c4720de
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/pr139075.ll
Log Message:
-----------
[RISCV] Limit VLEN in getOptimalMemOpType to prevent creating invalid MVTs. (#139116)
We only guarantee that types that are 1024 bytes or smaller exist in the
MVT enum.
Fixes #139075.
Commit: 02139b140beff69edc376bd15a80e0670322085f
https://github.com/llvm/llvm-project/commit/02139b140beff69edc376bd15a80e0670322085f
Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
Date: 2025-05-09 (Fri, 09 May 2025)
Changed paths:
M llvm/lib/Target/Mips/Mips32r6InstrInfo.td
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/test/CodeGen/Mips/mipsr6-minmaxnum.ll
M llvm/test/CodeGen/Mips/msa/f16-llvm-ir.ll
Log Message:
-----------
MIPSr6: Set FMAXNUM and FMINNUM as Legal (#139009)
Now we define FMAXNUM and FMINNUM as IEEE754-2008 with +0.0>-0.0.
MIPSr6's fmax/fmin just follow this rules full.
FMAXNUM_IEEE and FMINNUM_IEEE will be removed in future once:
1. Fixes FMAXNUM/FMINNUM for all targets
2. The use of FMAXNUM_IEEE/FMINNUM_IEEE are not used by middle end
anymore.
Commit: abd5ee9355c2d3fd0df8bb0e57a0f2cf2f9fb435
https://github.com/llvm/llvm-project/commit/abd5ee9355c2d3fd0df8bb0e57a0f2cf2f9fb435
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaTemplate/fun-template-def.cpp
Log Message:
-----------
Revert "[Clang] Diagnose invalid function types in dependent contexts (#138731)" (#139176)
This reverts commit cf9b4d1e7961214deabd99a9fc3b1d4c9e78a71f.
Causes breakages as reported here:
https://github.com/llvm/llvm-project/pull/138731#issuecomment-2864298000
Commit: b6922b717045d3d1bd136b96f672533a498fd5aa
https://github.com/llvm/llvm-project/commit/b6922b717045d3d1bd136b96f672533a498fd5aa
Author: jimingham <jingham at apple.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/test/API/macosx/branch-islands/TestBranchIslands.py
Log Message:
-----------
Add more logging so I can figure out why TestBranchIslands.py is (#139178)
failing but only on the bot.
Commit: a31e5a5d14a2e81a411e30e2b50150a0ba85d409
https://github.com/llvm/llvm-project/commit/a31e5a5d14a2e81a411e30e2b50150a0ba85d409
Author: joaosaffran <joao.saffran at microsoft.com>
Date: 2025-05-09 (Fri, 09 May 2025)
Changed paths:
M llvm/include/llvm/Object/DXContainer.h
Log Message:
-----------
removing v parameter
Commit: 2299bada9f163df64083434754ebc4b353f562d5
https://github.com/llvm/llvm-project/commit/2299bada9f163df64083434754ebc4b353f562d5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-objdump.rst
R llvm/include/llvm/Object/OffloadBundle.h
M llvm/lib/Object/CMakeLists.txt
R llvm/lib/Object/OffloadBundle.cpp
R llvm/test/tools/llvm-objdump/Offloading/fatbin.test
M llvm/tools/llvm-objdump/OffloadDump.cpp
M llvm/tools/llvm-objdump/OffloadDump.h
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/unittests/Object/CMakeLists.txt
R llvm/unittests/Object/OffloadingBundleTest.cpp
Log Message:
-----------
Revert "[llvm-objdump] Add support for HIP offload bundles (#114834)"
This reverts commit 06d6623bc304d5fc2fe11b80b62b4c5d10f9eaa1.
Buildbot failure:
https://lab.llvm.org/buildbot/#/builders/145/builds/6871/steps/5/logs/stdio
Commit: c81341f7fd9a59bf6f960f9704dc7dc45c711a91
https://github.com/llvm/llvm-project/commit/c81341f7fd9a59bf6f960f9704dc7dc45c711a91
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-09 (Fri, 09 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Object/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Object/BUILD.gn
Log Message:
-----------
[gn build] Port 2299bada9f16
Commit: a394ad02b73a2237eefc6425504b371fb1770a28
https://github.com/llvm/llvm-project/commit/a394ad02b73a2237eefc6425504b371fb1770a28
Author: joaosaffran <joao.saffran at microsoft.com>
Date: 2025-05-09 (Fri, 09 May 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/MC/DXContainerRootSignature.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/lib/MC/DXContainerRootSignature.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
Log Message:
-----------
Merge branch 'obj2yaml/root-descriptors' into refactoring/remove-union
Commit: ad415a7a5a4ac5be41445f2d0527895b60e05d7b
https://github.com/llvm/llvm-project/commit/ad415a7a5a4ac5be41445f2d0527895b60e05d7b
Author: joaosaffran <joao.saffran at microsoft.com>
Date: 2025-05-09 (Fri, 09 May 2025)
Changed paths:
M llvm/include/llvm/MC/DXContainerRootSignature.h
Log Message:
-----------
clean up
Commit: b80c3c576f169326f55956985706816cf7b170eb
https://github.com/llvm/llvm-project/commit/b80c3c576f169326f55956985706816cf7b170eb
Author: jimingham <jingham at apple.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M lldb/test/API/macosx/branch-islands/Makefile
Log Message:
-----------
Branch no lld (#139187)
I suspect the test may be failing because lld doesn't behave the same
way the native Darwin linker does. Trying that theory here...
Commit: 803fd732ae634b49c308e88e9b508fdbff664034
https://github.com/llvm/llvm-project/commit/803fd732ae634b49c308e88e9b508fdbff664034
Author: jimingham <jingham at apple.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M lldb/test/API/macosx/branch-islands/TestBranchIslands.py
Log Message:
-----------
Branch island no dsym (#139191)
When we get to the branch island, we don't see the symbol for
it.
The only other thing I can think of that would be a dsymutil bug?
Let's try this just with dwarf, and then I'll have to revert all this
and see if I can reproduce this locally somehow.
Commit: 74120d0a389584bd8d74073fb0c0b80af29f0a4c
https://github.com/llvm/llvm-project/commit/74120d0a389584bd8d74073fb0c0b80af29f0a4c
Author: jimingham <jingham at apple.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
R lldb/test/API/macosx/branch-islands/Makefile
R lldb/test/API/macosx/branch-islands/TestBranchIslands.py
R lldb/test/API/macosx/branch-islands/foo.c
R lldb/test/API/macosx/branch-islands/main.c
R lldb/test/API/macosx/branch-islands/padding1.s
R lldb/test/API/macosx/branch-islands/padding2.s
R lldb/test/API/macosx/branch-islands/padding3.s
R lldb/test/API/macosx/branch-islands/padding4.s
Log Message:
-----------
Revert branch island experiments (#139192)
This test is failing because when we step to what is the branch island
address and ask for its symbol, we can't resolve the symbol, and just
call it the last padding symbol plus a bajillion.
That has nothing to do with the changes in this patch, but I'll revert
this and keep trying to figure out why symbol reading on this bot is
wrong.
Commit: 035dcf6a2a706288c8abe1017c965a1033fca800
https://github.com/llvm/llvm-project/commit/035dcf6a2a706288c8abe1017c965a1033fca800
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/lib/Driver/OffloadBundler.cpp
M clang/test/Driver/clang-offload-bundler-standardize.c
Log Message:
-----------
[HIP] fix bundle ID for amdgcnspirv (#139112)
Currently ROCm 6.4.0 only recognize spirv64-amd-amdhsa- in bundle ID.
spirv64-amd-amdhsa-unknown causes all HIP apps compiled for amdgcnspirv
to fail.
Previously we fixed a similar issue for
amdgcn-amd-amdhsa-unknown. This patch extends that to
spirv64-amd-amdhsa-unknown.
Commit: 8e895b50b9bc71bbdae92b1dea7189216b7764ab
https://github.com/llvm/llvm-project/commit/8e895b50b9bc71bbdae92b1dea7189216b7764ab
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
A llvm/docs/MLGO.rst
M llvm/docs/Reference.rst
Log Message:
-----------
[MLGO][Docs] Add initial skeleton of MLGO docs
This adds an initial skeleton of the MLGO docs. This is intended to be
fleshed out over the next couple days as we work on filling out the
relevant sections on the tooling/features that are available in upstream
LLVM.
Reviewers: efriedma-quic, mtrofin
Reviewed By: mtrofin
Pull Request: https://github.com/llvm/llvm-project/pull/139177
Commit: 7c7ea1e0eb9fcaf39aefa05cb88f85b771afae25
https://github.com/llvm/llvm-project/commit/7c7ea1e0eb9fcaf39aefa05cb88f85b771afae25
Author: no92 <no92 at users.noreply.github.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/include/llvm/ADT/bit.h
M llvm/lib/Support/Unix/Path.inc
Log Message:
-----------
[llvm] Add managarm support (#138854)
This PR is part of a series to upstream managarm support, as laid out in
the
[RFC](https://discourse.llvm.org/t/rfc-new-proposed-managarm-support-for-llvm-and-clang-87845/85884/1).
This PR is a follow-up to #87845.
The intention here is to add the managarm target to the LLVM support
lib, in preparation for a follow-up that would add the missing clang
driver bits.
Commit: 4bcc083a72248bbf5bb4aaf70ba8008cfd9630e9
https://github.com/llvm/llvm-project/commit/4bcc083a72248bbf5bb4aaf70ba8008cfd9630e9
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/lib/Format/DefinitionBlockSeparator.cpp
M clang/unittests/Format/DefinitionBlockSeparatorTest.cpp
Log Message:
-----------
[clang-format] Handle C# where clause in SeparateDefinitionBlocks (#139034)
Fix #61956
Commit: db2d5762ebf61b95b0e414b461db68ac49d06b8c
https://github.com/llvm/llvm-project/commit/db2d5762ebf61b95b0e414b461db68ac49d06b8c
Author: MingYan <99472920+NexMing at users.noreply.github.com>
Date: 2025-05-09 (Fri, 09 May 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/AffinePromotion.cpp
M flang/test/Fir/affine-promotion.fir
Log Message:
-----------
[flang][fir] Support promoting `fir.do_loop` with results to `affine.for`. (#137790)
Co-authored-by: yanming <ming.yan at terapines.com>
Commit: 78cc822aa6f5af0eda55089d22ba915b6d8e0216
https://github.com/llvm/llvm-project/commit/78cc822aa6f5af0eda55089d22ba915b6d8e0216
Author: lntue <lntue at google.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M libc/config/darwin/arm/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/include/math.yaml
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/acos.cpp
M libc/src/math/generic/asin.cpp
M libc/src/math/generic/asin_utils.h
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/acos_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/acos_test.cpp
Log Message:
-----------
[libc][math] Implement double precision acos correctly rounded for all rounding modes. (#138308)
We reduce computation of `acos` to `asin` as follow:
When `|x| < 0.5`:
```math
acos(x) = \frac{\pi}{2} - asin(x).
```
For `0.5 <= |x| < 1`, let
```math
u = \frac{1 - \left| x \right|}{2},
```
then
```math
acos(x) = \begin{cases}
2 \cdot asin \left( \sqrt{u} \right) &, 0.5 \leq x < 1 \\
\pi - 2 \cdot asin \left( \sqrt{u} \right) &, -1 < x \leq 0.5
\end{cases}
```
Commit: 4190d6cc379a061e9d9ee9563a6f47a062a2ceef
https://github.com/llvm/llvm-project/commit/4190d6cc379a061e9d9ee9563a6f47a062a2ceef
Author: Iris Shi <0.0 at owo.li>
Date: 2025-05-09 (Fri, 09 May 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/mul.ll
Log Message:
-----------
[NFC][RISCV] Add more test cases for multiplication (#139195)
Commit: d915355ef88e24b1b06192b8f878e2079f9f6165
https://github.com/llvm/llvm-project/commit/d915355ef88e24b1b06192b8f878e2079f9f6165
Author: Iris Shi <0.0 at owo.li>
Date: 2025-05-09 (Fri, 09 May 2025)
Changed paths:
A llvm/test/CodeGen/RISCV/mul-expand.ll
Log Message:
-----------
[NFC][RISCV] Pre-commit tests for RVI constant multiplication expansion (#139200)
Commit: d926ec35b73b3952806fb6ee6af6bf2990729c26
https://github.com/llvm/llvm-project/commit/d926ec35b73b3952806fb6ee6af6bf2990729c26
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-09 (Fri, 09 May 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/test/CodeGen/X86/asm-modifier.ll
Log Message:
-----------
[X86] Asm modifier %a: add (%rip) for 64-bit static relocation model
In GCC,
```
static int a;
int foo() {
asm("# %a0" : : "i"(&a));
}
```
lowers to `# a(%rip)` regardless of the PIC mode. This PR follow suits
for ELF -fno-pic, matching ELF -fpic (asm-modifier-pic.ll) and Mach-O
(which defaults to PIC).
Close https://github.com/llvm/llvm-project/issues/139001
Pull Request: https://github.com/llvm/llvm-project/pull/139040
Commit: 823b1a582258f1417c648b3117ba08edc4855c68
https://github.com/llvm/llvm-project/commit/823b1a582258f1417c648b3117ba08edc4855c68
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/include/clang/InstallAPI/DylibVerifier.h
M clang/lib/InstallAPI/DiagnosticBuilderWrappers.cpp
M clang/lib/InstallAPI/DiagnosticBuilderWrappers.h
M clang/lib/InstallAPI/DylibVerifier.cpp
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-installapi/Options.cpp
Log Message:
-----------
[clang-installapi] Store dylib attributes in the order they are passed on the command line. (#139087)
With the introduction of tbd-v5 holding rpaths, the order in which those
attributes are passed to `clang-installapi` must be represented in tbd
files. Previously, all dylib attributes were stored in a
non-deterministic `StringMap`. Instead, hold them in a custom collection
with an underlying vector to continue supporting searching by attribute.
This makes the order of all diagnostics related to load command
comparisons stable.
This approach resolves errors when building with reverse-iteration.
Commit: 74e5a3b61e87c8c2b830286796b72dda67942b6b
https://github.com/llvm/llvm-project/commit/74e5a3b61e87c8c2b830286796b72dda67942b6b
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M clang/lib/AST/DeclBase.cpp
A clang/test/Driver/attr-availability-erroneous-diags.c
Log Message:
-----------
[clang] Remove "unknown" from availability diags (#138610)
Previously, diagnostics like `error: 'fNew' is unavailable: introduced
in macOS 11 unknown` were getting emitted when the active target triple
didn't have an environment tied to it. Instead, add a guard against this
to avoid the `unknown`.
Commit: a1beb619403a781153c170f041f39a3bac1cebb7
https://github.com/llvm/llvm-project/commit/a1beb619403a781153c170f041f39a3bac1cebb7
Author: Guy David <49722543+guy-david at users.noreply.github.com>
Date: 2025-05-09 (Fri, 09 May 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/cos-1.ll
A llvm/test/Transforms/InstCombine/simplify-intrinsics.ll
Log Message:
-----------
[SimplifyLibCalls] Shrink sin, cos to sinf, cosf when allowed (#139082)
This optimization already exists, but for the libcall versions of these
functions and not for their intrinsic form.
Solves https://github.com/llvm/llvm-project/issues/139044.
There are probably more opportunities for other intrinsics, because the
switch-case in `LibCallSimplifier::optimizeCall` covers only `pow`,
`exp2`, `log`, `log2`, `log10`, `sqrt`, `memset`, `memcpy` and
`memmove`.
Commit: f7c01c40457c2f0fd20ab59244738ed61d4e989c
https://github.com/llvm/llvm-project/commit/f7c01c40457c2f0fd20ab59244738ed61d4e989c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-09 (Fri, 09 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Context.cpp
Log Message:
-----------
[clang][bytecode] Reorder type checks in classify() (#139046)
Move the member pointer check further below and remove Complex/Vector
type checks and instead rely on the final return to handle those.
Commit: c0f5b0a62b2a90883baabfb7d1fd0db560f9fc5d
https://github.com/llvm/llvm-project/commit/c0f5b0a62b2a90883baabfb7d1fd0db560f9fc5d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-09 (Fri, 09 May 2025)
Changed paths:
M clang/lib/AST/Type.cpp
Log Message:
-----------
[clang][NFC] Use BuiltinType::isFloatingPoint() in Type::isFloatingType() (#139035)
They both used to do the same comparison of getKind() to Half and
Ibm128.
Commit: cfb057a2c49a78138d4e452d2ad518f2a7db8015
https://github.com/llvm/llvm-project/commit/cfb057a2c49a78138d4e452d2ad518f2a7db8015
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-05-09 (Fri, 09 May 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/shuffle-as-xvshuf4i.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/shuffle-as-vshuf.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/shuffle-as-vshuf4i.ll
M llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-byte-rotate.ll
M llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-byte-shift.ll
M llvm/test/CodeGen/LoongArch/lsx/widen-shuffle-mask.ll
Log Message:
-----------
[LoongArch] Lower [x]vshuf.d to [x]vshuf4i.d if possible. (#137918)
Commit: 3b9b377f6df78c390815a54786b742d96ccd11f0
https://github.com/llvm/llvm-project/commit/3b9b377f6df78c390815a54786b742d96ccd11f0
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2025-05-09 (Fri, 09 May 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
A flang/test/Semantics/OpenMP/detach01.f90
A flang/test/Semantics/OpenMP/detach02.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[Flang] [OpenMP] Add semantic checks for detach clause in task (#119172)
Fixes:
- Add semantic checks along with the tests
- Move the detach clause to allowedOnceClauses list in Task construct
Restrictions:\
OpenMP 5.0: Task construct
- At most one detach clause can appear on the directive.
- If a detach clause appears on the directive, then a mergeable clause
cannot appear on the same directive.
OpenMP 5.2: Detach contruct
- If a detach clause appears on a directive, then the encountering task
must not be a final task.
- A variable that appears in a detach clause cannot appear as a list
item on a data-environment attribute clause on the same construct.
- A variable that is part of another variable (as an array element or a
structure element) cannot appear in a detach clause.
- event-handle must not have the POINTER attribute.
Commit: d2c5fbe9ea14bdcd0008691b76a562ff69f04b99
https://github.com/llvm/llvm-project/commit/d2c5fbe9ea14bdcd0008691b76a562ff69f04b99
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/Analysis/CostModel/AMDGPU/maximum.ll
M llvm/test/Analysis/CostModel/AMDGPU/minimum.ll
M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
M llvm/test/CodeGen/AMDGPU/fminimum3.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fmaximum.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fminimum.ll
Log Message:
-----------
[AMDGPU] Legalize vector fminimum and fmaximum with VOP3P (#138971)
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Commit: c38910bbb963c40e99d150ed456acdc10be4cd38
https://github.com/llvm/llvm-project/commit/c38910bbb963c40e99d150ed456acdc10be4cd38
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/test/Target/SPIRV/decorations.mlir
Log Message:
-----------
[mlir][spirv] Add support for RelaxedPrecision in function arguments (#138685)
With the current implementation only one attribute is attached to the
argument and the deserializer fails if more decorations are specified,
however I believe that the spec does not prohibit having both
`Aliased`/`Restrict` and `RelaxedPrecision`. I am not sure how to attach
multiple attributes to a single argument with the current code and at
the same time I do not have a use case for it, so I think the patch in
the current state is a good starting point and can be extended in the
future.
Commit: ad66b5a62d0e811f4a90df6becaa0ac36757b682
https://github.com/llvm/llvm-project/commit/ad66b5a62d0e811f4a90df6becaa0ac36757b682
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2025-05-09 (Fri, 09 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.mir
Log Message:
-----------
[RISCV][Peephole] Clear kill flags for registers after foldUndefPassthruVMV_V_V (#138847)
Without clearing kill flags, this pass will generate bad machine code.
```
*** Bad machine code: Using a killed virtual register ***
- function: main
- basic block: %bb.0 entry (0x437ef928)
- instruction: %12:vrn7m1 = INSERT_SUBREG %11:vrn7m1(tied-def 0), %0:vr, %subreg.sub_vrm1_0
- operand 2: %0:vr
```
Commit: 07f36f21e9bf4024b5fdbe12b0d815aef3fac914
https://github.com/llvm/llvm-project/commit/07f36f21e9bf4024b5fdbe12b0d815aef3fac914
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-09 (Fri, 09 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fneg-combines.new.ll
Log Message:
-----------
AMDGPU: Add baseline tests for fneg with min/max intrinsics (#139132)
Copy the minnum and maxnum tests into versions with minimum/maximum
and minimumnum/maximumnum.
Commit: 912df60b08f6cbeaa1a5a27f7bc3628726842885
https://github.com/llvm/llvm-project/commit/912df60b08f6cbeaa1a5a27f7bc3628726842885
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-09 (Fri, 09 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/fneg-combines.new.ll
Log Message:
-----------
AMDGPU: Handle minimumnum/maximumnum in fneg combines (#139133)
Commit: 458e2416ca2cbe80bbdb0808811c3f6999c958f7
https://github.com/llvm/llvm-project/commit/458e2416ca2cbe80bbdb0808811c3f6999c958f7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-09 (Fri, 09 May 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/fmax3-maximumnum.ll
A llvm/test/CodeGen/AMDGPU/fmin3-minimumnum.ll
Log Message:
-----------
AMDGPU: Add baseline tests for min3/max3 from minimumnum/maximumnum (#139136)
Commit: f13ff778424bb4e3c87d876a759d0a8a4bc61167
https://github.com/llvm/llvm-project/commit/f13ff778424bb4e3c87d876a759d0a8a4bc61167
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-09 (Fri, 09 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/fmax3-maximumnum.ll
M llvm/test/CodeGen/AMDGPU/fmin3-minimumnum.ll
Log Message:
-----------
AMDGPU: Form min3/max3 from minimumnum/maximumnum (#139137)
Commit: 6cf84e036e84bc134c05185477a2a3853e2d6140
https://github.com/llvm/llvm-project/commit/6cf84e036e84bc134c05185477a2a3853e2d6140
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-09 (Fri, 09 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/maximumnum.ll
M llvm/test/CodeGen/AMDGPU/minimumnum.ll
Log Message:
-----------
AMDGPU: Test more subtargets in minimumnum/maximumnum tests (#139144)
Commit: e4751d5cbcac9ec411a17d9bb02ead8b55bfefd3
https://github.com/llvm/llvm-project/commit/e4751d5cbcac9ec411a17d9bb02ead8b55bfefd3
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-09 (Fri, 09 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/maximumnum.ll
M llvm/test/CodeGen/AMDGPU/minimumnum.ll
Log Message:
-----------
AMDGPU: Add minimumnum/maximumnum tests with amdgpu-ieee=0 (#139145)
With the IEEE bit disabled, the hardware instructions have the
same behavior as these operations.
Commit: 03d3e6dbe9e7a0c64e6c62b583bb187723421717
https://github.com/llvm/llvm-project/commit/03d3e6dbe9e7a0c64e6c62b583bb187723421717
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2025-05-08 (Thu, 08 May 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/include/llvm/MC/DXContainerRootSignature.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/lib/MC/DXContainerRootSignature.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
A llvm/test/ObjectYAML/DXContainer/RootSignature-Descriptor1.0.yaml
A llvm/test/ObjectYAML/DXContainer/RootSignature-Descriptor1.1.yaml
M llvm/test/ObjectYAML/DXContainer/RootSignature-MultipleParameters.yaml
M llvm/unittests/Object/DXContainerTest.cpp
M llvm/unittests/ObjectYAML/DXContainerYAMLTest.cpp
Log Message:
-----------
[DirectX] Adding support for Root Descriptors in obj2yaml/yaml2obj (#137259)
closes: [126634](https://github.com/llvm/llvm-project/issues/126634)
---------
Co-authored-by: joaosaffran <joao.saffran at microsoft.com>
Commit: 8ff4845bbd1ca5dab92433c08b3e9023e0e04039
https://github.com/llvm/llvm-project/commit/8ff4845bbd1ca5dab92433c08b3e9023e0e04039
Author: joaosaffran <joao.saffran at microsoft.com>
Date: 2025-05-09 (Fri, 09 May 2025)
Changed paths:
A .ci/all_requirements.txt
M .ci/metrics/metrics.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
M .github/workflows/commit-access-greeter.yml
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/pr-code-format.yml
M .github/workflows/premerge.yaml
M CONTRIBUTING.md
M bolt/Maintainers.txt
M bolt/docs/BinaryAnalysis.md
M bolt/docs/CMakeLists.txt
M bolt/docs/doxygen.cfg.in
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/BinarySection.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Passes/PatchEntries.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/test/AArch64/lite-mode.s
A bolt/test/AArch64/skip-non-vfuncptr-reloc-in-relative-vtable.s
M bolt/test/X86/callcont-fallthru.s
M bolt/test/non-empty-debug-line.test
M bolt/unittests/Core/BinaryContext.cpp
M clang-tools-extra/Maintainers.txt
M clang-tools-extra/clang-change-namespace/ChangeNamespace.cpp
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Mapper.cpp
M clang-tools-extra/clang-doc/Mapper.h
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/Serialize.h
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
A clang-tools-extra/clang-doc/assets/clang-doc-mustache.css
A clang-tools-extra/clang-doc/assets/class-template.mustache
A clang-tools-extra/clang-doc/assets/comments-template.mustache
A clang-tools-extra/clang-doc/assets/enum-template.mustache
A clang-tools-extra/clang-doc/assets/function-template.mustache
A clang-tools-extra/clang-doc/assets/mustache-index.js
A clang-tools-extra/clang-doc/assets/namespace-template.mustache
A clang-tools-extra/clang-doc/assets/template.mustache
M clang-tools-extra/clang-doc/tool/CMakeLists.txt
M clang-tools-extra/clang-include-fixer/IncludeFixer.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/clangd/Compiler.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/Preamble.h
M clang-tools-extra/clangd/SystemIncludeExtractor.cpp
M clang-tools-extra/clangd/index/FileIndex.cpp
M clang-tools-extra/clangd/index/FileIndex.h
M clang-tools-extra/clangd/index/StdLib.cpp
M clang-tools-extra/clangd/index/YAMLSerialization.cpp
M clang-tools-extra/clangd/index/remote/Index.proto
M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
M clang-tools-extra/clangd/unittests/StdLibTests.cpp
M clang-tools-extra/clangd/unittests/TestTU.cpp
M clang-tools-extra/clangd/unittests/remote/MarshallingTests.cpp
M clang-tools-extra/docs/CMakeLists.txt
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/boost/use-ranges.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/casting-through-void.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-designated-initializers.rst
M clang-tools-extra/docs/doxygen.cfg.in
M clang-tools-extra/include-cleaner/test/tool.cpp
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
M clang-tools-extra/modularize/ModularizeUtilities.cpp
A clang-tools-extra/test/clang-doc/comments-in-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-designated-initializers.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
M clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp
M clang/CMakeLists.txt
M clang/Maintainers.rst
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_cursor.py
M clang/bindings/python/tests/cindex/test_location.py
M clang/bindings/python/tests/cindex/test_source_range.py
A clang/cmake/caches/Fuchsia-stage2-instrumented.cmake
M clang/cmake/caches/Fuchsia.cmake
M clang/docs/CMakeLists.txt
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/CommandGuide/clang.rst
M clang/docs/HIPSupport.rst
M clang/docs/InternalsManual.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SanitizerCoverage.rst
M clang/docs/UsersManual.rst
M clang/docs/doxygen.cfg.in
M clang/include/clang-c/Index.h
M clang/include/clang/APINotes/Types.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTStructuralEquivalence.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclOpenACC.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/Mangle.h
M clang/include/clang/AST/NonTrivialTypeVisitor.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/OperationKinds.def
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/Type.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/AttributeCommonInfo.h
M clang/include/clang/Basic/BuiltinHeaders.def
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/include/clang/Basic/BuiltinsARM.def
M clang/include/clang/Basic/BuiltinsRISCVXCV.td
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
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/DiagnosticSerializationKinds.td
M clang/include/clang/Basic/FPOptions.def
M clang/include/clang/Basic/HeaderInclude.h
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/LangStandards.def
A clang/include/clang/Basic/OffloadArch.h
M clang/include/clang/Basic/Stack.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TargetOSMacros.def
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/CIR/CIRToCIRPasses.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
A clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Dialect/IR/CMakeLists.txt
M clang/include/clang/CIR/Dialect/Passes.h
M clang/include/clang/CIR/Dialect/Passes.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/Distro.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/SanitizerArgs.h
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/include/clang/Frontend/FrontendActions.h
M clang/include/clang/InstallAPI/DylibVerifier.h
M clang/include/clang/Interpreter/Interpreter.h
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Lex/ModuleMap.h
M clang/include/clang/Lex/ModuleMapFile.h
M clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Parse/RAIIObjectsForParser.h
M clang/include/clang/Sema/Lookup.h
M clang/include/clang/Sema/Overload.h
M clang/include/clang/Sema/ParsedTemplate.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/ModuleCache.h
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
M clang/include/clang/Support/Compiler.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/include/clang/Tooling/DependencyScanning/InProcessModuleCache.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/APINotes/APINotesWriter.cpp
M clang/lib/APINotes/APINotesYAMLCompiler.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.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/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
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/EvaluationResult.h
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.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Program.h
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclObjC.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/Linkage.h
M clang/lib/AST/Mangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/ODRDiagsEmitter.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Attributes.cpp
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/IdentifierTable.cpp
M clang/lib/Basic/LangOptions.cpp
A clang/lib/Basic/OffloadArch.cpp
M clang/lib/Basic/ProfileList.cpp
M clang/lib/Basic/Stack.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
M clang/lib/CIR/CodeGen/CIRGenConstantEmitter.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
A clang/lib/CIR/CodeGen/CIRGenOpenACCClause.h
M clang/lib/CIR/CodeGen/CIRGenRecordLayout.h
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
A clang/lib/CIR/CodeGen/CIRGenStmtOpenACCLoop.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/CodeGen/TargetInfo.cpp
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/IR/CMakeLists.txt
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
A clang/lib/CIR/Dialect/Transforms/CIRSimplify.cpp
M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/Lowering/CIRPasses.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CIR/Lowering/LoweringHelpers.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBlocks.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGStmtOpenMP.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/CodeGenModule.h
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CrossTU/CrossTranslationUnit.cpp
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Distro.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/Job.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.h
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/Driver/ToolChains/UEFI.cpp
M clang/lib/Format/DefinitionBlockSeparator.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenLexer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/ASTMerge.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/HeaderIncludeGen.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Frontend/Rewrite/FrontendActions.cpp
M clang/lib/Headers/arm_acle.h
M clang/lib/Headers/avx512fp16intrin.h
M clang/lib/Headers/float.h
M clang/lib/Headers/gpuintrin.h
M clang/lib/Headers/hlsl/hlsl_compat_overloads.h
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/riscv_corev_alu.h
M clang/lib/Index/IndexingContext.h
M clang/lib/InstallAPI/DiagnosticBuilderWrappers.cpp
M clang/lib/InstallAPI/DiagnosticBuilderWrappers.h
M clang/lib/InstallAPI/DylibVerifier.cpp
M clang/lib/Interpreter/DeviceOffload.cpp
M clang/lib/Interpreter/DeviceOffload.h
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/InitHeaderSearch.cpp
M clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Lex/ModuleMapFile.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPExpressions.cpp
M clang/lib/Lex/Pragma.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/JumpDiagnostics.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaOpenACCClauseAppertainment.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPPC.cpp
M clang/lib/Sema/SemaPseudoObject.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaStmt.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/TreeTransform.h
M clang/lib/Sema/TypeLocBuilder.h
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTCommon.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ModuleCache.cpp
M clang/lib/Serialization/ModuleManager.cpp
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoTesterChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/cert/InvalidPtrChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
M clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
M clang/lib/Testing/TestAST.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/InProcessModuleCache.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Tooling/Inclusions/Stdlib/StandardLibrary.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
M clang/test/APINotes/Inputs/Headers/SwiftImportAs.h
M clang/test/APINotes/swift-import-as.cpp
M clang/test/AST/ByteCode/arrays.cpp
M clang/test/AST/ByteCode/builtin-constant-p.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/constexpr-frame-describe.cpp
R clang/test/AST/ByteCode/constexpr-subobj-initialization.cpp
M clang/test/AST/ByteCode/cxx11-pedantic.cpp
M clang/test/AST/ByteCode/cxx11.cpp
A clang/test/AST/ByteCode/dynalloc-limits.cpp
M clang/test/AST/ByteCode/lifetimes.cpp
M clang/test/AST/ByteCode/literals.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/AST/ByteCode/unions.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
A clang/test/AST/HLSL/PackedStruct.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/AST/HLSL/resource_binding_attr.hlsl
A clang/test/AST/ast-crash-dump-mangled-name-json.m
M clang/test/ASTMerge/struct/test.c
M clang/test/Analysis/Checkers/WebKit/call-args-checked-ptr.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
A clang/test/Analysis/issue-137252.cpp
M clang/test/C/C23/n2607.c
M clang/test/C/C23/n3030.c
A clang/test/C/C23/n3037.c
A clang/test/C/C23/n3037_1.c
M clang/test/C/C2y/n3353.c
M clang/test/C/C2y/n3369.c
M clang/test/C/drs/dr0xx.c
M clang/test/C/drs/dr1xx.c
M clang/test/CIR/CodeGen/basic.cpp
M clang/test/CIR/CodeGen/call.cpp
A clang/test/CIR/CodeGen/compound_assign.cpp
A clang/test/CIR/CodeGen/linkage-spec.cpp
M clang/test/CIR/CodeGen/loop.cpp
A clang/test/CIR/CodeGen/namespace.cpp
A clang/test/CIR/CodeGen/nonzeroinit-struct.cpp
A clang/test/CIR/CodeGen/pointers.cpp
M clang/test/CIR/CodeGen/struct.cpp
A clang/test/CIR/CodeGen/switch.cpp
M clang/test/CIR/CodeGen/union.c
A clang/test/CIR/CodeGen/union.cpp
A clang/test/CIR/CodeGen/vector-ext.cpp
A clang/test/CIR/CodeGen/vector.cpp
M clang/test/CIR/CodeGenOpenACC/data.c
M clang/test/CIR/CodeGenOpenACC/kernels.c
A clang/test/CIR/CodeGenOpenACC/loop.cpp
M clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
M clang/test/CIR/IR/call.cir
M clang/test/CIR/IR/invalid-call.cir
A clang/test/CIR/IR/invalid-long-double.cir
A clang/test/CIR/IR/invalid-vector-create-wrong-size.cir
A clang/test/CIR/IR/invalid-vector-create-wrong-type.cir
A clang/test/CIR/IR/invalid-vector-zero-size.cir
A clang/test/CIR/IR/invalid-vector.cir
A clang/test/CIR/IR/switch.cir
A clang/test/CIR/IR/ternary.cir
A clang/test/CIR/IR/vector.cir
A clang/test/CIR/Lowering/ternary.cir
A clang/test/CIR/Transforms/select.cir
A clang/test/CIR/Transforms/ternary-fold.cir
A clang/test/CIR/Transforms/ternary.cir
M clang/test/CMakeLists.txt
M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.deprecated/p1.cpp
M clang/test/CXX/drs/cwg1xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
A clang/test/CXX/drs/cwg30xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg5xx.cpp
M clang/test/CXX/module/module.interface/p3.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p1.cpp
A clang/test/ClangScanDeps/export.c
M clang/test/ClangScanDeps/modules-canononical-module-map-case.c
M clang/test/ClangScanDeps/optimize-vfs-pch.m
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bdep.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bext.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bgrp.c
M clang/test/CodeGen/AArch64/targetattr.c
M clang/test/CodeGen/RISCV/riscv-v-debuginfo.c
M clang/test/CodeGen/RISCV/riscv-xcvalu-c-api.c
M clang/test/CodeGen/RISCV/riscv-xcvalu.c
M clang/test/CodeGen/X86/avx512fp16-builtins-constrained-cmp.c
M clang/test/CodeGen/X86/avx512fp16-builtins.c
R clang/test/CodeGen/arm-former-microsoft-intrinsics-header-warning.c
R clang/test/CodeGen/arm-former-microsoft-intrinsics.c
M clang/test/CodeGen/arm-microsoft-intrinsics.c
R clang/test/CodeGen/arm64-former-microsoft-intrinsics-header-warning.c
R clang/test/CodeGen/arm64-former-microsoft-intrinsics.c
M clang/test/CodeGen/arm64-microsoft-intrinsics.c
M clang/test/CodeGen/bounds-checking-debuginfo.c
M clang/test/CodeGen/builtins-arm-microsoft.c
M clang/test/CodeGen/lifetime-sanitizer.c
M clang/test/CodeGen/ms_abi.c
M clang/test/CodeGen/profile-filter.c
A clang/test/CodeGen/ptrauth-in-c-struct.c
A clang/test/CodeGen/ptrauth-qualifier-blocks.c
M clang/test/CodeGen/sysv_abi.c
M clang/test/CodeGenCXX/amdgcn-automatic-variable.cpp
A clang/test/CodeGenCXX/cxx20-module-initializer-pacbti.cpp
A clang/test/CodeGenCXX/cxx2c-trivially-relocatable.cpp
A clang/test/CodeGenCXX/fake-use-musttail.cpp
M clang/test/CodeGenCXX/lifetime-sanitizer.cpp
A clang/test/CodeGenCXX/mangle-ms-matrix.cpp
M clang/test/CodeGenCXX/nullptr.cpp
M clang/test/CodeGenCXX/visibility.cpp
M clang/test/CodeGenHLSL/ArrayAssignable.hlsl
M clang/test/CodeGenHLSL/ArrayTemporary.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/AggregateSplatCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/ArrayElementwiseCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/OutputArguments.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/StructElementwiseCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
M clang/test/CodeGenHLSL/BoolVector.hlsl
M clang/test/CodeGenHLSL/builtins/AppendStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/ConsumeStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor-opt.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
A clang/test/CodeGenHLSL/builtins/clamp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/clamp.hlsl
M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
A clang/test/CodeGenHLSL/builtins/isinf-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/isinf.hlsl
A clang/test/CodeGenHLSL/builtins/ldexp.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/max-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/max.hlsl
A clang/test/CodeGenHLSL/builtins/min-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/min.hlsl
M clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
M clang/test/CodeGenHLSL/cbuffer.hlsl
M clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
M clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
M clang/test/CodeGenHLSL/resource-bindings.hlsl
M clang/test/CodeGenHLSL/sret_output.hlsl
M clang/test/CodeGenHLSL/this-assignment-overload.hlsl
M clang/test/CodeGenHLSL/this-assignment.hlsl
M clang/test/CodeGenHLSL/this-reference.hlsl
M clang/test/CodeGenObjCXX/arc-rv-attr.mm
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgcn-automatic-variable.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/amdgpu-nullptr.cl
M clang/test/CodeGenOpenCL/blocks.cl
M clang/test/CodeGenOpenCL/builtins-alloca.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue.cl
M clang/test/CodeGenOpenCL/convergent.cl
M clang/test/CodeGenOpenCL/enqueue-kernel-non-entry-block.cl
M clang/test/CodeGenOpenCL/implicit-addrspacecast-function-parameter.cl
M clang/test/CodeGenOpenCL/kernel-attributes.cl
M clang/test/CodeGenOpenCL/opencl-kernel-call.cl
A clang/test/Driver/Inputs/DriverKit19.0.sdk/System/DriverKit/System/Library/SubFrameworks/.keep
A clang/test/Driver/Inputs/MacOSX15.1.sdk/Library/Frameworks/.keep
A clang/test/Driver/Inputs/MacOSX15.1.sdk/System/Library/Frameworks/.keep
A clang/test/Driver/Inputs/MacOSX15.1.sdk/System/Library/SubFrameworks/.keep
M clang/test/Driver/arm-features.c
M clang/test/Driver/arm-mfpu.c
A clang/test/Driver/attr-availability-erroneous-diags.c
M clang/test/Driver/clang-offload-bundler-standardize.c
M clang/test/Driver/clang_f_opts.c
A clang/test/Driver/clang_f_opts_withspaces.c
A clang/test/Driver/darwin-framework-search-paths.c
A clang/test/Driver/darwin-header-search-libcxx-2.cpp
M clang/test/Driver/darwin-header-search-libcxx.cpp
R clang/test/Driver/darwin-subframeworks.c
M clang/test/Driver/driverkit-path.c
A clang/test/Driver/dxc_I.test
A clang/test/Driver/dxc_fspv_extension.hlsl
M clang/test/Driver/emulated-tls.cpp
M clang/test/Driver/extend-variable-liveness.c
M clang/test/Driver/fprofile-generate-cold-function-coverage.c
M clang/test/Driver/fsanitize-coverage.c
M clang/test/Driver/fsanitize.c
M clang/test/Driver/fveclib.c
M clang/test/Driver/mcmodel.c
M clang/test/Driver/openmp-offload-gpu.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a510.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a710.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a715.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a725.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-r82.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-r82ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x2.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x3.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x4.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x925.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-512tvb.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n2.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n3.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3ae.c
A clang/test/Driver/print-enabled-extensions/riscv-sifive-p870.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Driver/sanitizer-ld.c
M clang/test/Driver/solaris-ld.c
M clang/test/Driver/uefi-constructed-args.c
M clang/test/Driver/unknown-std.c
M clang/test/Driver/x86-mabi.c
M clang/test/FixIt/fixit.cpp
M clang/test/Headers/Inputs/include/stdint.h
M clang/test/Headers/ms-intrin.cpp
M clang/test/Index/pipe-size.cl
M clang/test/Lexer/char8_t.cpp
M clang/test/Misc/amdgcn.languageOptsOpenCL.cl
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Misc/r600.languageOptsOpenCL.cl
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M clang/test/Misc/time-passes.c
M clang/test/Misc/warning-flags-enabled.c
A clang/test/Modules/Inputs/shadow/A1/A1.h
M clang/test/Modules/Inputs/shadow/A1/module.modulemap
A clang/test/Modules/Inputs/shadow/A2/A2.h
M clang/test/Modules/Inputs/shadow/A2/module.modulemap
M clang/test/Modules/Inputs/submodules/module.modulemap
A clang/test/Modules/befriend.cppm
A clang/test/Modules/emit-module-interface-pcm-input.cpp
A clang/test/Modules/invalid-module-dep.c
A clang/test/Modules/lazy-by-name-lookup.c
M clang/test/Modules/missing-header.m
M clang/test/Modules/shadow.m
M clang/test/OpenMP/assumes_messages.c
M clang/test/OpenMP/irbuilder_nested_parallel_for.c
M clang/test/OpenMP/metadirective_ast_print.c
A clang/test/OpenMP/metadirective_default.cpp
M clang/test/OpenMP/metadirective_messages.cpp
M clang/test/OpenMP/metadirective_otherwise.cpp
M clang/test/OpenMP/nested_loop_codegen.cpp
M clang/test/OpenMP/openmp_attribute_parsing.cpp
M clang/test/OpenMP/parallel_codegen.cpp
M clang/test/Parser/c2x-attributes.c
M clang/test/Parser/cxx0x-attributes.cpp
M clang/test/Parser/cxx1z-fold-expressions.cpp
A clang/test/Parser/cxx2c-trivially-relocatable.cpp
A clang/test/Parser/gh137861.cpp
M clang/test/Parser/typeof.c
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
M clang/test/ParserOpenACC/parse-clauses.c
A clang/test/Preprocessor/_Pragma-in-include.c
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/arm-target-features.c
R clang/test/Preprocessor/cuda-macos-includes.cu
M clang/test/Preprocessor/init.c
A clang/test/Preprocessor/macro_reserved.i
M clang/test/Preprocessor/predefined-macros.c
M clang/test/Preprocessor/print-header-json.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/x86_target_features.c
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_aes_bitperm_sha3_sm4.cpp
M clang/test/Sema/assign.c
M clang/test/Sema/atomic-ops.c
A clang/test/Sema/attr-nonstring.c
M clang/test/Sema/attr-ownership.c
M clang/test/Sema/block-return.c
M clang/test/Sema/builtins-bpf.c
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/Sema/builtins-overflow.c
A clang/test/Sema/c++-keyword-in-c.c
A clang/test/Sema/c++-keyword-in-objc.m
A clang/test/Sema/c23-decl-in-prototype.c
M clang/test/Sema/callingconv-ms_abi.c
A clang/test/Sema/decl-hidden-in-c++.c
M clang/test/Sema/decl-in-prototype.c
M clang/test/Sema/enable_if.c
M clang/test/Sema/enum.c
M clang/test/Sema/implicit-cast.c
M clang/test/Sema/implicit-decl.c
A clang/test/Sema/implicit-int-enum-conversion.c
M clang/test/Sema/implicit-void-ptr-cast.c
M clang/test/Sema/init-randomized-struct.c
M clang/test/Sema/integer-overflow.c
M clang/test/Sema/overloadable.c
M clang/test/Sema/patchable-function-entry-attr.cpp
M clang/test/Sema/ptrauth-qualifier.c
A clang/test/Sema/ptrauth-struct-function-ptr-field.c
M clang/test/Sema/riscv-interrupt-attr-qci.c
A clang/test/Sema/riscv-interrupt-attr-sifive.c
M clang/test/Sema/riscv-interrupt-attr.c
M clang/test/Sema/sizeless-1.c
M clang/test/Sema/typedef-retain.c
A clang/test/Sema/unknown-attributes.c
M clang/test/Sema/varargs-win64.c
M clang/test/Sema/varargs-x86-64.c
A clang/test/Sema/warn-default-const-init.c
A clang/test/Sema/warn-duplicate-decl-specifier.c
A clang/test/Sema/warn-jump-bypasses-init.c
A clang/test/Sema/warn-nontrivial-struct-memaccess-ptrauth.c
A clang/test/Sema/warn-tentative-defn-compat.c
M clang/test/Sema/warn-unused-function.c
A clang/test/SemaCUDA/overloaded-builtin.cu
M clang/test/SemaCXX/MicrosoftCompatibility.cpp
M clang/test/SemaCXX/MicrosoftExtensions.cpp
M clang/test/SemaCXX/MicrosoftSuper.cpp
M clang/test/SemaCXX/attr-trivial-abi.cpp
A clang/test/SemaCXX/bug149071318.cpp
M clang/test/SemaCXX/builtin-object-size-cxx14.cpp
M clang/test/SemaCXX/concept-crash-on-diagnostic.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/cxx1y-variable-templates_in_class.cpp
M clang/test/SemaCXX/cxx1y-variable-templates_top_level.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
M clang/test/SemaCXX/cxx2a-ms-no-unique-address.cpp
A clang/test/SemaCXX/cxx2c-trivially-relocatable.cpp
A clang/test/SemaCXX/gh138775.cpp
M clang/test/SemaCXX/gnu-asm-constexpr.cpp
M clang/test/SemaCXX/lambda-unevaluated.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
M clang/test/SemaCXX/paren-list-agg-init.cpp
M clang/test/SemaCXX/ptrauth-qualifier.cpp
A clang/test/SemaCXX/ptrauth-triviality.cpp
M clang/test/SemaCXX/rounding-math-crash.cpp
M clang/test/SemaCXX/static-assert-cxx26.cpp
A clang/test/SemaCXX/type-aware-new-delete-transparent-contexts.cpp
M clang/test/SemaCXX/type-traits-nonobject.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/test/SemaCXX/unknown-type-name.cpp
M clang/test/SemaCXX/vla.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
M clang/test/SemaCXX/warn-thread-safety-parsing.cpp
A clang/test/SemaHLSL/BuiltIns/ldexp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
A clang/test/SemaHLSL/Language/InitIncompleteArrays.hlsl
M clang/test/SemaHLSL/Language/InitListAST.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error.hlsl
M clang/test/SemaHLSL/resource_binding_implicit.hlsl
M clang/test/SemaObjC/message.m
M clang/test/SemaOpenACC/atomic-construct.cpp
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-default-clause.c
M clang/test/SemaOpenACC/combined-construct-default-clause.cpp
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/combined-construct-gang-clause.cpp
M clang/test/SemaOpenACC/combined-construct-num_gangs-clause.c
M clang/test/SemaOpenACC/combined-construct-num_workers-clause.c
M clang/test/SemaOpenACC/combined-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/combined-construct-self-clause.c
M clang/test/SemaOpenACC/combined-construct-self-clause.cpp
M clang/test/SemaOpenACC/combined-construct-vector-clause.cpp
M clang/test/SemaOpenACC/combined-construct-vector_length-clause.c
M clang/test/SemaOpenACC/combined-construct-worker-clause.cpp
M clang/test/SemaOpenACC/combined-construct.cpp
M clang/test/SemaOpenACC/compute-construct-async-clause.c
M clang/test/SemaOpenACC/compute-construct-default-clause.c
M clang/test/SemaOpenACC/compute-construct-default-clause.cpp
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-num_gangs-clause.c
M clang/test/SemaOpenACC/compute-construct-num_workers-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/compute-construct-self-clause.c
M clang/test/SemaOpenACC/compute-construct-self-clause.cpp
M clang/test/SemaOpenACC/compute-construct-vector_length-clause.c
M clang/test/SemaOpenACC/data-construct-async-clause.c
M clang/test/SemaOpenACC/data-construct-default-clause.c
M clang/test/SemaOpenACC/data-construct-device_type-clause.c
M clang/test/SemaOpenACC/data-construct-if-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
M clang/test/SemaOpenACC/init-construct.cpp
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/test/SemaOpenACC/loop-construct-gang-clause.cpp
M clang/test/SemaOpenACC/loop-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/loop-construct-tile-clause.cpp
M clang/test/SemaOpenACC/loop-construct-vector-clause.cpp
M clang/test/SemaOpenACC/loop-construct-worker-clause.cpp
M clang/test/SemaOpenACC/loop-construct.cpp
M clang/test/SemaOpenACC/routine-construct-clauses.cpp
M clang/test/SemaOpenACC/set-construct.cpp
M clang/test/SemaOpenACC/shutdown-construct.cpp
M clang/test/SemaOpenACC/update-construct.cpp
M clang/test/SemaOpenCL/cl20-device-side-enqueue.cl
M clang/test/SemaOpenCL/invalid-block.cl
M clang/test/SemaOpenMP/atomic-capture-const-no-crash.c
M clang/test/SemaTemplate/cxx1z-fold-expressions.cpp
M clang/test/SemaTemplate/instantiate-var-template.cpp
M clang/test/SemaTemplate/typename-specifier-3.cpp
M clang/test/lit.cfg.py
M clang/test/lit.site.cfg.py.in
M clang/tools/CMakeLists.txt
M clang/tools/c-index-test/c-index-test.c
M clang/tools/c-index-test/core_main.cpp
M clang/tools/cir-opt/cir-opt.cpp
M clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp
M clang/tools/clang-import-test/clang-import-test.cpp
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-shlib/CMakeLists.txt
M clang/tools/driver/CMakeLists.txt
M clang/tools/driver/cc1_main.cpp
M clang/tools/driver/driver.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CIndexer.cpp
M clang/tools/libclang/CMakeLists.txt
M clang/tools/libclang/CXCursor.cpp
M clang/tools/libclang/CXIndexDataConsumer.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/ExternalASTSourceTest.cpp
M clang/unittests/AST/StructuralEquivalenceTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M clang/unittests/Analysis/FlowSensitive/SimplifyConstraintsTest.cpp
M clang/unittests/Analysis/MacroExpansionContextTest.cpp
M clang/unittests/Basic/CMakeLists.txt
A clang/unittests/Basic/OffloadArchTest.cpp
M clang/unittests/Basic/SourceManagerTest.cpp
M clang/unittests/CMakeLists.txt
M clang/unittests/CodeGen/TestCompiler.h
M clang/unittests/Driver/ModuleCacheTest.cpp
M clang/unittests/Driver/ToolChainTest.cpp
M clang/unittests/Format/CMakeLists.txt
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/DefinitionBlockSeparatorTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestCSharp.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/ASTUnitTest.cpp
M clang/unittests/Frontend/CMakeLists.txt
M clang/unittests/Frontend/CodeGenActionTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Frontend/FrontendActionTest.cpp
M clang/unittests/Frontend/OutputStreamTest.cpp
A clang/unittests/Frontend/SearchPathTest.cpp
M clang/unittests/Frontend/UtilsTest.cpp
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt
M clang/unittests/Lex/HeaderSearchTest.cpp
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
M clang/unittests/Lex/LexerTest.cpp
M clang/unittests/Lex/ModuleDeclStateTest.cpp
M clang/unittests/Lex/PPCallbacksTest.cpp
M clang/unittests/Lex/PPConditionalDirectiveRecordTest.cpp
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
M clang/unittests/Lex/PPMemoryAllocationsTest.cpp
M clang/unittests/Parse/CMakeLists.txt
M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
M clang/unittests/Sema/SemaNoloadLookupTest.cpp
M clang/unittests/Serialization/ForceCheckFileInputTest.cpp
M clang/unittests/Serialization/LoadSpecLazilyTest.cpp
M clang/unittests/Serialization/ModuleCacheTest.cpp
M clang/unittests/Serialization/NoCommentsTest.cpp
M clang/unittests/Serialization/PreambleInNamedModulesTest.cpp
M clang/unittests/Serialization/VarDeclConstantInitTest.cpp
M clang/unittests/StaticAnalyzer/CallDescriptionTest.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M clang/unittests/Tooling/CompilationDatabaseTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp
M clang/unittests/Tooling/QualTypeNamesTest.cpp
M clang/unittests/Tooling/Syntax/TokensTest.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.cpp
M clang/unittests/libclang/CrashTests/CMakeLists.txt
M clang/utils/ClangVisualizers/clang.natvis
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangBuiltinTemplatesEmitter.cpp
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
M clang/www/menu.html.incl
M cmake/Modules/CMakePolicy.cmake
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/include/fuzzer/FuzzedDataProvider.h
M compiler-rt/lib/asan/asan_fuchsia.cpp
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/clzdi2.c
M compiler-rt/lib/builtins/cpu_model/riscv.c
M compiler-rt/lib/hwasan/hwasan_fuchsia.cpp
M compiler-rt/lib/lsan/lsan_fuchsia.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
M compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
M compiler-rt/lib/tysan/tysan.cpp
M compiler-rt/lib/ubsan/ubsan_init_standalone.cpp
M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
M compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp
M compiler-rt/test/asan/TestCases/zero_page_pc.cpp
M compiler-rt/test/lit.common.configured.in
M compiler-rt/test/profile/instrprof-api.c
M compiler-rt/test/profile/instrprof-reset-counters.c
A compiler-rt/test/tysan/derrived_default_constructor.cpp
A compiler-rt/test/tysan/inherited_member.cpp
M compiler-rt/test/ubsan/CMakeLists.txt
M compiler-rt/test/ubsan_minimal/CMakeLists.txt
A compiler-rt/test/ubsan_minimal/TestCases/icall.c
M compiler-rt/test/ubsan_minimal/TestCases/override-callback.c
M compiler-rt/test/ubsan_minimal/lit.common.cfg.py
M compiler-rt/test/ubsan_minimal/lit.site.cfg.py.in
M flang-rt/CODE_OWNERS.TXT
M flang-rt/README.md
M flang-rt/lib/runtime/character.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang/CMakeLists.txt
R flang/cmake/modules/AddFlangOffloadRuntime.cmake
M flang/docs/Aliasing.md
M flang/docs/CMakeLists.txt
M flang/docs/Extensions.md
M flang/docs/FortranForCProgrammers.md
M flang/docs/FortranStandardsSupport.md
M flang/docs/OpenMPSupport.md
M flang/docs/ReleaseNotes.md
M flang/docs/doxygen.cfg.in
M flang/examples/CMakeLists.txt
R flang/examples/ExternalHelloWorld/CMakeLists.txt
M flang/include/flang/Evaluate/constant.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Lower/ConvertExprToHLFIR.h
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Lower/DirectivesCommon.h
M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
M flang/include/flang/Optimizer/Analysis/TBAAForest.h
M flang/include/flang/Optimizer/Builder/BoxValue.h
M flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/OpenMP/Passes.td
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Support/Fortran-features.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Evaluate/CMakeLists.txt
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/HostAssociations.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Analysis/TBAAForest.cpp
M flang/lib/Optimizer/Builder/Character.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
A flang/lib/Optimizer/OpenMP/LowerNontemporal.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Optimizer/Transforms/AffinePromotion.cpp
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
M flang/lib/Parser/CMakeLists.txt
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/CMakeLists.txt
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/module/cudadevice.f90
M flang/module/iso_c_binding.f90
R flang/runtime/CMakeLists.txt
R flang/runtime/CUDA/CMakeLists.txt
R flang/runtime/Float128Math/CMakeLists.txt
M flang/test/CMakeLists.txt
M flang/test/Driver/flang-ld-powerpc.f90
A flang/test/Driver/func-attr-instrument-functions.f90
M flang/test/Driver/fveclib-codegen.f90
M flang/test/Driver/fveclib.f90
M flang/test/Driver/mcmodel.f90
M flang/test/Driver/predefined-macros-powerpc2.f90
M flang/test/Fir/CUDA/cuda-implicit-device-global.f90
M flang/test/Fir/affine-promotion.fir
M flang/test/Fir/basic-program.fir
A flang/test/Fir/convert-nontemporal-to-llvm.fir
M flang/test/Fir/convert-to-llvm-target.fir
M flang/test/Fir/cse.fir
M flang/test/Fir/do_concurrent.fir
M flang/test/Fir/invalid.fir
A flang/test/Fir/simd-nontemporal.fir
M flang/test/Fir/target-rewrite-integer.fir
A flang/test/Fir/volatile.fir
A flang/test/Fir/volatile2.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-maxloc.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-maxval.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-minloc.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-minval.fir
A flang/test/HLFIR/volatile.fir
M flang/test/HLFIR/volatile1.fir
M flang/test/HLFIR/volatile2.fir
M flang/test/HLFIR/volatile3.fir
M flang/test/HLFIR/volatile4.fir
M flang/test/Lower/HLFIR/designators-component-ref.f90
M flang/test/Lower/OpenACC/acc-declare-globals.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-serial.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-allocatable.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
A flang/test/Lower/OpenMP/Todo/atomic-capture-implicit-cast.f90
A flang/test/Lower/OpenMP/Todo/declare-variant.f90
M flang/test/Lower/OpenMP/Todo/firstprivate-target.f90
R flang/test/Lower/OpenMP/Todo/task-inreduction.f90
R flang/test/Lower/OpenMP/Todo/taskgroup-task-reduction.f90
R flang/test/Lower/OpenMP/Todo/taskloop-cancel.f90
R flang/test/Lower/OpenMP/Todo/taskloop.f90
A flang/test/Lower/OpenMP/atomic-implicit-cast.f90
M flang/test/Lower/OpenMP/atomic-update.f90
M flang/test/Lower/OpenMP/cray-pointers01.f90
A flang/test/Lower/OpenMP/masked_taskloop.f90
R flang/test/Lower/OpenMP/master_taskloop.f90
M flang/test/Lower/OpenMP/omp-declare-target-program-var.f90
A flang/test/Lower/OpenMP/parallel-masked-taskloop.f90
R flang/test/Lower/OpenMP/parallel-master-taskloop.f90
A flang/test/Lower/OpenMP/sections-predetermined-private.f90
A flang/test/Lower/OpenMP/task-inreduction.f90
A flang/test/Lower/OpenMP/taskgroup-task-array-reduction.f90
A flang/test/Lower/OpenMP/taskgroup-task_reduction01.f90
A flang/test/Lower/OpenMP/taskgroup-task_reduction02.f90
A flang/test/Lower/OpenMP/taskloop-cancel.f90
A flang/test/Lower/OpenMP/taskloop.f90
M flang/test/Lower/OpenMP/threadprivate-host-association-2.f90
M flang/test/Lower/OpenMP/threadprivate-host-association-3.f90
A flang/test/Lower/OpenMP/threadprivate-lenparams.f90
M flang/test/Lower/OpenMP/threadprivate-non-global.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocate-source-allocatables-2.f90
M flang/test/Lower/allocate-source-allocatables.f90
M flang/test/Lower/allocate-source-pointers.f90
M flang/test/Lower/do_concurrent.f90
M flang/test/Lower/do_concurrent_local_default_init.f90
M flang/test/Lower/loops.f90
M flang/test/Lower/loops3.f90
M flang/test/Lower/nsw.f90
A flang/test/Lower/volatile-allocatable.f90
A flang/test/Lower/volatile-allocatable1.f90
A flang/test/Lower/volatile-derived-type-pointer.f90
A flang/test/Lower/volatile-derived-type.f90
A flang/test/Lower/volatile-openmp.f90
A flang/test/Lower/volatile-string.f90
A flang/test/Lower/volatile1.f90
A flang/test/Lower/volatile2.f90
A flang/test/Lower/volatile3.f90
A flang/test/Lower/volatile4.f90
A flang/test/Parser/OpenMP/declare-variant.f90
A flang/test/Preprocessing/pp048.F
M flang/test/Semantics/OpenMP/allocate04.f90
A flang/test/Semantics/OpenMP/declare-variant.f90
A flang/test/Semantics/OpenMP/detach01.f90
A flang/test/Semantics/OpenMP/detach02.f90
M flang/test/Semantics/OpenMP/nested-simd.f90
M flang/test/Semantics/assign02.f90
M flang/test/Semantics/call03.f90
A flang/test/Semantics/cuf20.cuf
M flang/test/Semantics/declarations08.f90
A flang/test/Semantics/resolve125.f90
M flang/test/Transforms/DoConcurrent/basic_device.mlir
M flang/test/Transforms/DoConcurrent/basic_host.mlir
R flang/test/Transforms/DoConcurrent/loop_nest_test.f90
M flang/test/Transforms/DoConcurrent/not_perfectly_nested.f90
M flang/test/Transforms/tbaa-with-dummy-scope.fir
M flang/test/Transforms/tbaa-with-dummy-scope2.fir
M flang/test/Transforms/tbaa.fir
M flang/test/Transforms/tbaa2.fir
A flang/test/Transforms/tbaa3.fir
A flang/test/Transforms/tbaa4.fir
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M flang/tools/f18/CMakeLists.txt
M flang/unittests/CMakeLists.txt
M flang/unittests/Evaluate/CMakeLists.txt
R flang/unittests/Runtime/CMakeLists.txt
R flang/unittests/Runtime/CUDA/CMakeLists.txt
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/arm/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/docs/gpu/rpc.rst
M libc/docs/headers/math/index.rst
M libc/docs/headers/stdfix.rst
M libc/hdr/CMakeLists.txt
A libc/hdr/offsetof_macros.h
M libc/include/assert.h.def
M libc/include/llvm-libc-types/CMakeLists.txt
M libc/include/llvm-libc-types/jmp_buf.h
M libc/include/math.yaml
M libc/include/setjmp.yaml
M libc/include/stdfix.yaml
M libc/include/stdlib.yaml
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/nearest_integer.h
M libc/src/__support/FPUtil/sqrt.h
M libc/src/__support/fixed_point/CMakeLists.txt
M libc/src/__support/fixed_point/fx_bits.h
M libc/src/__support/macros/null_check.h
M libc/src/math/CMakeLists.txt
A libc/src/math/acospif16.h
A libc/src/math/atanhf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/acos.cpp
A libc/src/math/generic/acospif16.cpp
A libc/src/math/generic/asin.cpp
A libc/src/math/generic/asin_utils.h
A libc/src/math/generic/atanhf16.cpp
M libc/src/math/generic/common_constants.cpp
M libc/src/math/generic/common_constants.h
M libc/src/math/generic/explogxf.h
M libc/src/setjmp/CMakeLists.txt
M libc/src/setjmp/aarch64/CMakeLists.txt
A libc/src/setjmp/aarch64/sigsetjmp.cpp
A libc/src/setjmp/linux/CMakeLists.txt
A libc/src/setjmp/linux/sigsetjmp_epilogue.cpp
M libc/src/setjmp/riscv/CMakeLists.txt
A libc/src/setjmp/riscv/sigsetjmp.cpp
M libc/src/setjmp/setjmp_impl.h
A libc/src/setjmp/siglongjmp.cpp
A libc/src/setjmp/siglongjmp.h
A libc/src/setjmp/sigsetjmp.h
A libc/src/setjmp/sigsetjmp_epilogue.h
M libc/src/setjmp/x86_64/CMakeLists.txt
M libc/src/setjmp/x86_64/setjmp.cpp
A libc/src/setjmp/x86_64/sigsetjmp.cpp
M libc/src/stdfix/CMakeLists.txt
A libc/src/stdfix/idivk.cpp
A libc/src/stdfix/idivk.h
A libc/src/stdfix/idivlk.cpp
A libc/src/stdfix/idivlk.h
A libc/src/stdfix/idivlr.cpp
A libc/src/stdfix/idivlr.h
A libc/src/stdfix/idivr.cpp
A libc/src/stdfix/idivr.h
A libc/src/stdfix/idivuk.cpp
A libc/src/stdfix/idivuk.h
A libc/src/stdfix/idivulk.cpp
A libc/src/stdfix/idivulk.h
A libc/src/stdfix/idivulr.cpp
A libc/src/stdfix/idivulr.h
A libc/src/stdfix/idivur.cpp
A libc/src/stdfix/idivur.h
M libc/src/stdio/printf_core/core_structs.h
M libc/src/stdlib/qsort_r.h
M libc/src/string/memory_utils/aarch64/inline_bcmp.h
M libc/src/string/memory_utils/aarch64/inline_memcmp.h
M libc/src/string/memory_utils/aarch64/inline_memmove.h
M libc/src/string/memory_utils/aarch64/inline_memset.h
M libc/src/string/memory_utils/inline_bcmp.h
M libc/src/string/memory_utils/inline_memcmp.h
M libc/src/string/memory_utils/inline_memset.h
M libc/src/string/memory_utils/op_aarch64.h
M libc/src/sys/stat/linux/chmod.cpp
M libc/test/integration/src/__support/GPU/match.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/acos_test.cpp
A libc/test/src/math/acospif16_test.cpp
A libc/test/src/math/asin_test.cpp
A libc/test/src/math/atanhf16_test.cpp
M libc/test/src/math/exp10m1f_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/acos_test.cpp
A libc/test/src/math/smoke/acospif16_test.cpp
A libc/test/src/math/smoke/asin_test.cpp
A libc/test/src/math/smoke/atanhf16_test.cpp
M libc/test/src/search/lfind_test.cpp
M libc/test/src/search/lsearch_test.cpp
M libc/test/src/setjmp/CMakeLists.txt
A libc/test/src/setjmp/sigsetjmp_test.cpp
M libc/test/src/stdfix/CMakeLists.txt
A libc/test/src/stdfix/IdivTest.h
A libc/test/src/stdfix/idivk_test.cpp
A libc/test/src/stdfix/idivlk_test.cpp
A libc/test/src/stdfix/idivlr_test.cpp
A libc/test/src/stdfix/idivr_test.cpp
A libc/test/src/stdfix/idivuk_test.cpp
A libc/test/src/stdfix/idivulk_test.cpp
A libc/test/src/stdfix/idivulr_test.cpp
A libc/test/src/stdfix/idivur_test.cpp
M libc/utils/MPFRWrapper/MPCommon.cpp
M libc/utils/MPFRWrapper/MPCommon.h
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libc/utils/MPFRWrapper/MPFRUtils.h
M libclc/amdgcn/lib/SOURCES
R libclc/amdgcn/lib/math/fmax.cl
R libclc/amdgcn/lib/math/fmin.cl
M libclc/clc/include/clc/common/clc_degrees.h
M libclc/clc/include/clc/common/clc_radians.h
M libclc/clc/include/clc/common/clc_sign.h
M libclc/clc/include/clc/common/clc_smoothstep.h
M libclc/clc/include/clc/integer/clc_add_sat.h
M libclc/clc/include/clc/integer/clc_clz.h
M libclc/clc/include/clc/integer/clc_ctz.h
M libclc/clc/include/clc/integer/clc_hadd.h
M libclc/clc/include/clc/integer/clc_mad24.h
M libclc/clc/include/clc/integer/clc_mad_sat.h
M libclc/clc/include/clc/integer/clc_mul24.h
M libclc/clc/include/clc/integer/clc_mul_hi.h
M libclc/clc/include/clc/integer/clc_rhadd.h
M libclc/clc/include/clc/integer/clc_rotate.h
M libclc/clc/include/clc/integer/clc_sub_sat.h
M libclc/clc/include/clc/internal/math/clc_sw_fma.h
M libclc/clc/include/clc/math/clc_acos.h
M libclc/clc/include/clc/math/clc_acosh.h
M libclc/clc/include/clc/math/clc_acospi.h
M libclc/clc/include/clc/math/clc_asin.h
M libclc/clc/include/clc/math/clc_asinh.h
M libclc/clc/include/clc/math/clc_asinpi.h
M libclc/clc/include/clc/math/clc_atan.h
M libclc/clc/include/clc/math/clc_atan2.h
M libclc/clc/include/clc/math/clc_atan2pi.h
M libclc/clc/include/clc/math/clc_atanh.h
M libclc/clc/include/clc/math/clc_atanpi.h
M libclc/clc/include/clc/math/clc_cbrt.inc
M libclc/clc/include/clc/math/clc_ceil.h
M libclc/clc/include/clc/math/clc_copysign.h
M libclc/clc/include/clc/math/clc_cosh.h
M libclc/clc/include/clc/math/clc_cospi.h
M libclc/clc/include/clc/math/clc_exp.h
M libclc/clc/include/clc/math/clc_exp10.h
M libclc/clc/include/clc/math/clc_exp2.h
M libclc/clc/include/clc/math/clc_exp_helper.h
M libclc/clc/include/clc/math/clc_expm1.h
M libclc/clc/include/clc/math/clc_fabs.h
A libclc/clc/include/clc/math/clc_fdim.h
M libclc/clc/include/clc/math/clc_floor.h
M libclc/clc/include/clc/math/clc_fma.h
A libclc/clc/include/clc/math/clc_fmax.h
A libclc/clc/include/clc/math/clc_fmin.h
M libclc/clc/include/clc/math/clc_fmod.h
A libclc/clc/include/clc/math/clc_fract.h
M libclc/clc/include/clc/math/clc_frexp.h
M libclc/clc/include/clc/math/clc_hypot.h
M libclc/clc/include/clc/math/clc_lgamma.h
M libclc/clc/include/clc/math/clc_lgamma_r.h
M libclc/clc/include/clc/math/clc_log.h
M libclc/clc/include/clc/math/clc_log10.h
M libclc/clc/include/clc/math/clc_log1p.h
M libclc/clc/include/clc/math/clc_log2.h
M libclc/clc/include/clc/math/clc_mad.h
A libclc/clc/include/clc/math/clc_maxmag.h
A libclc/clc/include/clc/math/clc_minmag.h
M libclc/clc/include/clc/math/clc_modf.h
M libclc/clc/include/clc/math/clc_nan.h
M libclc/clc/include/clc/math/clc_native_cos.h
M libclc/clc/include/clc/math/clc_native_divide.h
M libclc/clc/include/clc/math/clc_native_exp.h
M libclc/clc/include/clc/math/clc_native_exp10.h
M libclc/clc/include/clc/math/clc_native_exp2.h
M libclc/clc/include/clc/math/clc_native_log.h
M libclc/clc/include/clc/math/clc_native_log10.h
M libclc/clc/include/clc/math/clc_native_log2.h
M libclc/clc/include/clc/math/clc_native_powr.h
M libclc/clc/include/clc/math/clc_native_recip.h
M libclc/clc/include/clc/math/clc_native_rsqrt.h
M libclc/clc/include/clc/math/clc_native_sin.h
M libclc/clc/include/clc/math/clc_native_sqrt.h
M libclc/clc/include/clc/math/clc_native_tan.h
M libclc/clc/include/clc/math/clc_nextafter.h
M libclc/clc/include/clc/math/clc_pow.h
M libclc/clc/include/clc/math/clc_pown.h
M libclc/clc/include/clc/math/clc_powr.h
M libclc/clc/include/clc/math/clc_remainder.h
M libclc/clc/include/clc/math/clc_remquo.h
M libclc/clc/include/clc/math/clc_rint.h
M libclc/clc/include/clc/math/clc_rootn.h
M libclc/clc/include/clc/math/clc_round.h
M libclc/clc/include/clc/math/clc_rsqrt.h
M libclc/clc/include/clc/math/clc_sincos_helpers.h
M libclc/clc/include/clc/math/clc_sinh.h
M libclc/clc/include/clc/math/clc_sinpi.h
M libclc/clc/include/clc/math/clc_sqrt.h
M libclc/clc/include/clc/math/clc_tanh.h
M libclc/clc/include/clc/math/clc_tanpi.h
M libclc/clc/include/clc/math/clc_tgamma.h
M libclc/clc/include/clc/math/clc_trunc.h
M libclc/clc/include/clc/math/gentype.inc
R libclc/clc/include/clc/math/unary_builtin.inc
M libclc/clc/include/clc/relational/clc_bitselect.h
M libclc/clc/include/clc/relational/clc_isfinite.h
M libclc/clc/include/clc/relational/clc_isgreater.h
M libclc/clc/include/clc/relational/clc_isgreaterequal.h
M libclc/clc/include/clc/relational/clc_isless.h
M libclc/clc/include/clc/relational/clc_islessequal.h
M libclc/clc/include/clc/relational/clc_islessgreater.h
M libclc/clc/include/clc/relational/clc_isnormal.h
M libclc/clc/include/clc/relational/clc_isnotequal.h
M libclc/clc/include/clc/relational/clc_isordered.h
M libclc/clc/include/clc/relational/clc_isunordered.h
M libclc/clc/include/clc/relational/clc_signbit.h
A libclc/clc/include/clc/shared/binary_decl_with_scalar_second_arg.inc
A libclc/clc/include/clc/shared/binary_def_with_scalar_second_arg.inc
M libclc/clc/lib/amdgcn/SOURCES
A libclc/clc/lib/amdgcn/math/clc_fmax.cl
A libclc/clc/lib/amdgcn/math/clc_fmin.cl
M libclc/clc/lib/generic/SOURCES
M libclc/clc/lib/generic/common/clc_sign.inc
M libclc/clc/lib/generic/math/clc_asinpi.inc
M libclc/clc/lib/generic/math/clc_atanpi.inc
M libclc/clc/lib/generic/math/clc_ceil.cl
M libclc/clc/lib/generic/math/clc_fabs.cl
A libclc/clc/lib/generic/math/clc_fdim.cl
A libclc/clc/lib/generic/math/clc_fdim.inc
M libclc/clc/lib/generic/math/clc_floor.cl
A libclc/clc/lib/generic/math/clc_fmax.cl
A libclc/clc/lib/generic/math/clc_fmin.cl
A libclc/clc/lib/generic/math/clc_fract.cl
A libclc/clc/lib/generic/math/clc_fract.inc
M libclc/clc/lib/generic/math/clc_hypot.cl
A libclc/clc/lib/generic/math/clc_maxmag.cl
A libclc/clc/lib/generic/math/clc_maxmag.inc
A libclc/clc/lib/generic/math/clc_minmag.cl
A libclc/clc/lib/generic/math/clc_minmag.inc
M libclc/clc/lib/generic/math/clc_rint.cl
M libclc/clc/lib/generic/math/clc_rootn.inc
M libclc/clc/lib/generic/math/clc_round.cl
M libclc/clc/lib/generic/math/clc_tables.cl
M libclc/clc/lib/generic/math/clc_trunc.cl
M libclc/clc/lib/generic/relational/clc_bitselect.cl
M libclc/clc/lib/r600/SOURCES
A libclc/clc/lib/r600/math/clc_fmax.cl
A libclc/clc/lib/r600/math/clc_fmin.cl
M libclc/clspv/lib/shared/vstore_half.cl
M libclc/generic/include/clc/async/async_work_group_copy.h
M libclc/generic/include/clc/async/async_work_group_strided_copy.h
R libclc/generic/include/clc/async/gentype.inc
M libclc/generic/include/clc/async/prefetch.h
M libclc/generic/include/clc/common/degrees.h
M libclc/generic/include/clc/common/radians.h
M libclc/generic/include/clc/common/sign.h
M libclc/generic/include/clc/common/smoothstep.h
M libclc/generic/include/clc/common/step.h
M libclc/generic/include/clc/integer/clz.h
M libclc/generic/include/clc/integer/ctz.h
M libclc/generic/include/clc/integer/hadd.h
R libclc/generic/include/clc/integer/integer-gentype.inc
M libclc/generic/include/clc/integer/mad_hi.h
M libclc/generic/include/clc/integer/mad_sat.h
M libclc/generic/include/clc/integer/mul24.h
M libclc/generic/include/clc/integer/mul_hi.h
M libclc/generic/include/clc/integer/popcount.h
M libclc/generic/include/clc/integer/rhadd.h
M libclc/generic/include/clc/math/acos.h
M libclc/generic/include/clc/math/acosh.h
M libclc/generic/include/clc/math/acospi.h
M libclc/generic/include/clc/math/asin.h
M libclc/generic/include/clc/math/asinh.h
M libclc/generic/include/clc/math/asinpi.h
M libclc/generic/include/clc/math/atan.h
M libclc/generic/include/clc/math/atan2.h
M libclc/generic/include/clc/math/atan2pi.h
M libclc/generic/include/clc/math/atanh.h
M libclc/generic/include/clc/math/atanpi.h
R libclc/generic/include/clc/math/binary_decl_tt.inc
M libclc/generic/include/clc/math/cbrt.h
M libclc/generic/include/clc/math/ceil.h
M libclc/generic/include/clc/math/copysign.h
M libclc/generic/include/clc/math/cos.h
M libclc/generic/include/clc/math/cosh.h
M libclc/generic/include/clc/math/cospi.h
M libclc/generic/include/clc/math/erf.h
M libclc/generic/include/clc/math/erfc.h
M libclc/generic/include/clc/math/exp.h
M libclc/generic/include/clc/math/exp10.h
M libclc/generic/include/clc/math/exp2.h
M libclc/generic/include/clc/math/expm1.h
M libclc/generic/include/clc/math/fabs.h
M libclc/generic/include/clc/math/fdim.h
M libclc/generic/include/clc/math/floor.h
M libclc/generic/include/clc/math/fma.h
M libclc/generic/include/clc/math/fmax.h
M libclc/generic/include/clc/math/fmin.h
M libclc/generic/include/clc/math/fmod.h
M libclc/generic/include/clc/math/fract.h
R libclc/generic/include/clc/math/fract.inc
M libclc/generic/include/clc/math/half_cos.h
M libclc/generic/include/clc/math/half_divide.h
M libclc/generic/include/clc/math/half_exp.h
M libclc/generic/include/clc/math/half_exp10.h
M libclc/generic/include/clc/math/half_exp2.h
M libclc/generic/include/clc/math/half_log.h
M libclc/generic/include/clc/math/half_log10.h
M libclc/generic/include/clc/math/half_log2.h
M libclc/generic/include/clc/math/half_powr.h
M libclc/generic/include/clc/math/half_recip.h
M libclc/generic/include/clc/math/half_rsqrt.h
M libclc/generic/include/clc/math/half_sin.h
M libclc/generic/include/clc/math/half_sqrt.h
M libclc/generic/include/clc/math/half_tan.h
M libclc/generic/include/clc/math/hypot.h
M libclc/generic/include/clc/math/ilogb.h
M libclc/generic/include/clc/math/lgamma.h
M libclc/generic/include/clc/math/lgamma_r.h
M libclc/generic/include/clc/math/log.h
M libclc/generic/include/clc/math/log10.h
M libclc/generic/include/clc/math/log1p.h
M libclc/generic/include/clc/math/log2.h
M libclc/generic/include/clc/math/logb.h
M libclc/generic/include/clc/math/mad.h
M libclc/generic/include/clc/math/maxmag.h
M libclc/generic/include/clc/math/minmag.h
M libclc/generic/include/clc/math/native_cos.h
M libclc/generic/include/clc/math/native_divide.h
M libclc/generic/include/clc/math/native_exp.h
M libclc/generic/include/clc/math/native_exp10.h
M libclc/generic/include/clc/math/native_exp2.h
M libclc/generic/include/clc/math/native_log.h
M libclc/generic/include/clc/math/native_log10.h
M libclc/generic/include/clc/math/native_log2.h
M libclc/generic/include/clc/math/native_powr.h
M libclc/generic/include/clc/math/native_recip.h
M libclc/generic/include/clc/math/native_rsqrt.h
M libclc/generic/include/clc/math/native_sin.h
M libclc/generic/include/clc/math/native_sqrt.h
M libclc/generic/include/clc/math/native_tan.h
M libclc/generic/include/clc/math/nextafter.h
M libclc/generic/include/clc/math/pow.h
M libclc/generic/include/clc/math/pown.h
M libclc/generic/include/clc/math/powr.h
M libclc/generic/include/clc/math/remainder.h
M libclc/generic/include/clc/math/rint.h
M libclc/generic/include/clc/math/rootn.h
M libclc/generic/include/clc/math/round.h
M libclc/generic/include/clc/math/rsqrt.h
M libclc/generic/include/clc/math/sin.h
M libclc/generic/include/clc/math/sinh.h
M libclc/generic/include/clc/math/sinpi.h
M libclc/generic/include/clc/math/sqrt.h
M libclc/generic/include/clc/math/tan.h
M libclc/generic/include/clc/math/tanh.h
M libclc/generic/include/clc/math/tanpi.h
M libclc/generic/include/clc/math/tgamma.h
M libclc/generic/include/clc/math/trunc.h
M libclc/generic/include/clc/relational/bitselect.h
M libclc/generic/include/clc/relational/isfinite.h
M libclc/generic/include/clc/relational/isgreater.h
M libclc/generic/include/clc/relational/isgreaterequal.h
M libclc/generic/include/clc/relational/isless.h
M libclc/generic/include/clc/relational/islessequal.h
M libclc/generic/include/clc/relational/islessgreater.h
M libclc/generic/include/clc/relational/isnormal.h
M libclc/generic/include/clc/relational/isnotequal.h
M libclc/generic/include/clc/relational/isordered.h
M libclc/generic/include/clc/relational/isunordered.h
M libclc/generic/include/clc/relational/signbit.h
M libclc/generic/include/math/clc_tan.h
M libclc/generic/lib/async/async_work_group_copy.cl
M libclc/generic/lib/async/async_work_group_strided_copy.cl
M libclc/generic/lib/async/prefetch.cl
M libclc/generic/lib/math/acos.cl
M libclc/generic/lib/math/acosh.cl
M libclc/generic/lib/math/acospi.cl
M libclc/generic/lib/math/asin.cl
M libclc/generic/lib/math/asinh.cl
M libclc/generic/lib/math/asinpi.cl
M libclc/generic/lib/math/atan.cl
M libclc/generic/lib/math/atanh.cl
M libclc/generic/lib/math/atanpi.cl
M libclc/generic/lib/math/ceil.cl
M libclc/generic/lib/math/fabs.cl
M libclc/generic/lib/math/fdim.cl
R libclc/generic/lib/math/fdim.inc
M libclc/generic/lib/math/floor.cl
M libclc/generic/lib/math/fmax.cl
M libclc/generic/lib/math/fmin.cl
M libclc/generic/lib/math/fract.cl
R libclc/generic/lib/math/fract.inc
M libclc/generic/lib/math/log1p.cl
M libclc/generic/lib/math/maxmag.cl
R libclc/generic/lib/math/maxmag.inc
M libclc/generic/lib/math/minmag.cl
R libclc/generic/lib/math/minmag.inc
M libclc/generic/lib/math/rint.cl
M libclc/generic/lib/math/round.cl
M libclc/generic/lib/math/tables.cl
M libclc/generic/lib/math/trunc.cl
M libclc/generic/lib/shared/vload.cl
M libclc/generic/lib/shared/vstore.cl
M libclc/r600/lib/SOURCES
R libclc/r600/lib/math/fmax.cl
R libclc/r600/lib/math/fmin.cl
M libcxx/CMakeLists.txt
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__bit/bit_floor.h
M libcxx/include/__bit/countl.h
M libcxx/include/__bit/countr.h
M libcxx/include/__bit/popcount.h
M libcxx/include/__configuration/abi.h
M libcxx/include/__configuration/availability.h
M libcxx/include/__cxx03/__algorithm/equal.h
M libcxx/include/__cxx03/__algorithm/for_each.h
M libcxx/include/__cxx03/__algorithm/is_permutation.h
M libcxx/include/__cxx03/__algorithm/iterator_operations.h
M libcxx/include/__cxx03/__algorithm/make_projected.h
M libcxx/include/__cxx03/__algorithm/max.h
M libcxx/include/__cxx03/__algorithm/min.h
M libcxx/include/__cxx03/__algorithm/minmax.h
M libcxx/include/__cxx03/__algorithm/mismatch.h
M libcxx/include/__cxx03/__algorithm/search.h
M libcxx/include/__cxx03/__algorithm/shuffle.h
M libcxx/include/__cxx03/__algorithm/simd_utils.h
M libcxx/include/__cxx03/__algorithm/sort.h
M libcxx/include/__cxx03/__algorithm/three_way_comp_ref_type.h
M libcxx/include/__cxx03/__algorithm/uniform_random_bit_generator_adaptor.h
M libcxx/include/__cxx03/__algorithm/unwrap_iter.h
M libcxx/include/__cxx03/__algorithm/unwrap_range.h
M libcxx/include/__cxx03/__atomic/aliases.h
M libcxx/include/__cxx03/__atomic/atomic.h
M libcxx/include/__cxx03/__atomic/atomic_base.h
M libcxx/include/__cxx03/__atomic/atomic_flag.h
M libcxx/include/__cxx03/__atomic/atomic_init.h
M libcxx/include/__cxx03/__atomic/cxx_atomic_impl.h
M libcxx/include/__cxx03/__atomic/memory_order.h
M libcxx/include/__cxx03/__bit/countl.h
M libcxx/include/__cxx03/__bit/countr.h
M libcxx/include/__cxx03/__bit/popcount.h
M libcxx/include/__cxx03/__bit/rotate.h
M libcxx/include/__cxx03/__bit_reference
M libcxx/include/__cxx03/__chrono/duration.h
M libcxx/include/__cxx03/__chrono/system_clock.h
M libcxx/include/__cxx03/__chrono/time_point.h
M libcxx/include/__cxx03/__config
M libcxx/include/__cxx03/__configuration/language.h
M libcxx/include/__cxx03/__debug_utils/randomize_range.h
M libcxx/include/__cxx03/__exception/operations.h
M libcxx/include/__cxx03/__functional/binary_function.h
M libcxx/include/__cxx03/__functional/binary_negate.h
M libcxx/include/__cxx03/__functional/bind.h
M libcxx/include/__cxx03/__functional/binder1st.h
M libcxx/include/__cxx03/__functional/binder2nd.h
M libcxx/include/__cxx03/__functional/hash.h
M libcxx/include/__cxx03/__functional/identity.h
M libcxx/include/__cxx03/__functional/mem_fun_ref.h
M libcxx/include/__cxx03/__functional/operations.h
M libcxx/include/__cxx03/__functional/pointer_to_binary_function.h
M libcxx/include/__cxx03/__functional/pointer_to_unary_function.h
M libcxx/include/__cxx03/__functional/reference_wrapper.h
M libcxx/include/__cxx03/__functional/unary_function.h
M libcxx/include/__cxx03/__functional/unary_negate.h
M libcxx/include/__cxx03/__functional/weak_result_type.h
M libcxx/include/__cxx03/__fwd/array.h
M libcxx/include/__cxx03/__fwd/complex.h
M libcxx/include/__cxx03/__fwd/pair.h
M libcxx/include/__cxx03/__fwd/string.h
M libcxx/include/__cxx03/__fwd/tuple.h
M libcxx/include/__cxx03/__hash_table
M libcxx/include/__cxx03/__iterator/access.h
M libcxx/include/__cxx03/__iterator/advance.h
M libcxx/include/__cxx03/__iterator/back_insert_iterator.h
M libcxx/include/__cxx03/__iterator/bounded_iter.h
M libcxx/include/__cxx03/__iterator/cpp17_iterator_concepts.h
M libcxx/include/__cxx03/__iterator/distance.h
M libcxx/include/__cxx03/__iterator/front_insert_iterator.h
M libcxx/include/__cxx03/__iterator/insert_iterator.h
M libcxx/include/__cxx03/__iterator/istream_iterator.h
M libcxx/include/__cxx03/__iterator/istreambuf_iterator.h
M libcxx/include/__cxx03/__iterator/iterator_traits.h
M libcxx/include/__cxx03/__iterator/move_iterator.h
M libcxx/include/__cxx03/__iterator/next.h
M libcxx/include/__cxx03/__iterator/ostream_iterator.h
M libcxx/include/__cxx03/__iterator/ostreambuf_iterator.h
M libcxx/include/__cxx03/__iterator/prev.h
M libcxx/include/__cxx03/__iterator/reverse_iterator.h
M libcxx/include/__cxx03/__iterator/wrap_iter.h
M libcxx/include/__cxx03/__locale
M libcxx/include/__cxx03/__locale_dir/locale_base_api/ibm.h
M libcxx/include/__cxx03/__math/hypot.h
M libcxx/include/__cxx03/__memory/addressof.h
M libcxx/include/__cxx03/__memory/aligned_alloc.h
M libcxx/include/__cxx03/__memory/allocate_at_least.h
M libcxx/include/__cxx03/__memory/allocator.h
M libcxx/include/__cxx03/__memory/allocator_arg_t.h
M libcxx/include/__cxx03/__memory/allocator_traits.h
M libcxx/include/__cxx03/__memory/assume_aligned.h
M libcxx/include/__cxx03/__memory/auto_ptr.h
M libcxx/include/__cxx03/__memory/compressed_pair.h
M libcxx/include/__cxx03/__memory/construct_at.h
M libcxx/include/__cxx03/__memory/pointer_traits.h
M libcxx/include/__cxx03/__memory/raw_storage_iterator.h
M libcxx/include/__cxx03/__memory/shared_ptr.h
M libcxx/include/__cxx03/__memory/swap_allocator.h
M libcxx/include/__cxx03/__memory/temp_value.h
M libcxx/include/__cxx03/__memory/uninitialized_algorithms.h
M libcxx/include/__cxx03/__memory/unique_ptr.h
M libcxx/include/__cxx03/__memory/uses_allocator.h
M libcxx/include/__cxx03/__mutex/once_flag.h
M libcxx/include/__cxx03/__mutex/tag_types.h
M libcxx/include/__cxx03/__numeric/accumulate.h
M libcxx/include/__cxx03/__numeric/adjacent_difference.h
M libcxx/include/__cxx03/__numeric/inner_product.h
M libcxx/include/__cxx03/__numeric/partial_sum.h
M libcxx/include/__cxx03/__ostream/basic_ostream.h
M libcxx/include/__cxx03/__random/bernoulli_distribution.h
M libcxx/include/__cxx03/__random/binomial_distribution.h
M libcxx/include/__cxx03/__random/cauchy_distribution.h
M libcxx/include/__cxx03/__random/chi_squared_distribution.h
M libcxx/include/__cxx03/__random/discard_block_engine.h
M libcxx/include/__cxx03/__random/discrete_distribution.h
M libcxx/include/__cxx03/__random/exponential_distribution.h
M libcxx/include/__cxx03/__random/extreme_value_distribution.h
M libcxx/include/__cxx03/__random/fisher_f_distribution.h
M libcxx/include/__cxx03/__random/gamma_distribution.h
M libcxx/include/__cxx03/__random/generate_canonical.h
M libcxx/include/__cxx03/__random/geometric_distribution.h
M libcxx/include/__cxx03/__random/independent_bits_engine.h
M libcxx/include/__cxx03/__random/linear_congruential_engine.h
M libcxx/include/__cxx03/__random/lognormal_distribution.h
M libcxx/include/__cxx03/__random/mersenne_twister_engine.h
M libcxx/include/__cxx03/__random/negative_binomial_distribution.h
M libcxx/include/__cxx03/__random/normal_distribution.h
M libcxx/include/__cxx03/__random/piecewise_constant_distribution.h
M libcxx/include/__cxx03/__random/piecewise_linear_distribution.h
M libcxx/include/__cxx03/__random/poisson_distribution.h
M libcxx/include/__cxx03/__random/random_device.h
M libcxx/include/__cxx03/__random/seed_seq.h
M libcxx/include/__cxx03/__random/shuffle_order_engine.h
M libcxx/include/__cxx03/__random/student_t_distribution.h
M libcxx/include/__cxx03/__random/subtract_with_carry_engine.h
M libcxx/include/__cxx03/__random/uniform_int_distribution.h
M libcxx/include/__cxx03/__random/uniform_real_distribution.h
M libcxx/include/__cxx03/__random/weibull_distribution.h
M libcxx/include/__cxx03/__string/char_traits.h
M libcxx/include/__cxx03/__string/constexpr_c_functions.h
M libcxx/include/__cxx03/__system_error/error_category.h
M libcxx/include/__cxx03/__system_error/error_code.h
M libcxx/include/__cxx03/__system_error/error_condition.h
M libcxx/include/__cxx03/__thread/id.h
M libcxx/include/__cxx03/__thread/thread.h
M libcxx/include/__cxx03/__tree
M libcxx/include/__cxx03/__tuple/find_index.h
M libcxx/include/__cxx03/__tuple/make_tuple_types.h
M libcxx/include/__cxx03/__tuple/sfinae_helpers.h
M libcxx/include/__cxx03/__tuple/tuple_element.h
M libcxx/include/__cxx03/__tuple/tuple_indices.h
M libcxx/include/__cxx03/__tuple/tuple_like.h
M libcxx/include/__cxx03/__tuple/tuple_like_ext.h
M libcxx/include/__cxx03/__tuple/tuple_like_no_subrange.h
M libcxx/include/__cxx03/__tuple/tuple_size.h
M libcxx/include/__cxx03/__type_traits/add_const.h
M libcxx/include/__cxx03/__type_traits/add_cv.h
M libcxx/include/__cxx03/__type_traits/add_lvalue_reference.h
M libcxx/include/__cxx03/__type_traits/add_pointer.h
M libcxx/include/__cxx03/__type_traits/add_rvalue_reference.h
M libcxx/include/__cxx03/__type_traits/add_volatile.h
M libcxx/include/__cxx03/__type_traits/aligned_storage.h
M libcxx/include/__cxx03/__type_traits/aligned_union.h
M libcxx/include/__cxx03/__type_traits/alignment_of.h
M libcxx/include/__cxx03/__type_traits/common_type.h
M libcxx/include/__cxx03/__type_traits/conditional.h
M libcxx/include/__cxx03/__type_traits/conjunction.h
M libcxx/include/__cxx03/__type_traits/decay.h
M libcxx/include/__cxx03/__type_traits/disjunction.h
M libcxx/include/__cxx03/__type_traits/enable_if.h
M libcxx/include/__cxx03/__type_traits/extent.h
M libcxx/include/__cxx03/__type_traits/has_virtual_destructor.h
M libcxx/include/__cxx03/__type_traits/integral_constant.h
M libcxx/include/__cxx03/__type_traits/invoke.h
M libcxx/include/__cxx03/__type_traits/is_abstract.h
M libcxx/include/__cxx03/__type_traits/is_arithmetic.h
M libcxx/include/__cxx03/__type_traits/is_array.h
M libcxx/include/__cxx03/__type_traits/is_assignable.h
M libcxx/include/__cxx03/__type_traits/is_base_of.h
M libcxx/include/__cxx03/__type_traits/is_bounded_array.h
M libcxx/include/__cxx03/__type_traits/is_class.h
M libcxx/include/__cxx03/__type_traits/is_compound.h
M libcxx/include/__cxx03/__type_traits/is_const.h
M libcxx/include/__cxx03/__type_traits/is_constant_evaluated.h
M libcxx/include/__cxx03/__type_traits/is_constructible.h
M libcxx/include/__cxx03/__type_traits/is_convertible.h
M libcxx/include/__cxx03/__type_traits/is_destructible.h
M libcxx/include/__cxx03/__type_traits/is_empty.h
M libcxx/include/__cxx03/__type_traits/is_enum.h
M libcxx/include/__cxx03/__type_traits/is_execution_policy.h
M libcxx/include/__cxx03/__type_traits/is_final.h
M libcxx/include/__cxx03/__type_traits/is_floating_point.h
M libcxx/include/__cxx03/__type_traits/is_function.h
M libcxx/include/__cxx03/__type_traits/is_fundamental.h
M libcxx/include/__cxx03/__type_traits/is_implicitly_default_constructible.h
M libcxx/include/__cxx03/__type_traits/is_integral.h
M libcxx/include/__cxx03/__type_traits/is_literal_type.h
M libcxx/include/__cxx03/__type_traits/is_member_pointer.h
M libcxx/include/__cxx03/__type_traits/is_nothrow_assignable.h
M libcxx/include/__cxx03/__type_traits/is_nothrow_constructible.h
M libcxx/include/__cxx03/__type_traits/is_nothrow_destructible.h
M libcxx/include/__cxx03/__type_traits/is_null_pointer.h
M libcxx/include/__cxx03/__type_traits/is_object.h
M libcxx/include/__cxx03/__type_traits/is_pod.h
M libcxx/include/__cxx03/__type_traits/is_pointer.h
M libcxx/include/__cxx03/__type_traits/is_polymorphic.h
M libcxx/include/__cxx03/__type_traits/is_reference.h
M libcxx/include/__cxx03/__type_traits/is_same.h
M libcxx/include/__cxx03/__type_traits/is_scalar.h
M libcxx/include/__cxx03/__type_traits/is_signed.h
M libcxx/include/__cxx03/__type_traits/is_specialization.h
M libcxx/include/__cxx03/__type_traits/is_standard_layout.h
M libcxx/include/__cxx03/__type_traits/is_swappable.h
M libcxx/include/__cxx03/__type_traits/is_trivial.h
M libcxx/include/__cxx03/__type_traits/is_trivially_assignable.h
M libcxx/include/__cxx03/__type_traits/is_trivially_constructible.h
M libcxx/include/__cxx03/__type_traits/is_trivially_copyable.h
M libcxx/include/__cxx03/__type_traits/is_trivially_destructible.h
M libcxx/include/__cxx03/__type_traits/is_unbounded_array.h
M libcxx/include/__cxx03/__type_traits/is_union.h
M libcxx/include/__cxx03/__type_traits/is_unsigned.h
M libcxx/include/__cxx03/__type_traits/is_void.h
M libcxx/include/__cxx03/__type_traits/is_volatile.h
M libcxx/include/__cxx03/__type_traits/make_32_64_or_128_bit.h
M libcxx/include/__cxx03/__type_traits/make_signed.h
M libcxx/include/__cxx03/__type_traits/make_unsigned.h
M libcxx/include/__cxx03/__type_traits/nat.h
M libcxx/include/__cxx03/__type_traits/negation.h
M libcxx/include/__cxx03/__type_traits/noexcept_move_assign_container.h
M libcxx/include/__cxx03/__type_traits/rank.h
M libcxx/include/__cxx03/__type_traits/remove_all_extents.h
M libcxx/include/__cxx03/__type_traits/remove_const.h
M libcxx/include/__cxx03/__type_traits/remove_cv.h
M libcxx/include/__cxx03/__type_traits/remove_cvref.h
M libcxx/include/__cxx03/__type_traits/remove_extent.h
M libcxx/include/__cxx03/__type_traits/remove_pointer.h
M libcxx/include/__cxx03/__type_traits/remove_reference.h
M libcxx/include/__cxx03/__type_traits/remove_volatile.h
M libcxx/include/__cxx03/__type_traits/result_of.h
M libcxx/include/__cxx03/__type_traits/strip_signature.h
M libcxx/include/__cxx03/__type_traits/type_identity.h
M libcxx/include/__cxx03/__type_traits/underlying_type.h
M libcxx/include/__cxx03/__type_traits/unwrap_ref.h
M libcxx/include/__cxx03/__type_traits/void_t.h
M libcxx/include/__cxx03/__utility/as_lvalue.h
M libcxx/include/__cxx03/__utility/integer_sequence.h
M libcxx/include/__cxx03/__utility/pair.h
M libcxx/include/__cxx03/__utility/piecewise_construct.h
M libcxx/include/__cxx03/__utility/small_buffer.h
M libcxx/include/__cxx03/__utility/swap.h
M libcxx/include/__cxx03/__utility/unreachable.h
M libcxx/include/__cxx03/__variant/monostate.h
M libcxx/include/__cxx03/algorithm
M libcxx/include/__cxx03/array
M libcxx/include/__cxx03/atomic
M libcxx/include/__cxx03/bitset
M libcxx/include/__cxx03/chrono
M libcxx/include/__cxx03/cmath
M libcxx/include/__cxx03/codecvt
M libcxx/include/__cxx03/complex
M libcxx/include/__cxx03/condition_variable
M libcxx/include/__cxx03/cstddef
M libcxx/include/__cxx03/cstdio
M libcxx/include/__cxx03/cstdlib
M libcxx/include/__cxx03/ctime
M libcxx/include/__cxx03/cuchar
M libcxx/include/__cxx03/cwchar
M libcxx/include/__cxx03/deque
M libcxx/include/__cxx03/exception
M libcxx/include/__cxx03/ext/hash_map
M libcxx/include/__cxx03/ext/hash_set
M libcxx/include/__cxx03/forward_list
M libcxx/include/__cxx03/fstream
M libcxx/include/__cxx03/functional
M libcxx/include/__cxx03/future
M libcxx/include/__cxx03/iomanip
M libcxx/include/__cxx03/ios
M libcxx/include/__cxx03/iosfwd
M libcxx/include/__cxx03/istream
M libcxx/include/__cxx03/iterator
M libcxx/include/__cxx03/limits
M libcxx/include/__cxx03/list
M libcxx/include/__cxx03/locale
M libcxx/include/__cxx03/map
M libcxx/include/__cxx03/memory
M libcxx/include/__cxx03/mutex
M libcxx/include/__cxx03/new
M libcxx/include/__cxx03/numeric
M libcxx/include/__cxx03/ostream
M libcxx/include/__cxx03/queue
M libcxx/include/__cxx03/random
M libcxx/include/__cxx03/ratio
M libcxx/include/__cxx03/regex
M libcxx/include/__cxx03/set
M libcxx/include/__cxx03/sstream
M libcxx/include/__cxx03/stack
M libcxx/include/__cxx03/stdatomic.h
M libcxx/include/__cxx03/stdexcept
M libcxx/include/__cxx03/streambuf
M libcxx/include/__cxx03/string
M libcxx/include/__cxx03/string_view
M libcxx/include/__cxx03/strstream
M libcxx/include/__cxx03/system_error
M libcxx/include/__cxx03/thread
M libcxx/include/__cxx03/type_traits
M libcxx/include/__cxx03/typeindex
M libcxx/include/__cxx03/typeinfo
M libcxx/include/__cxx03/uchar.h
M libcxx/include/__cxx03/unordered_map
M libcxx/include/__cxx03/unordered_set
M libcxx/include/__cxx03/utility
M libcxx/include/__cxx03/valarray
M libcxx/include/__cxx03/vector
M libcxx/include/__cxx03/version
M libcxx/include/__exception/exception_ptr.h
M libcxx/include/__expected/expected.h
M libcxx/include/__flat_map/flat_map.h
M libcxx/include/__flat_map/flat_multimap.h
M libcxx/include/__functional/function.h
M libcxx/include/__iterator/advance.h
M libcxx/include/__iterator/next.h
M libcxx/include/__iterator/prev.h
M libcxx/include/__locale
M libcxx/include/__math/copysign.h
M libcxx/include/__math/exponential_functions.h
M libcxx/include/__math/fdim.h
M libcxx/include/__math/fma.h
M libcxx/include/__math/hypot.h
M libcxx/include/__math/inverse_trigonometric_functions.h
M libcxx/include/__math/min_max.h
M libcxx/include/__math/modulo.h
M libcxx/include/__math/remainder.h
M libcxx/include/__math/rounding_functions.h
M libcxx/include/__math/traits.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__split_buffer
M libcxx/include/__string/char_traits.h
M libcxx/include/__string/extern_template_lists.h
M libcxx/include/__type_traits/is_convertible.h
M libcxx/include/__type_traits/is_core_convertible.h
R libcxx/include/__type_traits/is_nothrow_convertible.h
A libcxx/include/__type_traits/is_replaceable.h
M libcxx/include/__type_traits/is_unbounded_array.h
M libcxx/include/__type_traits/promote.h
M libcxx/include/__type_traits/rank.h
M libcxx/include/__utility/pair.h
M libcxx/include/__vector/vector.h
M libcxx/include/__vector/vector_bool.h
M libcxx/include/array
M libcxx/include/cmath
M libcxx/include/complex
M libcxx/include/deque
M libcxx/include/module.modulemap.in
M libcxx/include/optional
M libcxx/include/string
M libcxx/include/tuple
M libcxx/include/type_traits
M libcxx/include/variant
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/src/functional.cpp
M libcxx/src/string.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.multiset/insert.temporary.pass.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.set/insert.temporary.pass.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat_helpers.h
M libcxx/test/libcxx/iterators/assert.advance.pass.cpp
M libcxx/test/libcxx/iterators/assert.next.pass.cpp
M libcxx/test/libcxx/iterators/assert.prev.pass.cpp
M libcxx/test/libcxx/numerics/complex.number/cmplx.over.pow.pass.cpp
A libcxx/test/libcxx/type_traits/is_replaceable.compile.pass.cpp
A libcxx/test/libcxx/vendor/apple/disable-availability.sh.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill_n.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_omitting_invoke.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/iterator_comparison.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.iterators/iterator_comparison.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator_comparison.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.iterators/iterator_comparison.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/common.h
M libcxx/test/std/containers/sequences/vector/vector.modifiers/emplace.pass.cpp
R libcxx/test/std/containers/sequences/vector/vector.modifiers/emplace_extra.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/filebuf.members/close.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp
M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string.string_view.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/equality/equality.T2.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/equality/equality.other_expected.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/equality/equality.unexpected.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/equality/equality.other_expected.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/equality/equality.unexpected.pass.cpp
M libcxx/test/std/utilities/expected/types.h
M libcxx/test/std/utilities/utility/pairs/pairs.spec/comparison.pass.cpp
M libcxx/test/support/MinSequenceContainer.h
M libcxx/test/support/test_iterators.h
M libcxx/test/support/test_macros.h
M libcxx/utils/ci/BOT_OWNERS.txt
M libcxx/utils/ci/Dockerfile
M libcxx/utils/ci/apple-install-libcxx.sh
M libcxx/utils/ci/run-buildbot-container
M libcxxabi/src/demangle/ItaniumDemangle.h
M libcxxabi/src/demangle/Utility.h
M lld/CMakeLists.txt
M lld/COFF/DebugTypes.cpp
M lld/COFF/Driver.cpp
M lld/COFF/DriverUtils.cpp
M lld/COFF/Writer.cpp
M lld/ELF/Driver.cpp
M lld/ELF/ICF.cpp
M lld/ELF/Options.td
M lld/MachO/BPSectionOrderer.cpp
M lld/MachO/ConcatOutputSection.cpp
M lld/MachO/ConcatOutputSection.h
M lld/MachO/DriverUtils.cpp
M lld/MachO/InputFiles.cpp
M lld/docs/ld.lld.1
A lld/test/COFF/cygwin-symbols.s
A lld/test/COFF/merge-data-bss.test
M lld/test/ELF/sparcv9-reloc.s
M lld/test/ELF/sparcv9-tls-le.s
M lld/test/MachO/arm64-thunks.s
M lld/test/MachO/bp-section-orderer.s
A lld/test/MachO/reexport-with-rpath.s
A lld/test/MachO/reexport-without-rpath.s
M lld/test/wasm/Inputs/start-lib1.s
M lld/test/wasm/lto/signature-mismatch.ll
A lld/utils/run_benchmark.py
M lld/wasm/Config.h
M lld/wasm/Driver.cpp
M lld/wasm/InputChunks.cpp
M lld/wasm/InputFiles.cpp
M lld/wasm/LTO.cpp
M lld/wasm/LTO.h
M lld/wasm/MarkLive.cpp
M lld/wasm/OutputSections.cpp
M lld/wasm/SymbolTable.cpp
M lld/wasm/Symbols.cpp
M lld/wasm/Symbols.h
M lld/wasm/SyntheticSections.cpp
M lld/wasm/Writer.cpp
M lld/wasm/WriterUtils.cpp
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/docs/dil-expr-lang.ebnf
M lldb/docs/doxygen.cfg.in
M lldb/docs/resources/debugging.rst
M lldb/docs/use/formatting.rst
M lldb/docs/use/map.rst
M lldb/include/lldb/API/SBDebugger.h
M lldb/include/lldb/API/SBThreadPlan.h
M lldb/include/lldb/Core/Debugger.h
A lldb/include/lldb/Core/DemangledNameInfo.h
M lldb/include/lldb/Core/FormatEntity.h
M lldb/include/lldb/Core/Mangled.h
M lldb/include/lldb/Core/Module.h
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/Core/SourceManager.h
M lldb/include/lldb/Core/Telemetry.h
M lldb/include/lldb/DataFormatters/FormattersHelpers.h
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/include/lldb/DataFormatters/VectorIterator.h
M lldb/include/lldb/Host/linux/AbstractSocket.h
M lldb/include/lldb/Host/linux/Support.h
M lldb/include/lldb/Host/posix/DomainSocket.h
A lldb/include/lldb/Host/posix/Support.h
M lldb/include/lldb/Interpreter/OptionValue.h
M lldb/include/lldb/Interpreter/OptionValueArch.h
M lldb/include/lldb/Interpreter/OptionValueArray.h
M lldb/include/lldb/Interpreter/OptionValueBoolean.h
M lldb/include/lldb/Interpreter/OptionValueChar.h
M lldb/include/lldb/Interpreter/OptionValueDictionary.h
M lldb/include/lldb/Interpreter/OptionValueEnumeration.h
M lldb/include/lldb/Interpreter/OptionValueFileColonLine.h
M lldb/include/lldb/Interpreter/OptionValueFileSpec.h
M lldb/include/lldb/Interpreter/OptionValueFileSpecList.h
M lldb/include/lldb/Interpreter/OptionValueFormat.h
M lldb/include/lldb/Interpreter/OptionValueFormatEntity.h
M lldb/include/lldb/Interpreter/OptionValueLanguage.h
M lldb/include/lldb/Interpreter/OptionValuePathMappings.h
M lldb/include/lldb/Interpreter/OptionValueProperties.h
M lldb/include/lldb/Interpreter/OptionValueRegex.h
M lldb/include/lldb/Interpreter/OptionValueSInt64.h
M lldb/include/lldb/Interpreter/OptionValueString.h
M lldb/include/lldb/Interpreter/OptionValueUInt64.h
M lldb/include/lldb/Interpreter/OptionValueUUID.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/Symbol/Block.h
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/include/lldb/Symbol/DWARFCallFrameInfo.h
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Symbol/SymbolFileOnDemand.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/include/lldb/Target/Language.h
M lldb/include/lldb/Target/Memory.h
M lldb/include/lldb/Target/PathMappingList.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/Utility/ProcessInfo.h
M lldb/include/lldb/Utility/RangeMap.h
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/include/lldb/ValueObject/ValueObjectRegister.h
M lldb/include/lldb/ValueObject/ValueObjectSyntheticFilter.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/lldbtest.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/source/API/SBDebugger.cpp
M lldb/source/API/SBProcess.cpp
M lldb/source/API/SBThreadPlan.cpp
M lldb/source/API/SBValue.cpp
M lldb/source/Breakpoint/WatchpointAlgorithms.cpp
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Commands/CommandObjectDisassemble.cpp
M lldb/source/Commands/CommandObjectPlatform.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectSource.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/Options.td
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/Debugger.cpp
A lldb/source/Core/DemangledNameInfo.cpp
M lldb/source/Core/DynamicLoader.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/Mangled.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/ModuleList.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Core/SourceManager.cpp
M lldb/source/Core/Telemetry.cpp
M lldb/source/DataFormatters/CXXFunctionPointer.cpp
M lldb/source/DataFormatters/FormatterBytecode.cpp
M lldb/source/DataFormatters/FormattersHelpers.cpp
M lldb/source/DataFormatters/TypeSynthetic.cpp
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Expression/DiagnosticManager.cpp
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/aix/Host.cpp
M lldb/source/Host/linux/AbstractSocket.cpp
M lldb/source/Host/linux/Host.cpp
M lldb/source/Host/linux/Support.cpp
M lldb/source/Host/macosx/objcxx/Host.mm
M lldb/source/Host/posix/DomainSocket.cpp
M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
A lldb/source/Host/posix/Support.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/source/Interpreter/OptionValueArch.cpp
M lldb/source/Interpreter/OptionValueArray.cpp
M lldb/source/Interpreter/OptionValueDictionary.cpp
M lldb/source/Interpreter/OptionValueEnumeration.cpp
M lldb/source/Interpreter/OptionValueFileColonLine.cpp
M lldb/source/Interpreter/OptionValueFileSpecList.cpp
M lldb/source/Interpreter/OptionValueFormat.cpp
M lldb/source/Interpreter/OptionValueFormatEntity.cpp
M lldb/source/Interpreter/OptionValueLanguage.cpp
M lldb/source/Interpreter/OptionValuePathMappings.cpp
M lldb/source/Interpreter/OptionValueProperties.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTMetadata.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTMetadata.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
A lldb/source/Plugins/Language/CPlusPlus/LanguageCPlusPlusProperties.td
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxProxyArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxQueue.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxRangesRefView.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
M lldb/source/Plugins/Language/ObjC/NSArray.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/Language/ObjC/NSError.cpp
M lldb/source/Plugins/Language/ObjC/NSException.cpp
M lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
M lldb/source/Plugins/Process/AIX/NativeProcessAIX.h
M lldb/source/Plugins/Process/Linux/IntelPTCollector.cpp
M lldb/source/Plugins/Process/Linux/NativeProcessLinux.h
M lldb/source/Plugins/Process/Linux/Perf.cpp
M lldb/source/Plugins/Process/Linux/Procfs.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/elf-core/ThreadElfCore.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/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/CompileUnitIndex.cpp
M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
M lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
M lldb/source/Plugins/SymbolVendor/PECOFF/SymbolVendorPECOFF.cpp
M lldb/source/Plugins/SymbolVendor/wasm/SymbolVendorWasm.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Symbol/Block.cpp
M lldb/source/Symbol/CompilerType.cpp
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/ObjectFile.cpp
M lldb/source/Symbol/SymbolContext.cpp
M lldb/source/Symbol/SymbolFile.cpp
M lldb/source/Symbol/UnwindTable.cpp
M lldb/source/Target/Memory.cpp
M lldb/source/Target/PathMappingList.cpp
M lldb/source/Target/Platform.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/Statistics.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/TargetProperties.td
M lldb/source/Utility/ArchSpec.cpp
M lldb/source/Utility/Checksum.cpp
M lldb/source/ValueObject/DILAST.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILLexer.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/source/ValueObject/ValueObjectRegister.cpp
M lldb/source/ValueObject/ValueObjectSyntheticFilter.cpp
M lldb/test/API/commands/expression/import-std-module/pair/TestPairFromStdModule.py
A lldb/test/API/commands/frame/var-dil/basics/AddressOf/Makefile
A lldb/test/API/commands/frame/var-dil/basics/AddressOf/TestFrameVarDILAddressOf.py
A lldb/test/API/commands/frame/var-dil/basics/AddressOf/main.cpp
A lldb/test/API/commands/frame/var-dil/basics/PointerArithmetic/Makefile
A lldb/test/API/commands/frame/var-dil/basics/PointerArithmetic/TestFrameVarDILPointerArithmetic.py
A lldb/test/API/commands/frame/var-dil/basics/PointerArithmetic/main.cpp
A lldb/test/API/commands/process/reverse-continue/TestReverseContinueCommandNotSupported.py
R lldb/test/API/commands/process/reverse-continue/TestReverseContinueNotSupported.py
M lldb/test/API/commands/settings/TestSettings.py
M lldb/test/API/commands/statistics/basic/TestStats.py
M lldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py
M lldb/test/API/commands/target/stop-hooks/TestStopHooks.py
A lldb/test/API/commands/target/stop-hooks/on-core-load/TestStopHookOnCoreLoad.py
A lldb/test/API/commands/target/stop-hooks/on-core-load/linux-x86_64.core
A lldb/test/API/commands/target/stop-hooks/on-core-load/stop_hook.py
A lldb/test/API/commands/target/stop-hooks/on-core-load/test.core.yaml
M lldb/test/API/commands/watchpoints/variable_out_of_scope/TestWatchedVarHitWhenInScope.py
A lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidumpYaml.py
A lldb/test/API/functionalities/process_save_core_minidump/minidump_mem64.yaml
R lldb/test/API/functionalities/reverse-execution/TestReverseContinueNotSupported.py
A lldb/test/API/functionalities/reverse-execution/TestReverseExecutionNotSupported.py
M lldb/test/API/functionalities/statusline/TestStatusline.py
M lldb/test/API/functionalities/step_scripted/Steps.py
M lldb/test/API/functionalities/step_scripted/TestStepScripted.py
M lldb/test/API/functionalities/step_scripted/main.c
M lldb/test/API/functionalities/thread/exit_during_expression/TestExitDuringExpression.py
M lldb/test/API/lang/cpp/dynamic-value/Makefile
M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
M lldb/test/API/lang/cpp/dynamic-value/a.h
A lldb/test/API/lang/cpp/dynamic-value/forward-a.cpp
M lldb/test/API/lang/cpp/dynamic-value/pass-to-base.cpp
A lldb/test/API/lang/cpp/type_lookup_anon_struct/Makefile
A lldb/test/API/lang/cpp/type_lookup_anon_struct/TestCppTypeLookupAnonStruct.py
A lldb/test/API/lang/cpp/type_lookup_anon_struct/main.cpp
M lldb/test/API/lang/objc/bitfield_ivars/TestBitfieldIvars.py
M lldb/test/API/python_api/event/TestEvents.py
M lldb/test/API/python_api/sbvalue_const_addrof/main.cpp
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attachByPortNum.py
M lldb/test/API/tools/lldb-dap/breakpoint-events/TestDAP_breakpointEvents.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setExceptionBreakpoints.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setFunctionBreakpoints.py
M lldb/test/API/tools/lldb-dap/cancel/TestDAP_cancel.py
M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
M lldb/test/API/tools/lldb-dap/console/TestDAP_redirection_to_console.py
A lldb/test/API/tools/lldb-dap/console/minidump.yaml
M lldb/test/API/tools/lldb-dap/disconnect/TestDAP_disconnect.py
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
M lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py
M lldb/test/API/tools/lldb-dap/extendedStackTrace/TestDAP_extendedStackTrace.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/API/tools/lldb-dap/module/TestDAP_module.py
M lldb/test/API/tools/lldb-dap/output/TestDAP_output.py
M lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
M lldb/test/API/tools/lldb-dap/repl-mode/TestDAP_repl_mode_detection.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_runInTerminal.py
M lldb/test/API/tools/lldb-dap/send-event/TestDAP_sendEvent.py
A lldb/test/API/tools/lldb-dap/stackTrace-x86/Makefile
A lldb/test/API/tools/lldb-dap/stackTrace-x86/TestDAP_source_x86.py
A lldb/test/API/tools/lldb-dap/stackTrace-x86/main.c
M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
M lldb/test/API/tools/lldb-dap/stackTrace/main.c
A lldb/test/API/tools/lldb-dap/stackTraceDisassemblyDisplay/Makefile
A lldb/test/API/tools/lldb-dap/stackTraceDisassemblyDisplay/TestDAP_stackTraceDisassemblyDisplay.py
A lldb/test/API/tools/lldb-dap/stackTraceDisassemblyDisplay/main.c
A lldb/test/API/tools/lldb-dap/stackTraceMissingModule/Makefile
A lldb/test/API/tools/lldb-dap/stackTraceMissingModule/TestDAP_stackTraceMissingModule.py
A lldb/test/API/tools/lldb-dap/stackTraceMissingModule/main.c
M lldb/test/API/tools/lldb-dap/startDebugging/TestDAP_startDebugging.py
M lldb/test/API/tools/lldb-dap/stop-hooks/TestDAP_stop_hooks.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/API/tools/lldb-dap/variables/children/TestDAP_variables_children.py
M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
A lldb/test/Shell/Commands/command-disassemble-sections.s
A lldb/test/Shell/Commands/command-list-reach-beginning-of-file.test
A lldb/test/Shell/Commands/command-list-reach-end-of-file.test
M lldb/test/Shell/Commands/command-statistics-dump.test
A lldb/test/Shell/Expr/TestExprWithSideEffect.cpp
A lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVar.cpp
A lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVarWindows.cpp
A lldb/test/Shell/Expr/TestProcessModificationIdOnExpr.cpp
A lldb/test/Shell/Settings/TestCxxFrameFormat.test
A lldb/test/Shell/Settings/TestCxxFrameFormatMixedLanguages.test
A lldb/test/Shell/Settings/TestCxxFrameFormatObjC.test
A lldb/test/Shell/Settings/TestCxxFrameFormatPartialFailure.test
A lldb/test/Shell/Settings/TestCxxFrameFormatRecursive.test
A lldb/test/Shell/Settings/TestFrameFormatFunctionBasename.test
A lldb/test/Shell/Settings/TestFrameFormatFunctionBasenameObjC.test
A lldb/test/Shell/Settings/TestFrameFormatFunctionFormattedArguments.test
A lldb/test/Shell/Settings/TestFrameFormatFunctionFormattedArgumentsObjC.test
A lldb/test/Shell/Settings/TestFrameFormatFunctionQualifiers.test
A lldb/test/Shell/Settings/TestFrameFormatFunctionQualifiersObjC.test
A lldb/test/Shell/Settings/TestFrameFormatFunctionReturn.test
A lldb/test/Shell/Settings/TestFrameFormatFunctionReturnObjC.test
A lldb/test/Shell/Settings/TestFrameFormatFunctionScope.test
A lldb/test/Shell/Settings/TestFrameFormatFunctionScopeObjC.test
A lldb/test/Shell/Settings/TestFrameFormatFunctionSuffix.test
A lldb/test/Shell/Settings/TestFrameFormatFunctionTemplateArguments.test
A lldb/test/Shell/Settings/TestFrameFormatFunctionTemplateArgumentsObjC.test
M lldb/test/Shell/Settings/TestFrameFormatName.test
M lldb/test/Shell/Unwind/Inputs/basic-block-sections-with-dwarf.s
M lldb/test/Shell/Unwind/basic-block-sections-with-dwarf-static.test
M lldb/test/Shell/Unwind/signal-in-leaf-function-aarch64.test
M lldb/test/Shell/lit.site.cfg.py.in
M lldb/tools/debugserver/debugserver.xcodeproj/project.pbxproj
M lldb/tools/debugserver/source/CMakeLists.txt
M lldb/tools/debugserver/source/DNB.cpp
M lldb/tools/debugserver/source/DNBError.cpp
M lldb/tools/debugserver/source/DNBLog.cpp
M lldb/tools/debugserver/source/DNBTimer.h
M lldb/tools/debugserver/source/MacOSX/MachException.cpp
M lldb/tools/debugserver/source/MacOSX/MachException.h
M lldb/tools/debugserver/source/MacOSX/MachProcess.h
M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
M lldb/tools/debugserver/source/MacOSX/MachTask.h
M lldb/tools/debugserver/source/MacOSX/MachThread.cpp
M lldb/tools/debugserver/source/MacOSX/MachThread.h
M lldb/tools/debugserver/source/MacOSX/MachThreadList.cpp
M lldb/tools/debugserver/source/MacOSX/MachThreadList.h
M lldb/tools/debugserver/source/PThreadEvent.cpp
M lldb/tools/debugserver/source/PThreadEvent.h
R lldb/tools/debugserver/source/PThreadMutex.cpp
R lldb/tools/debugserver/source/PThreadMutex.h
M lldb/tools/debugserver/source/RNBRemote.cpp
M lldb/tools/debugserver/source/RNBRemote.h
M lldb/tools/lldb-dap/.vscodeignore
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ContinueRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LaunchRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/RestartRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SourceRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StackTraceRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StepOutRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/LLDBUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/tools/lldb-dap/README.md
A lldb/tools/lldb-dap/llvm-logo.png
M lldb/tools/lldb-dap/package-lock.json
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
A lldb/tools/lldb-dap/src-ts/debug-session-tracker.ts
M lldb/tools/lldb-dap/src-ts/disposable-context.ts
M lldb/tools/lldb-dap/src-ts/extension.ts
A lldb/tools/lldb-dap/src-ts/ui/modules-data-provider.ts
M lldb/tools/lldb-dap/src-ts/uri-launch-handler.ts
M lldb/tools/lldb-server/lldb-platform.cpp
M lldb/unittests/API/CMakeLists.txt
M lldb/unittests/Core/FormatEntityTest.cpp
M lldb/unittests/Core/MangledTest.cpp
M lldb/unittests/Core/TelemetryTest.cpp
M lldb/unittests/Host/CMakeLists.txt
M lldb/unittests/Host/HostTest.cpp
M lldb/unittests/Host/SocketTest.cpp
R lldb/unittests/Host/linux/HostTest.cpp
R lldb/unittests/Host/linux/SupportTest.cpp
A lldb/unittests/Host/posix/HostTest.cpp
A lldb/unittests/Host/posix/SupportTest.cpp
M lldb/unittests/Platform/PlatformSiginfoTest.cpp
M lldb/unittests/Process/Linux/ProcfsTests.cpp
M lldb/unittests/Symbol/LineTableTest.cpp
M lldb/unittests/Symbol/LocateSymbolFileTest.cpp
M lldb/unittests/Symbol/SymtabTest.cpp
M lldb/unittests/Symbol/TestDWARFCallFrameInfo.cpp
M lldb/unittests/Utility/LogTest.cpp
M llvm/CMakeLists.txt
M llvm/CREDITS.TXT
M llvm/Maintainers.md
M llvm/bindings/ocaml/llvm/llvm.ml
M llvm/bindings/ocaml/llvm/llvm.mli
M llvm/cmake/config-ix.cmake
M llvm/cmake/modules/CrossCompile.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/cmake/modules/LLVMConfig.cmake.in
M llvm/cmake/modules/TableGen.cmake
M llvm/docs/CMake.rst
M llvm/docs/CMakeLists.txt
M llvm/docs/CodeOfConduct.rst
M llvm/docs/CommandGuide/lit.rst
M llvm/docs/CommandGuide/llvm-reduce.rst
M llvm/docs/DeveloperPolicy.rst
M llvm/docs/DiscourseMigrationGuide.md
M llvm/docs/GitHub.rst
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/GlobalISel/MIRPatterns.rst
M llvm/docs/InterfaceExportAnnotations.rst
M llvm/docs/LangRef.rst
A llvm/docs/MLGO.rst
M llvm/docs/ProgrammersManual.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/Reference.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/UndefinedBehavior.rst
M llvm/docs/doxygen.cfg.in
M llvm/examples/OrcV2Examples/LLJITWithThinLTOSummaries/LLJITWithThinLTOSummaries.cpp
M llvm/include/llvm-c/Core.h
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/AddressRanges.h
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/MapVector.h
M llvm/include/llvm/ADT/STLExtras.h
M llvm/include/llvm/ADT/STLForwardCompat.h
M llvm/include/llvm/ADT/bit.h
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/include/llvm/Analysis/ConstantFolding.h
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/include/llvm/Analysis/MemoryLocation.h
M llvm/include/llvm/Analysis/MemoryProfileInfo.h
M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
M llvm/include/llvm/Analysis/ScopedNoAliasAA.h
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/include/llvm/BinaryFormat/DynamicTags.def
M llvm/include/llvm/BinaryFormat/ELFRelocs/Sparc.def
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/ByteProvider.h
M llvm/include/llvm/CodeGen/CodeGenTargetMachineImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineFrameInfo.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineInstrBuilder.h
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/include/llvm/CodeGen/MachineUniformityAnalysis.h
M llvm/include/llvm/CodeGen/PBQP/Math.h
A llvm/include/llvm/CodeGen/PEI.h
M llvm/include/llvm/CodeGen/RegAllocEvictionAdvisor.h
M llvm/include/llvm/CodeGen/RegisterClassInfo.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
A llvm/include/llvm/CodeGen/ShrinkWrap.h
M llvm/include/llvm/CodeGen/Spiller.h
M llvm/include/llvm/CodeGen/TargetFrameLowering.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/CodeGen/TargetSchedule.h
M llvm/include/llvm/CodeGen/VirtRegMap.h
M llvm/include/llvm/Config/config.h.cmake
M llvm/include/llvm/Config/llvm-config.h.cmake
M llvm/include/llvm/DebugInfo/GSYM/InlineInfo.h
M llvm/include/llvm/Demangle/Demangle.h
M llvm/include/llvm/Demangle/ItaniumDemangle.h
M llvm/include/llvm/Demangle/Utility.h
R llvm/include/llvm/ExecutionEngine/JITLink/ELF_i386.h
A llvm/include/llvm/ExecutionEngine/JITLink/ELF_x86.h
M llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h
R llvm/include/llvm/ExecutionEngine/JITLink/i386.h
A llvm/include/llvm/ExecutionEngine/JITLink/x86.h
M llvm/include/llvm/Frontend/Atomic/Atomic.h
M llvm/include/llvm/Frontend/Directive/DirectiveBase.td
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/CFG.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DebugLoc.h
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/IR/GenericConvergenceVerifierImpl.h
M llvm/include/llvm/IR/GlobalValue.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/InstVisitor.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsPowerPC.td
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/LLVMContext.h
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/include/llvm/IR/PassInstrumentation.h
M llvm/include/llvm/IR/PassManagerInternal.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/IR/Type.h
M llvm/include/llvm/IR/Use.h
M llvm/include/llvm/IR/Value.h
M llvm/include/llvm/IR/ValueMap.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Linker/Linker.h
M llvm/include/llvm/MC/MCInstrDesc.h
M llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/include/llvm/MC/MCPseudoProbe.h
M llvm/include/llvm/MC/MCSectionCOFF.h
M llvm/include/llvm/Pass.h
M llvm/include/llvm/PassSupport.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/ProfileData/MemProfYAML.h
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/SandboxIR/Constant.h
M llvm/include/llvm/SandboxIR/Value.h
M llvm/include/llvm/Support/AutoConvert.h
M llvm/include/llvm/Support/BranchProbability.h
M llvm/include/llvm/Support/CommandLine.h
M llvm/include/llvm/Support/CrashRecoveryContext.h
M llvm/include/llvm/Support/Error.h
M llvm/include/llvm/Support/ErrorHandling.h
M llvm/include/llvm/Support/FileUtilities.h
M llvm/include/llvm/Support/GenericLoopInfoImpl.h
M llvm/include/llvm/Support/Program.h
A llvm/include/llvm/Support/ProgramStack.h
M llvm/include/llvm/Support/Signals.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Support/Win64EH.h
M llvm/include/llvm/Support/YAMLTraits.h
M llvm/include/llvm/Support/thread.h
M llvm/include/llvm/TableGen/DirectiveEmitter.h
M llvm/include/llvm/TableGen/Record.h
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/Target/TargetCallingConv.td
M llvm/include/llvm/Target/TargetMachine.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/include/llvm/TargetParser/CMakeLists.txt
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/Scalar/GVN.h
M llvm/include/llvm/Transforms/Scalar/GVNExpression.h
M llvm/include/llvm/Transforms/Scalar/LoopPassManager.h
M llvm/include/llvm/Transforms/Scalar/Reassociate.h
M llvm/include/llvm/Transforms/Utils/Cloning.h
M llvm/include/llvm/Transforms/Utils/CodeExtractor.h
M llvm/include/llvm/Transforms/Utils/Instrumentation.h
M llvm/include/llvm/Transforms/Utils/LowerMemIntrinsics.h
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
M llvm/include/llvm/Transforms/Utils/ValueMapper.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/AssumeBundleQueries.cpp
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/BranchProbabilityInfo.cpp
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/KernelInfo.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/MemoryLocation.cpp
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/lib/Analysis/MemorySSAUpdater.cpp
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ScopedNoAliasAA.cpp
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/TypeMetadataUtils.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
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/Bitcode/Writer/ValueEnumerator.cpp
M llvm/lib/CodeGen/AllocationOrder.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
M llvm/lib/CodeGen/AsmPrinter/PseudoProbePrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/WinCFGuard.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/BranchRelaxation.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/CodeGen/FinalizeISel.cpp
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugVariables.cpp
M llvm/lib/CodeGen/LiveVariables.cpp
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MIRPrintingPass.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
M llvm/lib/CodeGen/MachineCSE.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/lib/CodeGen/MachineRegisterInfo.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
M llvm/lib/CodeGen/ModuloSchedule.cpp
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/CodeGen/PseudoProbeInserter.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RemoveLoadsIntoFakeUses.cpp
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.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/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/ShrinkWrap.cpp
M llvm/lib/CodeGen/StackSlotColoring.cpp
M llvm/lib/CodeGen/TailDuplicator.cpp
M llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp
M llvm/lib/CodeGen/TargetInstrInfo.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/CodeGen/TargetSchedule.cpp
M llvm/lib/CodeGen/UnreachableBlockElim.cpp
M llvm/lib/CodeGen/VirtRegMap.cpp
M llvm/lib/CodeGen/WinEHPrepare.cpp
M llvm/lib/DWARFLinker/Parallel/ArrayList.h
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.h
M llvm/lib/DWARFLinker/Parallel/TypePool.h
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVSupport.cpp
M llvm/lib/DebugInfo/MSF/MSFBuilder.cpp
M llvm/lib/DebugInfo/PDB/PDBSymbolCompiland.cpp
M llvm/lib/Demangle/ItaniumDemangle.cpp
M llvm/lib/ExecutionEngine/ExecutionEngine.cpp
M llvm/lib/ExecutionEngine/JITLink/CMakeLists.txt
M llvm/lib/ExecutionEngine/JITLink/ELF.cpp
R llvm/lib/ExecutionEngine/JITLink/ELF_i386.cpp
A llvm/lib/ExecutionEngine/JITLink/ELF_x86.cpp
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
R llvm/lib/ExecutionEngine/JITLink/i386.cpp
A llvm/lib/ExecutionEngine/JITLink/x86.cpp
M llvm/lib/ExecutionEngine/Orc/GetDylibInterface.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleRemoteEPCServer.cpp
M llvm/lib/FileCheck/FileCheckImpl.h
M llvm/lib/Frontend/Atomic/Atomic.cpp
M llvm/lib/Frontend/Driver/CodeGenOptions.cpp
M llvm/lib/Frontend/OpenMP/OMP.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AttributeImpl.h
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/ConvergenceVerifier.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/DataLayout.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/DebugLoc.cpp
M llvm/lib/IR/DroppedVariableStats.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/LLVMContext.cpp
M llvm/lib/IR/LLVMContextImpl.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Mangler.cpp
M llvm/lib/IR/Pass.cpp
M llvm/lib/IR/SafepointIRVerifier.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/IR/Use.cpp
M llvm/lib/IR/Value.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/COFFAsmParser.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/MC/MCParser/MCAsmParserExtension.cpp
M llvm/lib/MC/MCSectionCOFF.cpp
M llvm/lib/MC/MCSymbol.cpp
M llvm/lib/MC/MCWin64EH.cpp
M llvm/lib/MC/TargetRegistry.cpp
M llvm/lib/ObjCopy/COFF/COFFWriter.cpp
M llvm/lib/ObjCopy/CommonConfig.cpp
M llvm/lib/ObjCopy/ELF/ELFObject.cpp
M llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
M llvm/lib/ObjCopy/XCOFF/XCOFFWriter.cpp
M llvm/lib/ObjCopy/wasm/WasmObjcopy.cpp
M llvm/lib/ObjCopy/wasm/WasmReader.cpp
M llvm/lib/ObjectYAML/COFFEmitter.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/ObjectYAML/MinidumpEmitter.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/ProfileData/IndexedMemProfData.cpp
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/MemProf.cpp
M llvm/lib/ProfileData/SampleProfReader.cpp
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/CrashRecoveryContext.cpp
M llvm/lib/Support/Error.cpp
M llvm/lib/Support/ErrorHandling.cpp
M llvm/lib/Support/FoldingSet.cpp
M llvm/lib/Support/GraphWriter.cpp
M llvm/lib/Support/Mustache.cpp
M llvm/lib/Support/Path.cpp
M llvm/lib/Support/Program.cpp
A llvm/lib/Support/ProgramStack.cpp
M llvm/lib/Support/Timer.cpp
M llvm/lib/Support/Unix/Path.inc
M llvm/lib/Support/Unix/Signals.inc
M llvm/lib/Support/raw_ostream.cpp
M llvm/lib/TableGen/Record.cpp
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp
M llvm/lib/Target/AArch64/SMEABIPass.cpp
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SMEPeepholeOpt.cpp
M llvm/lib/Target/AArch64/SVEIntrinsicOpts.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUWaitSGPRHazards.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
M llvm/lib/Target/AMDGPU/R600TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/R600TargetTransformInfo.h
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.h
M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/ARC/ARC.h
M llvm/lib/Target/ARC/ARCAsmPrinter.cpp
M llvm/lib/Target/ARC/ARCISelDAGToDAG.cpp
M llvm/lib/Target/ARC/ARCISelLowering.cpp
M llvm/lib/Target/ARC/ARCISelLowering.h
A llvm/lib/Target/ARC/ARCSelectionDAGInfo.cpp
A llvm/lib/Target/ARC/ARCSelectionDAGInfo.h
M llvm/lib/Target/ARC/ARCSubtarget.cpp
M llvm/lib/Target/ARC/ARCSubtarget.h
M llvm/lib/Target/ARC/ARCTargetMachine.cpp
M llvm/lib/Target/ARC/ARCTargetTransformInfo.h
M llvm/lib/Target/ARC/CMakeLists.txt
M llvm/lib/Target/ARM/ARM.h
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMAsmPrinter.h
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrThumb.td
Log Message:
-----------
Merge branch 'main' into refactoring/remove-union
Compare: https://github.com/llvm/llvm-project/compare/f804a23d7a3f...8ff4845bbd1c
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