[all-commits] [llvm/llvm-project] d5927a: [LLDB] Add unary plus and minus to DIL (#155617)
agozillon via All-commits
all-commits at lists.llvm.org
Mon Nov 24 12:22:47 PST 2025
Branch: refs/heads/users/agozillo/declare-target-to-3
Home: https://github.com/llvm/llvm-project
Commit: d5927a6172ab9b95f7f533bfdff865c1ce2aad5b
https://github.com/llvm/llvm-project/commit/d5927a6172ab9b95f7f533bfdff865c1ce2aad5b
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M lldb/docs/dil-expr-lang.ebnf
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Symbol/CompilerType.cpp
M lldb/source/Symbol/TypeSystem.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILParser.cpp
A lldb/test/API/commands/frame/var-dil/expr/Arithmetic/Makefile
A lldb/test/API/commands/frame/var-dil/expr/Arithmetic/TestFrameVarDILArithmetic.py
A lldb/test/API/commands/frame/var-dil/expr/Arithmetic/main.cpp
A lldb/test/API/commands/frame/var-dil/expr/PointerArithmetic/Makefile
A lldb/test/API/commands/frame/var-dil/expr/PointerArithmetic/TestFrameVarDILPointerArithmetic.py
A lldb/test/API/commands/frame/var-dil/expr/PointerArithmetic/main.cpp
Log Message:
-----------
[LLDB] Add unary plus and minus to DIL (#155617)
This patch adds unary nodes plus and minus, introduces unary type
conversions, and adds integral promotion to the type system.
Commit: cd13d9f9e5af7dad1b389f70bb01854134cb9df5
https://github.com/llvm/llvm-project/commit/cd13d9f9e5af7dad1b389f70bb01854134cb9df5
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
Log Message:
-----------
[lldb] Add test showing UnwindAssemblyInstEmulation can't handle backwards branches (#168398)
If we have a conditional branch, followed by an epilogue, followed by
more code, LLDB will incorrectly compute unwind information through
instruction emulation. Consider this:
```
// ...
<+16>: b.ne ; <+52> DO_SOMETHING_AND_GOTO_AFTER_EPILOGUE
// epilogue start
<+20>: ldp x29, x30, [sp, #0x20]
<+24>: add sp, sp, #0x30
<+28>: ret
// epilogue end
AFTER_EPILOGUE:
<+32>: do something
// ...
<+48>: ret
DO_SOMETHING_AND_GOTO_AFTER_EPILOGUE:
<+52>: stp x22, x23, [sp, #0x10]
<+56>: mov x22, #0x1
<+64>: b ; <+32> AFTER_EPILOGUE
```
LLDB will think that the unwind state of +32 is the same as +28. This is
false, as +32 _never_ executes after +28.
The root cause of the problem is the order in which instructions are
visited; they are visited in the order they appear in the text, with
unwind state always being forwarded to positive branch offsets, but
never to negative offsets.
In the example above, `AFTER_EPILOGUE` should inherit the state of the
branch in +64, but it doesn't because `AFTER_EPILOGUE` is visited right
after the `ret` in +28.
Fixing this should be simple: maintain a stack of instructions to visit.
While the stack is not empty, take the next instruction on stack and
visit it.
* After visiting a non-branching instruction, push the next instruction
and forward unwind state to it.
* After visiting a branch with one or more known targets, push the known
branch targets and forward state to them.
* In all other cases (ret, or branch to register), don't push nor
forward anything.
Never push an instruction already on the stack. Like the algorithm
today, this new algorithm also assumes that, if two instructions branch
to the same target, the unwind state in both better be the same.
(Note: yes, branch to register is also handled incorrectly today, and
will still be incorrect).
Commit: 4a567e3e7c35257e47ee2fb6de61c2c4fb0d4af0
https://github.com/llvm/llvm-project/commit/4a567e3e7c35257e47ee2fb6de61c2c4fb0d4af0
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M llvm/utils/lit/examples/many-tests/ManyTests.py
Log Message:
-----------
[llvm][utils][lit] Fix imports in ManyTests.py example (#169328)
Fixes #169297
Commit: 24abb0603a5f491943d05ea3a2b6513238d9937e
https://github.com/llvm/llvm-project/commit/24abb0603a5f491943d05ea3a2b6513238d9937e
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
A clang/test/CIR/CodeGenOpenACC/declare-copy.cpp
Log Message:
-----------
[OpenAC][CIR] func-local-declare 'copy' clause lowering (#169115)
This patch implements the lowering for the 'copy' clause for a
function-local declare directive.
This is the first of the clauses that requires a 'cleanup' step, so it
also includes some basic infrastructure for that. Fortunately there are
only 8 clauses (only 6 of which require cleanup), so the if/else chain
won't get too long.
Also fortunately, we don't have to include any of the AST components, as
it is possible to tell all the required details from the entry operation
itself.
Commit: ceea07daa8a41562fdd884a224afbac1d7346e3e
https://github.com/llvm/llvm-project/commit/ceea07daa8a41562fdd884a224afbac1d7346e3e
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M libcxx/include/forward_list
M libcxx/test/libcxx/diagnostics/forward_list.nodiscard.verify.cpp
Log Message:
-----------
[libc++][forward_list] Applied `[[nodiscard]]` (#169019)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant
Commit: 456b0512c927e37640fbdb9f6627466948f64305
https://github.com/llvm/llvm-project/commit/456b0512c927e37640fbdb9f6627466948f64305
Author: Luke Lau <luke at igalia.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-cond-poison.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/std-find.ll
Log Message:
-----------
[VPlan] Set ZeroIsPoison=false for FirstActiveLane (#169298)
When interleaving a loop with an early exit, the parts before the active
lane will be all zero. Currently we emit @llvm.experimental.cttz.elts
with ZeroIsPoison=true for these parts, which means that they will
produce poison.
We don't see any miscompiles today on AArch64 because it has the same
lowering for cttz.elts regardless of ZeroIsPoison, but this may cause
issues on RISC-V when interleaving. This fixes it by setting
ZeroIsPoison=false.
The codegen is slightly worse on RISC-V when ZeroIsPoison=false and we
could potentially recover it by enabling it again when UF=1, but this is
left to another PR.
This is split off from #168738, where LastActiveLane can get expanded to
a FirstActiveLane with an all-zeroes mask.
Commit: 1580f4b038c9945bf73d33b25459bece2f67ace7
https://github.com/llvm/llvm-project/commit/1580f4b038c9945bf73d33b25459bece2f67ace7
Author: David Green <david.green at arm.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/fshl.ll
M llvm/test/Analysis/CostModel/AArch64/fshr.ll
Log Message:
-----------
[AArch64] Update costs for fshl/r and add rotr/l variants. NFC
Commit: ad0acf4af001a3781b41b572788adcd7d652d18a
https://github.com/llvm/llvm-project/commit/ad0acf4af001a3781b41b572788adcd7d652d18a
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalize.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/load-uniform-in-vgpr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/load-uniform.ll
Log Message:
-----------
AMDGPU/GlobalISel: Combine S16 copy-trunc-readanylane-anyext (#168410)
Commit: 71952df1f52c8d54ea00a9e836184ba0ece7c6c3
https://github.com/llvm/llvm-project/commit/71952df1f52c8d54ea00a9e836184ba0ece7c6c3
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M clang/lib/CodeGen/CGException.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
A clang/test/OpenMP/spirv_target_codegen_noexceptions.cpp
Log Message:
-----------
[OpenMP][SPIRV] Disable exceptions for OpenMP SPIR-V (#169094)
More missed target checks.
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: d542dce0e6e65d8943c31fc99391572c0287128a
https://github.com/llvm/llvm-project/commit/d542dce0e6e65d8943c31fc99391572c0287128a
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
A clang/test/CIR/CodeGenOpenACC/declare-copyin.cpp
Log Message:
-----------
[OpenACC][CIR] copyin lowering for func-local- declare (#169336)
This is exactly like the 'copy', except the exit operation is a 'delete'
instead of a 'copyout'. Also, creating the 'delete' op has one less
argument to it, so we have to do some special handling when creating
that.
Commit: f4ba8e38ee0a3a2789b50d50e724fb90b1527708
https://github.com/llvm/llvm-project/commit/f4ba8e38ee0a3a2789b50d50e724fb90b1527708
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.h
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/fabs.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/fneg.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize rules for G_FABS and G_FNEG (#168411)
Commit: 29cfef188088cb0101b3ec70b13d68c06a2d49d6
https://github.com/llvm/llvm-project/commit/29cfef188088cb0101b3ec70b13d68c06a2d49d6
Author: Mirko <mirkomueller97 at live.de>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp
M llvm/unittests/DebugInfo/PDB/NativeSessionTest.cpp
Log Message:
-----------
[PDB][NativeSession] Use better error code for invalid format (#167885)
Replaces the default "Success" std::error_code with a more meaningful
one if `Magic != file_magic::pdb`.
Commit: 2bdd1357c826afe681ab0d6ddfa8fb814b2cef6a
https://github.com/llvm/llvm-project/commit/2bdd1357c826afe681ab0d6ddfa8fb814b2cef6a
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/simd_utils.h
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
M libcxx/include/__locale_dir/locale_base_api/ibm.h
R libcxx/include/__locale_dir/locale_base_api/musl.h
M libcxx/include/__locale_dir/num.h
M libcxx/include/__locale_dir/support/bsd_like.h
M libcxx/include/__locale_dir/support/fuchsia.h
M libcxx/include/__locale_dir/support/linux.h
M libcxx/include/__locale_dir/support/no_locale/strtonum.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/include/__support/xlocale/__strtonum_fallback.h
M libcxx/include/module.modulemap.in
M libcxx/src/locale.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_int.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_short.pass.cpp
Log Message:
-----------
[libc++] Optimize num_get integral functions (#121795)
```
---------------------------------------------------
Benchmark old new
---------------------------------------------------
BM_num_get<bool> 86.5 ns 32.3 ns
BM_num_get<long> 82.1 ns 30.3 ns
BM_num_get<long long> 85.2 ns 33.4 ns
BM_num_get<unsigned short> 85.3 ns 31.2 ns
BM_num_get<unsigned int> 84.2 ns 31.1 ns
BM_num_get<unsigned long> 83.6 ns 31.9 ns
BM_num_get<unsigned long long> 87.7 ns 31.5 ns
BM_num_get<float> 116 ns 114 ns
BM_num_get<double> 114 ns 114 ns
BM_num_get<long double> 113 ns 114 ns
BM_num_get<void*> 151 ns 144 ns
```
This patch applies multiple optimizations:
- Stages two and three of do_get are merged and a custom integer parser
has been implemented
This avoids allocations, removes the need for strto{,u}ll and avoids
__stage2_int_loop (avoiding extra writes to memory)
- std::find has been replaced with __atoms_offset, which uses vector
instructions to look for a character
Fixes #158100
Fixes #158102
Commit: bb78728826ff57f3df859e79bfd857b5a175bb6d
https://github.com/llvm/llvm-project/commit/bb78728826ff57f3df859e79bfd857b5a175bb6d
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/lib/CodeGen/SplitKit.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
M llvm/test/CodeGen/AArch64/implicit-def-subreg-to-reg-regression.ll
A llvm/test/CodeGen/AArch64/pr151592.mir
A llvm/test/CodeGen/AArch64/pr151888.mir
A llvm/test/CodeGen/AArch64/pr164181-reduced.ll
M llvm/test/CodeGen/AArch64/preserve_nonecc_varargs_darwin.ll
A llvm/test/CodeGen/AArch64/register-coalesce-implicit-def-subreg-to-reg.mir
M llvm/test/CodeGen/AArch64/register-coalesce-update-subranges-remat.mir
M llvm/test/CodeGen/LoongArch/lasx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lasx/fpowi.ll
M llvm/test/CodeGen/LoongArch/lasx/scalar-to-vector.ll
M llvm/test/CodeGen/PowerPC/aix-vec_insert_elt.ll
M llvm/test/CodeGen/PowerPC/build-vector-tests.ll
M llvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll
M llvm/test/CodeGen/PowerPC/combine-fneg.ll
M llvm/test/CodeGen/PowerPC/fp-strict-round.ll
M llvm/test/CodeGen/PowerPC/frem.ll
M llvm/test/CodeGen/PowerPC/froundeven-legalization.ll
M llvm/test/CodeGen/PowerPC/half.ll
M llvm/test/CodeGen/PowerPC/ldexp.ll
M llvm/test/CodeGen/PowerPC/llvm.modf.ll
M llvm/test/CodeGen/PowerPC/vec_insert_elt.ll
M llvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll
A llvm/test/CodeGen/X86/coalescer-breaks-subreg-to-reg-liveness.ll
M llvm/test/CodeGen/X86/coalescer-implicit-def-regression-imp-operand-assert.mir
A llvm/test/CodeGen/X86/coalescing-subreg-to-reg-requires-subrange-update.mir
A llvm/test/CodeGen/X86/pr76416.ll
M llvm/test/CodeGen/X86/subreg-fail.mir
A llvm/test/CodeGen/X86/subreg-to-reg-coalescing.mir
Log Message:
-----------
Reland "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG"
A SUBREG_TO_REG instruction expresses that the top bits of the result
register are set to a certain value (e.g. 0).
The example below expresses that the result of %1 will have the top 32
bits zeroed and the lower 32bits being equal to the result of INSTR.
```
%0:gpr32 = INSTR
%1:gpr64 = SUBREG_TO_REG 0, %0, sub32
```
When the RegisterCoalescer tries to remove SUBREG_TO_REG instructions by
coalescing %0 into %1, it must keep the same semantics. Currently
however, the RegisterCoalescer would emit:
```
%1.sub32:gpr64 = INSTR
```
which no longer expresses that the top 32-bits of the register are
defined (zeroed) by INSTR.
This may cause issues with e.g. machine copy propagation where the pass
may think it can remove a COPY-like instruction because the MIR says
only the bottom 32-bits are defined/used, even though other uses of the
register rely on the top 32-bits being zeroed by the COPY-like
instruction.
This PR changes the RegisterCoalescer to instead emit:
```
undef %1.sub32:gpr64 = MOVimm32 42, implicit-def %1
```
to express that the entire contents of %1:gpr64 are defined by the
instruction.
This tries to reland #134408 which had to be reverted due to a few reported
failures.
Commit: ccd2c3e3202d25f39775a39d1565522481a14565
https://github.com/llvm/llvm-project/commit/ccd2c3e3202d25f39775a39d1565522481a14565
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M libcxx/utils/ci/buildkite-pipeline.yml
Log Message:
-----------
Revert "[libcxx][ci] Temporarily disable ARM jobs" (#169352)
Reverts llvm/llvm-project#169318
Our builders are back online. I see them picking up existing jobs.
Commit: e442c67a2c98a3e1e3bfcf90aaa82ba70fb92760
https://github.com/llvm/llvm-project/commit/e442c67a2c98a3e1e3bfcf90aaa82ba70fb92760
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M clang-tools-extra/clangd/SemanticSelection.cpp
Log Message:
-----------
[clangd] Fix C++20 build failure
Commit: dc39fa34c3e27650bd111357d77247592b14baef
https://github.com/llvm/llvm-project/commit/dc39fa34c3e27650bd111357d77247592b14baef
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
A clang/test/CIR/CodeGenOpenACC/declare-copyout.cpp
Log Message:
-----------
[OpenACC][CIR] copyout clause lowering on func-local declare (#169350)
This is identical to 'copy' and 'copyin', except it uses 'create' and
'copyout' as its entry/exit op. This patch adds the same tests, and
similar code for all of it.
Commit: 870f581f702e6bb85c59670492c9998aacc3dacf
https://github.com/llvm/llvm-project/commit/870f581f702e6bb85c59670492c9998aacc3dacf
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M libcxx/include/__config
M libcxx/test/std/depr/depr.cpp.headers/ccomplex.verify.cpp
M libcxx/test/std/depr/depr.cpp.headers/ciso646.verify.cpp
M libcxx/test/std/depr/depr.cpp.headers/cstdalign.verify.cpp
M libcxx/test/std/depr/depr.cpp.headers/cstdbool.verify.cpp
M libcxx/test/std/depr/depr.cpp.headers/ctgmath.verify.cpp
Log Message:
-----------
[libc++] Disable header deprecations until #168041 is landed (#169305)
The `#warning` causes diagnostics if system headers include deprecated
headers. #168041 will add a way to deprecated headers properly, which
then also interacts nicely with system header suppression.
Commit: ab7145231b9d6a87d528a344456a77793c75614d
https://github.com/llvm/llvm-project/commit/ab7145231b9d6a87d528a344456a77793c75614d
Author: Marco Elver <elver at google.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M llvm/lib/Support/AllocToken.cpp
Log Message:
-----------
[Support] Permit "default" string in AllocToken mode parsing (#169351)
Update getAllocTokenModeFromString() to recognize "default" as a valid
mode string, mapping it to `DefaultAllocTokenMode`.
Commit: f31e1cf012c3029ef7619db25f5074b69b550e59
https://github.com/llvm/llvm-project/commit/f31e1cf012c3029ef7619db25f5074b69b550e59
Author: Kseniya Tikhomirova <kseniya.tikhomirova at intel.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
A libsycl/Maintainers.md
M llvm/Maintainers.md
Log Message:
-----------
[libsycl] Add Maintainers.md file (#168550)
Signed-off-by: Tikhomirova, Kseniya <kseniya.tikhomirova at intel.com>
Commit: 51fef127f29fe2225358396728d95e2d9e6af75e
https://github.com/llvm/llvm-project/commit/51fef127f29fe2225358396728d95e2d9e6af75e
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
Log Message:
-----------
[lldb] Add const& to InstructionList parameter (#169342)
Commit: cc0371f2a4f95614c35601f898dde7745120e8d1
https://github.com/llvm/llvm-project/commit/cc0371f2a4f95614c35601f898dde7745120e8d1
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
Log Message:
-----------
[AMDGPU] Use ListSeparator. NFC. (#169347)
Commit: e3d0ac188665afe96df32bd2841f6b71b05b8790
https://github.com/llvm/llvm-project/commit/e3d0ac188665afe96df32bd2841f6b71b05b8790
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M libcxx/include/string_view
M libcxx/test/libcxx/diagnostics/string_view.nodiscard.verify.cpp
M libcxx/test/libcxx/strings/string.view/nonnull.verify.cpp
Log Message:
-----------
[libc++][string_view] Applied `[[nodiscard]]` (#169010)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant
Commit: 78d829857656e23a7d3bc4510baf4ddcb6fce97b
https://github.com/llvm/llvm-project/commit/78d829857656e23a7d3bc4510baf4ddcb6fce97b
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
A clang/test/CIR/CodeGenOpenACC/declare-create.cpp
M clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
Log Message:
-----------
[OpenACC][CIR] 'create' clause lowering on func-local-declare (#169356)
This one is another that is effectively identical to copy, copyin, and
copyout, except its entry/exit ops pair is create/delete.
Commit: bab1c2971a31f032a6c353a0076d16e564ab50fa
https://github.com/llvm/llvm-project/commit/bab1c2971a31f032a6c353a0076d16e564ab50fa
Author: Gergely Bálint <gergely.balint at arm.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Passes/Inliner.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
A bolt/test/AArch64/inline-armv8.3-returns.s
A bolt/test/AArch64/inline-armv8.3-tailcall.s
A bolt/test/AArch64/inline-pauth-lr.s
Log Message:
-----------
[BOLT] Extend Inliner to work on functions with Pointer Authentication (#162458)
The inliner uses DirectSP to check if a function has instructions that
modify the SP. Exceptions are stack Push and Pop instructions.
We can also allow pointer signing and authenticating instructions.
The inliner removes the Return instructions from the inlined functions.
If it is a fused pointer-authentication-and-return (e.g. RETAA), we have
to generate a new authentication instruction.
Commit: 23907a20a5fa5c6e065b73f4515a2a072675dad5
https://github.com/llvm/llvm-project/commit/23907a20a5fa5c6e065b73f4515a2a072675dad5
Author: Lucas Ste <38472950+LucasSte at users.noreply.github.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M llvm/lib/Target/BPF/BPF.td
M llvm/lib/Target/BPF/BPFISelLowering.cpp
M llvm/lib/Target/BPF/BPFISelLowering.h
M llvm/lib/Target/BPF/BPFSubtarget.cpp
M llvm/lib/Target/BPF/BPFSubtarget.h
M llvm/test/CodeGen/BPF/atomic-oversize.ll
A llvm/test/CodeGen/BPF/builtin_calls.ll
M llvm/test/CodeGen/BPF/struct_ret1.ll
M llvm/test/CodeGen/BPF/struct_ret2.ll
Log Message:
-----------
[BPF] Allow libcalls behind a feature gate (#168442)
**Problem**
In Rust, checked math functions (like `checked_mul`, `overflowing_mul`,
`saturating_mul`) are part of the primitive implementation of integers
([see u64](https://doc.rust-lang.org/std/primitive.u64.html) for
instance). The Rust compiler builds the Rust
[compiler-builtins](https://github.com/rust-lang/compiler-builtins)
crate as a step in the compilation processes, since it contains the math
builtins to be lowered in the target.
For BPF, however, when using those functions in Rust we hit the
following errors:
```
ERROR llvm: <unknown>:0:0: in function func i64 (i64, i64): A call to built-in function '__multi3' is not supported.
ERROR llvm: <unknown>:0:0: in function func i64 (i64, i64): only small returns supported
```
Those errors come from the following code:
```
pub fn func(a: u64, b: u64) -> u64 {
a.saturating_mul(b)
}
```
Those functions invoke underneath the llvm instrinc `{ i64, i1 }
@llvm.umul.with.overflow.i64(i64, i64)` or its variants.
It is very useful to use safe math operations when writing BPF code in
Rust, and I would like to add support for those in the target.
**Changes**
1. Create a target feature `allow-builtin-calls` to enable code
generation for builtin functions.
2. Implement `CanLowerReturn` to fix the error `only small returns
supported`.
3. Add code to correctly invoke lib functions.
4. Add a test case together with the corresponding C code.
Commit: 38a5dd5bc7d7f59a2acfeaff3b6852337bb6704e
https://github.com/llvm/llvm-project/commit/38a5dd5bc7d7f59a2acfeaff3b6852337bb6704e
Author: Shota Matsubara <40222661+baramatsubonzo at users.noreply.github.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl02.rst
Log Message:
-----------
Fix typo in LLVM Kaleidoscope tutorial (Chapter 2) (#169319)
This patch fixes a minor typo in the **Kaleidoscope tutorial (Chapter
2)**.
The sentence:
“checks to see if **if** is too low”
has been corrected to:
“checks to see if **it** is too low”.
This is a documentation-only change and does not affect any semantic
behavior or code generation.
Thank you for maintaining the tutorial, and please let me know if any
further adjustments are needed.
Commit: ad1be4a589b3143c2a76d521bcf205d22bb22ffe
https://github.com/llvm/llvm-project/commit/ad1be4a589b3143c2a76d521bcf205d22bb22ffe
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
A clang/test/CIR/CodeGen/static-members.cpp
Log Message:
-----------
[CIR] Add handling for static data members (#169134)
This adds some trivial handling to force emitting of child decls inside
C++ records.
Commit: 76e9834b2908ec550bb2ca221b7652f6a5c32c46
https://github.com/llvm/llvm-project/commit/76e9834b2908ec550bb2ca221b7652f6a5c32c46
Author: PMylon <pmylonas at amd.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/test/Target/LLVMIR/target-ext-type.mlir
Log Message:
-----------
[MLIR][LLVM] Support named barrier as a global variable type in llvm dialect (#169194)
Enables `amdgcn.named.barrier` target extension type as a global
variable type in MLIR.
Commit: 79c56e8f335b231d00b06c8031d5d4c31ceb7d96
https://github.com/llvm/llvm-project/commit/79c56e8f335b231d00b06c8031d5d4c31ceb7d96
Author: Shubham Sandeep Rastogi <Shubham.Rastogi at sony.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
A llvm/test/Transforms/Coroutines/declare-value.ll
Log Message:
-----------
Add support for llvm.dbg.declare_value in the CoroSplitter pass. (#168134)
Make sure the CoroSplitter pass correctly handles `#dbg_declare_value`
intrinsics. Which means, it should identify them, and convert them to
`#dbg_declares` so that any subsequent passes do not need to be amended
to support the `#dbg_declare_value` intrinsic.
More information here:
https://discourse.llvm.org/t/rfc-introduce-new-llvm-dbg-coroframe-entry-intrinsic/88269
This patch is the second and last in a stack of patches, with the one
preceding it being: https://github.com/llvm/llvm-project/pull/168132
Commit: c1f24a5205364686213a23182dc45df9c2383360
https://github.com/llvm/llvm-project/commit/c1f24a5205364686213a23182dc45df9c2383360
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M lldb/tools/driver/Driver.cpp
Log Message:
-----------
[windows] improve python3.dll load check (#168864)
Commit: 3843a50c69063a9440ccd65ff9a167be75baf442
https://github.com/llvm/llvm-project/commit/3843a50c69063a9440ccd65ff9a167be75baf442
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M clang/lib/AST/Decl.cpp
M clang/unittests/AST/TypePrinterTest.cpp
Log Message:
-----------
[Clang][TypePrinter] Make printNestedNameSpecifier look at typedefs (#169364)
This is to resolve a regression caused by #168534.
Now when we have an anonymous object like a struct or union that has a
typedef attached, we print the typedef name instead of listing it as
anonymous.
Commit: 81f4ab83eb6fbedcede35fb1b5a4d45c3e8d5c16
https://github.com/llvm/llvm-project/commit/81f4ab83eb6fbedcede35fb1b5a4d45c3e8d5c16
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M clang-tools-extra/test/clang-doc/namespace.cpp
Log Message:
-----------
[clang-doc] Add Mustache HTML output to namespace test (#169107)
This patch adds Mustache HTML tests alongside the legacy HTML backend
for namespace output. This way, we can see exactly where the output
currently differs before replacing the legacy backend.
The same thing will be done for all other tests where the legacy HTML
backend is tested.
Commit: 37f7b3128d8217e6a99cc6117ea709e8fa7b0704
https://github.com/llvm/llvm-project/commit/37f7b3128d8217e6a99cc6117ea709e8fa7b0704
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/gather-scatter-cost.ll
A llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar-widen-gep-scalable.ll
M llvm/test/Transforms/LoopVectorize/widen-gep-all-indices-invariant.ll
Log Message:
-----------
Reland [VPlan] Handle WidenGEP in narrowToSingleScalars (#167880)
Changes: Fix a missed update to WidenGEP::usesFirstLaneOnly, and include
reduced-case test that was previously hitting the new assert: the
underlying reason was that VPWidenGEP::usesScalars was too weak, and the
single-scalar WidenGEP was not narrowed by narrowToSingleScalarRecipes.
This allows us to strip a special case in VPWidenGEP::execute.
Commit: 9688f88e57f369002157758b8399a235bf6763ca
https://github.com/llvm/llvm-project/commit/9688f88e57f369002157758b8399a235bf6763ca
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/pr128062-interleaved-accesses-narrow-group.ll
Log Message:
-----------
[LV] Pre-commit test for #128062 (#164801)
In preparation to extend the work done by dfa665f ([VPlan] Add
transformation to narrow interleave groups) to make the narrowing more
powerful, pre-commit a test case from #128062.
Commit: 621cbcde0161341494b546a1fb478cfd57d1a94f
https://github.com/llvm/llvm-project/commit/621cbcde0161341494b546a1fb478cfd57d1a94f
Author: Atmn Patel <atmnp at nvidia.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M flang/test/Transforms/OpenACC/acc-implicit-data.fir
M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
M mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitData.cpp
M mlir/test/Dialect/OpenACC/acc-implicit-data.mlir
Log Message:
-----------
[mlir][acc] Adds attr to acc.present to identify default clause origin (#169114)
The `acc.present` Op as generated by ACCImplicitData does not provide a
way to differentiate between `acc.present` ops that are generated
implicitly and the ones that are generated as result of an explicit
`default(present)` clause in the source code. This differentiation would
allow for better communication to the user on the decisions made by the
compiler while managing data automatically between the host and the
device. This commit adds this information as a discardable attribute on
the `acc.present` op.
Commit: a27bb38ee6f5762e715803d8eb6ffc5a8dd09575
https://github.com/llvm/llvm-project/commit/a27bb38ee6f5762e715803d8eb6ffc5a8dd09575
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M llvm/tools/bugpoint/BugDriver.h
M llvm/tools/bugpoint/ExecutionDriver.cpp
M llvm/tools/bugpoint/ExtractFunction.cpp
M llvm/tools/bugpoint/Miscompilation.cpp
M llvm/tools/bugpoint/OptimizerDriver.cpp
Log Message:
-----------
Reapply "[NFC][bugpoint] Namespace cleanup in `bugpoint`" (#168961) (#169055)
This reverts commit b83e458fe5330227581e1e65f3866ddfcd597837.
Also undo the use of namespace qualifier for `ReducePassList` as that
seems to cause build failures.
Commit: 1b65752d16045114ed381c95306517ff99147cda
https://github.com/llvm/llvm-project/commit/1b65752d16045114ed381c95306517ff99147cda
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
A clang/test/CIR/CodeGenOpenACC/declare-present.cpp
Log Message:
-----------
[OpenACC][CIR] Implement 'present' lowering on local-declare (#169381)
Just like the last handful of patches that did copy, copyin, copyout,
create, etc, this patch has the exact same behavior, except the
entry op is a present, and the exit is delete.
Commit: 740d0bd385967f6ae0171896722143d9a70b66a5
https://github.com/llvm/llvm-project/commit/740d0bd385967f6ae0171896722143d9a70b66a5
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/lib/Bindings/Python/DialectLLVM.cpp
M mlir/lib/CAPI/Dialect/LLVM.cpp
M mlir/test/python/dialects/llvm.py
Log Message:
-----------
[MLIR][Python] add GetTypeID for llvm.struct_type and llvm.ptr and enable downcasting (#169383)
Commit: d4cd331b7efc8cd5f15faa846697d9d61b0ff246
https://github.com/llvm/llvm-project/commit/d4cd331b7efc8cd5f15faa846697d9d61b0ff246
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 2bdd1357c826
Commit: 0e86510c787d68f5f87708b2efdaf92a7501b6c3
https://github.com/llvm/llvm-project/commit/0e86510c787d68f5f87708b2efdaf92a7501b6c3
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Frontend/BUILD.gn
Log Message:
-----------
[gn build] Port 3773bbe9e791
Commit: 40fb2ca506a873b031f90dac619ccca1d6ff0de5
https://github.com/llvm/llvm-project/commit/40fb2ca506a873b031f90dac619ccca1d6ff0de5
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
Log Message:
-----------
[gn build] Port 645e0dcbff33
Commit: 445956443bdf5dcc7fb8beb7dd9e571f31551519
https://github.com/llvm/llvm-project/commit/445956443bdf5dcc7fb8beb7dd9e571f31551519
Author: Henry Baba-Weiss <henry.babaweiss at gmail.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
M clang/test/CodeGen/attr-target-clones.c
M clang/test/Sema/attr-target-clones.c
Log Message:
-----------
[clang][Sema] Handle target_clones redeclarations that omit the attribute (#169259)
This patch adds a case to `CheckMultiVersionAdditionalDecl()` that
detects redeclarations of `target_clones` functions which omit the
attribute, and makes sure they are marked as redeclarations. It also
updates the comment at the call site of
`CheckMultiVersionAdditionalDecl()` to reflect this.
Previously, `target_clones` multiversioned functions that omitted the
attribute from subsequent declarations would cause Clang to hit an
`llvm_unreachable` and crash. In the following example, the second
declaration (the function definition) should inherit the `target_clones`
attribute from the first declaration (the forward declaration):
```
__attribute__((target_clones("arch=atom", "default")))
void foo(void);
void foo(void) { /* ... */ }
```
However, `CheckMultiVersionAdditionalDecl()` was not recognizing the
function definition as a redeclaration of the forward declaration, which
prevented `Sema::MergeFunctionDecl()` from automatically inheriting the
attribute.
A side effect of this fix is that Clang now catches redeclarations of
`target_clones` functions that have conflicting types, which previously
caused Clang to crash by hitting that same `llvm_unreachable`. The
`bad_overload1` case in `clang/test/Sema/attr-target-clones.c` has been
updated to reflect this.
Fixes #165517
Fixes #129483
Commit: f5e228b32ac0a59b5aa834caa80150ba877e82ce
https://github.com/llvm/llvm-project/commit/f5e228b32ac0a59b5aa834caa80150ba877e82ce
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
M llvm/test/CodeGen/DirectX/bugfix_150050_data_scalarize_const_gep.ll
M llvm/test/CodeGen/DirectX/scalarize-alloca.ll
M llvm/test/CodeGen/DirectX/scalarize-global.ll
Log Message:
-----------
[DirectX] Simplify DXIL data scalarization, and data scalarize whole GEP chains (#168096)
- The DXIL data scalarizer only needs to change vectors into arrays. It
does not need to change the types of GEPs to match the pointer type.
This PR simplifies the `visitGetElementPtrInst` method to do just that
while also accounting for nested GEPs from ConstantExprs. (Before this
PR, there were still vector types lingering in nested GEPs with
ConstantExprs.)
- The `equivalentArrayTypeFromVector` function was awkwardly placed near
the top of the file and away from the other helper functions. The
function is now moved next to the other helper functions.
- Removed an unnecessary `||` condition from `isVectorOrArrayOfVectors`
Related tests have also been cleaned up, and the test CHECKs have been
modified to account for the new simplified behavior.
Commit: 4a0d4850d77c13b71cd0bdd40b38a5afc46fb62b
https://github.com/llvm/llvm-project/commit/4a0d4850d77c13b71cd0bdd40b38a5afc46fb62b
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M clang-tools-extra/clang-doc/assets/class-template.mustache
M clang-tools-extra/test/clang-doc/namespace.cpp
Log Message:
-----------
[clang-doc] Add definition information to class templates (#169109)
Commit: 658675fad794197a2a41207b8e4b422becd78f28
https://github.com/llvm/llvm-project/commit/658675fad794197a2a41207b8e4b422becd78f28
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
A clang/test/CIR/CodeGenOpenACC/declare-deviceresident.cpp
Log Message:
-----------
[OpenACC][CIR] 'device_resident' clause lowering for local declare (#169389)
Just like the last handful of clauses, this is a pretty simple one,
doing device_resident (Entry op: declare_device_resident, and exit:
delete). This should be the last of the 'local' declare patches.
Commit: 0549aa11c2c1b619c673a0644a25f939bf13746f
https://github.com/llvm/llvm-project/commit/0549aa11c2c1b619c673a0644a25f939bf13746f
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-11-25 (Tue, 25 Nov 2025)
Changed paths:
M llvm/include/llvm/DWARFLinker/Classic/DWARFLinker.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFLinkerDeclContext.h
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinkerDeclContext.cpp
M llvm/test/tools/dsymutil/AArch64/dummy-debug-map-arm64.map
M llvm/test/tools/dsymutil/AArch64/dwarf5-str-offsets-base-strx.test
M llvm/test/tools/dsymutil/AArch64/inlined-low_pc.c
A llvm/test/tools/dsymutil/AArch64/odr-uniquing-DW_AT_name-conflict.test
A llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/1.o
A llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/2.o
A llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/lib1.cpp
A llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/lib1.h
A llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/lib2.cpp
A llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/main.cpp
Log Message:
-----------
[llvm][dsymutil] Use the DW_AT_name of the uniqued DIE for insertion into .debug_names (#168513)
Depends on:
* https://github.com/llvm/llvm-project/pull/168895
Note, the last commit is the one with the actual fix. The others are
drive-by/test changes
We've been seeing dsymutil verification failures like:
```
error: Name Index @ 0x0: Entry @ 0x11949d: mismatched Name of DIE @ 0x9c644c:
index - apply<(lambda at /some/build/dir/lib/LLVMSupport/include/llvm/Support/Error.h:1070:35)>;
debug_info - apply<(lambda at /some/build/dir/lib/LLVMCustom/include/llvm/Support/Error.h:1070:35)>
apply, _ZN11custom_llvm18ErrorHandlerTraitsIRFvRNS_13ErrorInfoBaseEEE5applyIZNS_12consumeErrorENS_5ErrorEEUlRKS1_E_EES7_OT_NSt3__110unique_ptrIS1_NSD_14default_deleteIS1_EEEE.
```
Not how the name of the DIE has a different lambda path than the one
that was used to insert the DIE into debug_names.
The root cause of the issue is that we have a DW_AT_subprogram
definition whose DW_AT_specification DIE got deduplicated. But the
DW_AT_name of the original specification is different than the one it
got uniqued to. That’s technically fine because dsymutil uniques by
linkage name, which uniquely identifies any function with non-internal
linkage.
But we insert the definition DIE into the debug-names table using the
DW_AT_name of the original specification (we call
`getDIENames(InputDIE…)`). But what we really want to do is use the name
of the adjusted `DW_AT_specifcation` (i.e., the `DW_AT_specification` of
the output DIE). That’s not as simple as it sounds because we can’t just
get ahold of the DIE in the output CU. We have to grab the ODR
`DeclContext` of the input DIE’s specification. That is the only link
back to the canonical specification DIE. For that to be of any use, we
have to stash the `DW_AT_name` into `DeclContext` so we can use it in
`getDIENames`.
We have to account for the possibility of multiple levels of
`DW_AT_specification`/`DW_AT_abstract_origin`. So my proposed solution
is to recursively scan the referenced DIE’s, grab the canonical DIE for
those and get the name from the `DeclContext` (if none exists then use
the `DW_AT_name` of the DIE itself).
One remaining question is whether we need to handle the case where a DIE
has a `DW_AT_specification` *and* a `DW_AT_abstract_origin`? That
complicates the way we locate `DW_AT_name`. We'd have to adjust
`getCanonicalDIEName` to handle this. But it's not clear what a
`DW_AT_name` would be for such cases. Worst case at the moment we take
the wrong path up the specifications and don't find any `DW_AT_name`,
and don't end up indexing that DIE. Something to keep an eye out for.
rdar://149239553
Commit: e92bb83c1810c61a7fa81d55a1690cffa2b14b60
https://github.com/llvm/llvm-project/commit/e92bb83c1810c61a7fa81d55a1690cffa2b14b60
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
Log Message:
-----------
[AArch64][PAC] Simplify emission of authenticated pointer check (NFC) (#160899)
The `AArch64AsmPrinter::emitPtrauthCheckAuthenticatedValue` method accepts
two arguments, `bool ShouldTrap` and `const MCSymbol *OnFailure`, that
control the behavior of the emitted instruction sequence when the check
fails:
* `ShouldTrap` requests an error to be generated
* `OnFailure` requests branching to the given label after clearing the
PAC field
An assertion in `emitPtrauthCheckAuthenticatedValue` ensures that when
`ShouldTrap` is true, `OnFailure` must be null. But the opposite holds
as well: when `ShouldTrap` is false, `OnFailure` is always non-null,
as otherwise the entire sequence following `AUT[ID][AB]` instruction
would turn into a very expensive equivalent of XPAC (unless the CPU
implements FEAT_FPAC):
authenticate Xn
inspect PAC field of Xn
if PAC field was not cleared:
clear PAC field
In other words, the value of `ShouldTrap` argument can be computed as
`OnFailure == nullptr` at all existing call sites. In fact, at three
of four call sites, constant `true` and `nullptr` are passed as the
values of these function arguments. `emitPtrauthAuthResign` is the
only caller that potentially makes use of checking-but-not-trapping
mode of `emitPtrauthCheckAuthenticatedValue`, and it passes a non-null
pointer as `OnFailure` when `ShouldTrap` is false.
This commit makes the invariant explicit by omitting the `ShouldTrap`
argument and inferring its value from the `OnFailure` argument instead.
Commit: 48eb697441e20f2e1a66d953436b9d66e0fc466d
https://github.com/llvm/llvm-project/commit/48eb697441e20f2e1a66d953436b9d66e0fc466d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs.ll
Log Message:
-----------
[LV] Count cost of middle block if TC <= VF. (#168949)
If the expected trip count is less than the VF, the vector loop will
only execute a single iteration. When that's the case, the cost of the
middle block has the same impact as the cost of the vector loop. Include
it in isOutsideLoopWorkProfitable to avoid vectorizing when the extra
work in the middle block makes it unprofitable.
Note that isOutsideLoopWorkProfitable already scales the cost of blocks
outside the vector region, but the patch restricts accounting for the
middle block to cases where VF <= ExpectedTC, to initially catch some
worst cases and avoid regressions.
This initial version should specifically avoid unprofitable tail-folding
for loops with low trip counts after re-applying
https://github.com/llvm/llvm-project/pull/149042.
PR: https://github.com/llvm/llvm-project/pull/168949
Commit: 7b186e4bf0f1485657697bc79c66b5792dcd562e
https://github.com/llvm/llvm-project/commit/7b186e4bf0f1485657697bc79c66b5792dcd562e
Author: Daan De Meyer <daan.j.demeyer at gmail.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix designated initializer detection (#169228)
Currently, in the following snippet, the second designated initializer
is incorrectly detected as an OBJC method expr. Fix that and a test to
make sure we don't regress.
```
Foo foo[] = {[0] = 1, [1] = 2};
```
Commit: 40334b8632f6d065e6672ada1c4342d07ecce629
https://github.com/llvm/llvm-project/commit/40334b8632f6d065e6672ada1c4342d07ecce629
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M clang-tools-extra/clangd/CompileCommands.cpp
M clang-tools-extra/clangd/Compiler.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/CommonArgs.h
R clang/include/clang/Driver/CreateASTUnitFromArgs.h
R clang/include/clang/Driver/CreateInvocationFromArgs.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/ChainedDiagnosticConsumer.h
M clang/include/clang/Frontend/CompilerInvocation.h
R clang/include/clang/Frontend/StandaloneDiagnostic.h
M clang/include/clang/Frontend/Utils.h
M clang/include/clang/Options/OptionUtils.h
M clang/lib/CrossTU/CMakeLists.txt
M clang/lib/CrossTU/CrossTranslationUnit.cpp
M clang/lib/Driver/CMakeLists.txt
R clang/lib/Driver/CreateASTUnitFromArgs.cpp
R clang/lib/Driver/CreateInvocationFromArgs.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CMakeLists.txt
M clang/lib/Frontend/CompilerInvocation.cpp
A clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
R clang/lib/Frontend/StandaloneDiagnostic.cpp
M clang/lib/Interpreter/CMakeLists.txt
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Options/OptionUtils.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/tools/c-index-test/CMakeLists.txt
M clang/tools/c-index-test/core_main.cpp
M clang/tools/diagtool/CMakeLists.txt
M clang/tools/diagtool/ShowEnabledWarnings.cpp
M clang/tools/driver/cc1_main.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CIndexer.cpp
M clang/tools/libclang/CMakeLists.txt
M clang/tools/libclang/Indexing.cpp
M clang/unittests/Driver/DXCModeTest.cpp
M clang/unittests/Driver/ToolChainTest.cpp
M clang/unittests/Frontend/ASTUnitTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Frontend/UtilsTest.cpp
M clang/unittests/Sema/CMakeLists.txt
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/Tooling/Syntax/TokensTest.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.cpp
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/CompilerInvocation.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
M lldb/source/Plugins/ExpressionParser/Clang/ClangHost.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
M lldb/unittests/Expression/ClangParserTest.cpp
Log Message:
-----------
Revert " [clang] Refactor to remove clangDriver dependency from clangFrontend and flangFrontend (#165277)"
This reverts commit 3773bbe9e7916ec89fb3e3cd02e29c54cabac82b.
Commit: 5a9c62ba48ea2fa899e3ff54d6b4779c1902f34b
https://github.com/llvm/llvm-project/commit/5a9c62ba48ea2fa899e3ff54d6b4779c1902f34b
Author: Vishruth Thimmaiah <vishruththimmaiah at gmail.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
A clang/test/CIR/CodeGen/X86/avx512bw-builtins.c
Log Message:
-----------
[CIR][X86] Add support for `kshiftl`/`kshiftr` builtins (#168591)
Adds support for the `__builtin_ia32_kshiftli` and
`__builtin_ia32_kshiftri` X86 builtins.
Part of #167765
---------
Signed-off-by: vishruth-thimmaiah <vishruththimmaiah at gmail.com>
Commit: 5c15f579234f0ac4e40037ebc7e250499525ac48
https://github.com/llvm/llvm-project/commit/5c15f579234f0ac4e40037ebc7e250499525ac48
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M clang-tools-extra/clangd/CompileCommands.cpp
M clang-tools-extra/clangd/Compiler.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/CommonArgs.h
A clang/include/clang/Driver/CreateASTUnitFromArgs.h
A clang/include/clang/Driver/CreateInvocationFromArgs.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/ChainedDiagnosticConsumer.h
M clang/include/clang/Frontend/CompilerInvocation.h
A clang/include/clang/Frontend/StandaloneDiagnostic.h
M clang/include/clang/Frontend/Utils.h
M clang/include/clang/Options/OptionUtils.h
M clang/lib/CrossTU/CMakeLists.txt
M clang/lib/CrossTU/CrossTranslationUnit.cpp
M clang/lib/Driver/CMakeLists.txt
A clang/lib/Driver/CreateASTUnitFromArgs.cpp
A clang/lib/Driver/CreateInvocationFromArgs.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CMakeLists.txt
M clang/lib/Frontend/CompilerInvocation.cpp
R clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
A clang/lib/Frontend/StandaloneDiagnostic.cpp
M clang/lib/Interpreter/CMakeLists.txt
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Options/OptionUtils.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/tools/c-index-test/CMakeLists.txt
M clang/tools/c-index-test/core_main.cpp
M clang/tools/diagtool/CMakeLists.txt
M clang/tools/diagtool/ShowEnabledWarnings.cpp
M clang/tools/driver/cc1_main.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CIndexer.cpp
M clang/tools/libclang/CMakeLists.txt
M clang/tools/libclang/Indexing.cpp
M clang/unittests/Driver/DXCModeTest.cpp
M clang/unittests/Driver/ToolChainTest.cpp
M clang/unittests/Frontend/ASTUnitTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Frontend/UtilsTest.cpp
M clang/unittests/Sema/CMakeLists.txt
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/Tooling/Syntax/TokensTest.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.cpp
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/CompilerInvocation.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
M lldb/source/Plugins/ExpressionParser/Clang/ClangHost.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
M lldb/unittests/Expression/ClangParserTest.cpp
Log Message:
-----------
Reapply " [clang] Refactor to remove clangDriver dependency from clangFrontend and flangFrontend (#165277)"
This reverts commit 40334b8632f6d065e6672ada1c4342d07ecce629.
Unfortunately the revert breaks the build.
Commit: dea330b38d9c18b68219abdb52baaa72c9f1103d
https://github.com/llvm/llvm-project/commit/dea330b38d9c18b68219abdb52baaa72c9f1103d
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M clang-tools-extra/clangd/CompileCommands.cpp
M clang-tools-extra/clangd/Compiler.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/CommonArgs.h
R clang/include/clang/Driver/CreateASTUnitFromArgs.h
R clang/include/clang/Driver/CreateInvocationFromArgs.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInvocation.h
R clang/include/clang/Frontend/StandaloneDiagnostic.h
M clang/include/clang/Frontend/Utils.h
M clang/include/clang/Options/OptionUtils.h
M clang/lib/CrossTU/CMakeLists.txt
M clang/lib/CrossTU/CrossTranslationUnit.cpp
M clang/lib/Driver/CMakeLists.txt
R clang/lib/Driver/CreateASTUnitFromArgs.cpp
R clang/lib/Driver/CreateInvocationFromArgs.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CMakeLists.txt
M clang/lib/Frontend/CompilerInvocation.cpp
A clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
R clang/lib/Frontend/StandaloneDiagnostic.cpp
M clang/lib/Interpreter/CMakeLists.txt
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Options/OptionUtils.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/tools/c-index-test/CMakeLists.txt
M clang/tools/c-index-test/core_main.cpp
M clang/tools/diagtool/CMakeLists.txt
M clang/tools/diagtool/ShowEnabledWarnings.cpp
M clang/tools/driver/cc1_main.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CIndexer.cpp
M clang/tools/libclang/CMakeLists.txt
M clang/tools/libclang/Indexing.cpp
M clang/unittests/Driver/DXCModeTest.cpp
M clang/unittests/Driver/ToolChainTest.cpp
M clang/unittests/Frontend/ASTUnitTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Frontend/UtilsTest.cpp
M clang/unittests/Sema/CMakeLists.txt
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/Tooling/Syntax/TokensTest.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.cpp
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/CompilerInvocation.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
M lldb/source/Plugins/ExpressionParser/Clang/ClangHost.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
M lldb/unittests/Expression/ClangParserTest.cpp
Log Message:
-----------
Revert " [clang] Refactor to remove clangDriver dependency from clangFrontend and flangFrontend (#165277)" (#169397)
This reverts commit 3773bbe and relands the last revert attempt 40334b8.
3773bbe broke the build for the build configuration described in here:
https://github.com/llvm/llvm-project/pull/165277#issuecomment-3572432250
Commit: 72dd4f75d6c6f7964a6612599ff09895ffd8d7e6
https://github.com/llvm/llvm-project/commit/72dd4f75d6c6f7964a6612599ff09895ffd8d7e6
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Frontend/BUILD.gn
Log Message:
-----------
[gn build] Port dea330b38d9c
Commit: 20929abb85633e4f17e5df21c9ac2fd80650f9d4
https://github.com/llvm/llvm-project/commit/20929abb85633e4f17e5df21c9ac2fd80650f9d4
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
A mlir/test/Target/LLVMIR/omptarget-declare-target-to-host.mlir
M mlir/test/Target/LLVMIR/omptarget-nowait.mlir
A mlir/test/Target/LLVMIR/omptarget-overlapping-record-member-map.mlir
M mlir/test/Target/LLVMIR/omptarget-record-type-with-ptr-member-host.mlir
A offload/test/offloading/fortran/dtype-member-overlap-map.f90
Log Message:
-----------
[MLIR][OpenMP] Introduce overlapped record type map support (#119588)
This PR introduces a new additional type of map lowering for record
types that Clang currently supports, in which a user can map a top-level
record type and then individual members with different mapping,
effectively creating a sort of "overlapping" mapping that we attempt to
cut around.
This is currently most predominantly used in Fortran, when mapping
descriptors and there data, we map the descriptor and its data with
separate map modifiers and "cut around" the pointer data, so that wedo
not overwrite it unless the runtime deems it a neccesary action based on
its reference counting mechanism. However, it is a mechanism that will
come in handy/trigger when a user explitily maps a record type (derived
type or structure) and then explicitly maps a member with a different
map type.
These additions were predominantly in the OpenMPToLLVMIRTranslation.cpp
file and phase, however, one Flang test that checks end-to-end IR
compilation (as far as we care for now at least) was altered.
2/3 required PRs to enable declare target to mapping, should look at PR
3/3 to check for full green passes (this one will fail a number due to
some dependencies).
Co-authored-by: Raghu Maddhipatla raghu.maddhipatla at amd.com
Commit: 9c4634b743f67cba08fab18341074cebfd1240b5
https://github.com/llvm/llvm-project/commit/9c4634b743f67cba08fab18341074cebfd1240b5
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-11-24 (Mon, 24 Nov 2025)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Passes/Inliner.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
A bolt/test/AArch64/inline-armv8.3-returns.s
A bolt/test/AArch64/inline-armv8.3-tailcall.s
A bolt/test/AArch64/inline-pauth-lr.s
M clang-tools-extra/clang-doc/assets/class-template.mustache
M clang-tools-extra/clangd/CompileCommands.cpp
M clang-tools-extra/clangd/Compiler.cpp
M clang-tools-extra/clangd/SemanticSelection.cpp
M clang-tools-extra/test/clang-doc/namespace.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/CommonArgs.h
R clang/include/clang/Driver/CreateASTUnitFromArgs.h
R clang/include/clang/Driver/CreateInvocationFromArgs.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInvocation.h
R clang/include/clang/Frontend/StandaloneDiagnostic.h
M clang/include/clang/Frontend/Utils.h
M clang/include/clang/Options/OptionUtils.h
M clang/lib/AST/Decl.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CrossTU/CMakeLists.txt
M clang/lib/CrossTU/CrossTranslationUnit.cpp
M clang/lib/Driver/CMakeLists.txt
R clang/lib/Driver/CreateASTUnitFromArgs.cpp
R clang/lib/Driver/CreateInvocationFromArgs.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CMakeLists.txt
M clang/lib/Frontend/CompilerInvocation.cpp
A clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
R clang/lib/Frontend/StandaloneDiagnostic.cpp
M clang/lib/Interpreter/CMakeLists.txt
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Options/OptionUtils.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Tooling/Tooling.cpp
A clang/test/CIR/CodeGen/X86/avx512bw-builtins.c
A clang/test/CIR/CodeGen/static-members.cpp
A clang/test/CIR/CodeGenOpenACC/declare-copy.cpp
A clang/test/CIR/CodeGenOpenACC/declare-copyin.cpp
A clang/test/CIR/CodeGenOpenACC/declare-copyout.cpp
A clang/test/CIR/CodeGenOpenACC/declare-create.cpp
A clang/test/CIR/CodeGenOpenACC/declare-deviceresident.cpp
A clang/test/CIR/CodeGenOpenACC/declare-present.cpp
M clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
M clang/test/CodeGen/attr-target-clones.c
A clang/test/OpenMP/spirv_target_codegen_noexceptions.cpp
M clang/test/Sema/attr-target-clones.c
M clang/tools/c-index-test/CMakeLists.txt
M clang/tools/c-index-test/core_main.cpp
M clang/tools/diagtool/CMakeLists.txt
M clang/tools/diagtool/ShowEnabledWarnings.cpp
M clang/tools/driver/cc1_main.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CIndexer.cpp
M clang/tools/libclang/CMakeLists.txt
M clang/tools/libclang/Indexing.cpp
M clang/unittests/AST/TypePrinterTest.cpp
M clang/unittests/Driver/DXCModeTest.cpp
M clang/unittests/Driver/ToolChainTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/ASTUnitTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Frontend/UtilsTest.cpp
M clang/unittests/Sema/CMakeLists.txt
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/Tooling/Syntax/TokensTest.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.cpp
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/test/Transforms/OpenACC/acc-implicit-data.fir
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/simd_utils.h
M libcxx/include/__config
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
M libcxx/include/__locale_dir/locale_base_api/ibm.h
R libcxx/include/__locale_dir/locale_base_api/musl.h
M libcxx/include/__locale_dir/num.h
M libcxx/include/__locale_dir/support/bsd_like.h
M libcxx/include/__locale_dir/support/fuchsia.h
M libcxx/include/__locale_dir/support/linux.h
M libcxx/include/__locale_dir/support/no_locale/strtonum.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/include/__support/xlocale/__strtonum_fallback.h
M libcxx/include/forward_list
M libcxx/include/module.modulemap.in
M libcxx/include/string_view
M libcxx/src/locale.cpp
M libcxx/test/libcxx/diagnostics/forward_list.nodiscard.verify.cpp
M libcxx/test/libcxx/diagnostics/string_view.nodiscard.verify.cpp
M libcxx/test/libcxx/strings/string.view/nonnull.verify.cpp
M libcxx/test/std/depr/depr.cpp.headers/ccomplex.verify.cpp
M libcxx/test/std/depr/depr.cpp.headers/ciso646.verify.cpp
M libcxx/test/std/depr/depr.cpp.headers/cstdalign.verify.cpp
M libcxx/test/std/depr/depr.cpp.headers/cstdbool.verify.cpp
M libcxx/test/std/depr/depr.cpp.headers/ctgmath.verify.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_int.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_short.pass.cpp
M libcxx/utils/ci/buildkite-pipeline.yml
A libsycl/Maintainers.md
M lldb/docs/dil-expr-lang.ebnf
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
M lldb/source/Plugins/ExpressionParser/Clang/ClangHost.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
M lldb/source/Symbol/CompilerType.cpp
M lldb/source/Symbol/TypeSystem.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILParser.cpp
A lldb/test/API/commands/frame/var-dil/expr/Arithmetic/Makefile
A lldb/test/API/commands/frame/var-dil/expr/Arithmetic/TestFrameVarDILArithmetic.py
A lldb/test/API/commands/frame/var-dil/expr/Arithmetic/main.cpp
A lldb/test/API/commands/frame/var-dil/expr/PointerArithmetic/Makefile
A lldb/test/API/commands/frame/var-dil/expr/PointerArithmetic/TestFrameVarDILPointerArithmetic.py
A lldb/test/API/commands/frame/var-dil/expr/PointerArithmetic/main.cpp
M lldb/tools/driver/Driver.cpp
M lldb/unittests/Expression/ClangParserTest.cpp
M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
M llvm/Maintainers.md
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl02.rst
M llvm/include/llvm/DWARFLinker/Classic/DWARFLinker.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFLinkerDeclContext.h
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/lib/CodeGen/SplitKit.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinkerDeclContext.cpp
M llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp
M llvm/lib/Support/AllocToken.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalize.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.h
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/BPF/BPF.td
M llvm/lib/Target/BPF/BPFISelLowering.cpp
M llvm/lib/Target/BPF/BPFISelLowering.h
M llvm/lib/Target/BPF/BPFSubtarget.cpp
M llvm/lib/Target/BPF/BPFSubtarget.h
M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
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/test/Analysis/CostModel/AArch64/fshl.ll
M llvm/test/Analysis/CostModel/AArch64/fshr.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
M llvm/test/CodeGen/AArch64/implicit-def-subreg-to-reg-regression.ll
A llvm/test/CodeGen/AArch64/pr151592.mir
A llvm/test/CodeGen/AArch64/pr151888.mir
A llvm/test/CodeGen/AArch64/pr164181-reduced.ll
M llvm/test/CodeGen/AArch64/preserve_nonecc_varargs_darwin.ll
A llvm/test/CodeGen/AArch64/register-coalesce-implicit-def-subreg-to-reg.mir
M llvm/test/CodeGen/AArch64/register-coalesce-update-subranges-remat.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/fabs.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/fneg.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/load-uniform-in-vgpr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/load-uniform.ll
M llvm/test/CodeGen/BPF/atomic-oversize.ll
A llvm/test/CodeGen/BPF/builtin_calls.ll
M llvm/test/CodeGen/BPF/struct_ret1.ll
M llvm/test/CodeGen/BPF/struct_ret2.ll
M llvm/test/CodeGen/DirectX/bugfix_150050_data_scalarize_const_gep.ll
M llvm/test/CodeGen/DirectX/scalarize-alloca.ll
M llvm/test/CodeGen/DirectX/scalarize-global.ll
M llvm/test/CodeGen/LoongArch/lasx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lasx/fpowi.ll
M llvm/test/CodeGen/LoongArch/lasx/scalar-to-vector.ll
M llvm/test/CodeGen/PowerPC/aix-vec_insert_elt.ll
M llvm/test/CodeGen/PowerPC/build-vector-tests.ll
M llvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll
M llvm/test/CodeGen/PowerPC/combine-fneg.ll
M llvm/test/CodeGen/PowerPC/fp-strict-round.ll
M llvm/test/CodeGen/PowerPC/frem.ll
M llvm/test/CodeGen/PowerPC/froundeven-legalization.ll
M llvm/test/CodeGen/PowerPC/half.ll
M llvm/test/CodeGen/PowerPC/ldexp.ll
M llvm/test/CodeGen/PowerPC/llvm.modf.ll
M llvm/test/CodeGen/PowerPC/vec_insert_elt.ll
M llvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll
A llvm/test/CodeGen/X86/coalescer-breaks-subreg-to-reg-liveness.ll
M llvm/test/CodeGen/X86/coalescer-implicit-def-regression-imp-operand-assert.mir
A llvm/test/CodeGen/X86/coalescing-subreg-to-reg-requires-subrange-update.mir
A llvm/test/CodeGen/X86/pr76416.ll
M llvm/test/CodeGen/X86/subreg-fail.mir
A llvm/test/CodeGen/X86/subreg-to-reg-coalescing.mir
A llvm/test/Transforms/Coroutines/declare-value.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/gather-scatter-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs.ll
A llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar-widen-gep-scalable.ll
A llvm/test/Transforms/LoopVectorize/pr128062-interleaved-accesses-narrow-group.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-cond-poison.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
M llvm/test/Transforms/LoopVectorize/widen-gep-all-indices-invariant.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/std-find.ll
M llvm/test/tools/dsymutil/AArch64/dummy-debug-map-arm64.map
M llvm/test/tools/dsymutil/AArch64/dwarf5-str-offsets-base-strx.test
M llvm/test/tools/dsymutil/AArch64/inlined-low_pc.c
A llvm/test/tools/dsymutil/AArch64/odr-uniquing-DW_AT_name-conflict.test
A llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/1.o
A llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/2.o
A llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/lib1.cpp
A llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/lib1.h
A llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/lib2.cpp
A llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/main.cpp
M llvm/tools/bugpoint/BugDriver.h
M llvm/tools/bugpoint/ExecutionDriver.cpp
M llvm/tools/bugpoint/ExtractFunction.cpp
M llvm/tools/bugpoint/Miscompilation.cpp
M llvm/tools/bugpoint/OptimizerDriver.cpp
M llvm/unittests/DebugInfo/PDB/NativeSessionTest.cpp
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
M llvm/utils/lit/examples/many-tests/ManyTests.py
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
M mlir/lib/Bindings/Python/DialectLLVM.cpp
M mlir/lib/CAPI/Dialect/LLVM.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitData.cpp
M mlir/test/Dialect/OpenACC/acc-implicit-data.mlir
M mlir/test/Target/LLVMIR/target-ext-type.mlir
M mlir/test/python/dialects/llvm.py
Log Message:
-----------
Merge branch 'main' into users/agozillo/declare-target-to-3
Compare: https://github.com/llvm/llvm-project/compare/56b2624c0c6b...9c4634b743f6
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