LLVM/project 7175d46flang/test/Driver intrinsic-module-path_per_target.f90

Specify target triple
DeltaFile
+8-8flang/test/Driver/intrinsic-module-path_per_target.f90
+8-81 files

LLVM/project 0a2f943libcxx/include/__utility pair.h

[libc++] Remove _LIBCPP_HIDE_FROM_ABI from <__utility/pair.h> (#196508)

This is a follow-up to #193045. This only drops `_LIBCPP_HIDE_FROM_ABI`
in a small part of the code base to make sure everything works as
expected. Once this has been in trunk for a while and there aren't any
problems, there will be larger follow-up patches to remove
`_LIBCPP_HIDE_FROM_ABI` throughout the code base.
DeltaFile
+77-97libcxx/include/__utility/pair.h
+77-971 files

LLVM/project 9dae222llvm/lib/ABI FunctionInfo.cpp

shorten comment

Created using spr 1.3.7
DeltaFile
+2-3llvm/lib/ABI/FunctionInfo.cpp
+2-31 files

LLVM/project 1ae2255clang/include/clang/DependencyScanning DependencyScannerImpl.h, clang/lib/DependencyScanning DependencyScannerImpl.cpp ModuleDepCollector.cpp

[clang][deps] Use `ModuleDepCollector` for Make output (#182063)

The dependency scanner works significantly differently depending on what
kind of output it's asked to produce. The Make output format has been
using the regular Clang dependency collection mechanism since it was
first implemented. This means the implementation works very differently
to the rest of the scanner and isn't able to turn implicit module
command lines into Makefiles using explicit modules.

This PR unifies the two implementations, using `ModuleDepCollector` even
for Make output. Emitting explicit module builds into Makefiles will
come in a later PR.
DeltaFile
+11-49clang/lib/DependencyScanning/DependencyScannerImpl.cpp
+20-10clang/lib/Tooling/DependencyScanningTool.cpp
+6-4clang/unittests/Tooling/DependencyScannerTest.cpp
+7-0clang/lib/DependencyScanning/ModuleDepCollector.cpp
+3-4clang/include/clang/DependencyScanning/DependencyScannerImpl.h
+2-2clang/tools/clang-scan-deps/ClangScanDeps.cpp
+49-694 files not shown
+56-7110 files

LLVM/project 300c7b0llvm/lib/ABI FunctionInfo.cpp

address review comments: relocate comment to FunctionInfo::create()

Created using spr 1.3.7
DeltaFile
+3-0llvm/lib/ABI/FunctionInfo.cpp
+3-01 files

LLVM/project 9414ed7llvm/include/llvm/Transforms/Vectorize LoopVectorize.h, llvm/lib/Transforms/Vectorize LoopVectorize.cpp LoopVectorizationPlanner.cpp

Revert "[VPlan] Unify inner and outer loop paths (NFCI). (#192868)"

This reverts commit b84f58ee844ca929db2fff2e41e2195e255548b8.
DeltaFile
+246-108llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+0-48llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.cpp
+27-15llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
+21-8llvm/lib/Transforms/Vectorize/VPlan.cpp
+3-6llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
+0-4llvm/lib/Transforms/Vectorize/VPlan.h
+297-1894 files not shown
+300-19510 files

LLVM/project cd1ed45llvm/utils/gn/secondary/lldb/include/lldb/Host BUILD.gn

[gn] port 7e74c78ea342 (#196624)
DeltaFile
+1-0llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn
+1-01 files

LLVM/project f6c2acbllvm/lib/Target/AMDGPU/AsmParser AMDGPUAsmParser.cpp, llvm/test/MC/AMDGPU literals.s

[AMDGPU] Validate forced lit() immediate

Right now it takes validation path of an inline constant if fits
even though it is forced to literal encoding.
DeltaFile
+7-1llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+2-2llvm/test/MC/AMDGPU/literals.s
+9-32 files

LLVM/project 792610ellvm/utils/gn/secondary/clang/unittests/DependencyScanning BUILD.gn

[gn build] Port ebb9a79cd370 (#196622)
DeltaFile
+4-1llvm/utils/gn/secondary/clang/unittests/DependencyScanning/BUILD.gn
+4-11 files

LLVM/project e9a914allvm/utils/gn/secondary/llvm/unittests/Target/AMDGPU BUILD.gn

[gn build] Port e6efa1a4c9f6 (#196621)
DeltaFile
+1-0llvm/utils/gn/secondary/llvm/unittests/Target/AMDGPU/BUILD.gn
+1-01 files

LLVM/project c26716fllvm/utils/gn/secondary/llvm/lib/Transforms/IPO BUILD.gn

[gn build] Port c507e2024c9a (#196620)
DeltaFile
+1-0llvm/utils/gn/secondary/llvm/lib/Transforms/IPO/BUILD.gn
+1-01 files

LLVM/project 62efd9dllvm/utils/gn/secondary/lldb/source/Target BUILD.gn

[gn build] Port 3fe311f215d0 (#196619)
DeltaFile
+1-0llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn
+1-01 files

LLVM/project 1ab839dllvm/utils/gn/secondary/libcxx/include BUILD.gn

[gn] port 2e2d90b98661 (#196618)
DeltaFile
+1-0llvm/utils/gn/secondary/libcxx/include/BUILD.gn
+1-01 files

LLVM/project b84f58ellvm/include/llvm/Transforms/Vectorize LoopVectorize.h, llvm/lib/Transforms/Vectorize LoopVectorize.cpp LoopVectorizationPlanner.cpp

[VPlan] Unify inner and outer loop paths (NFCI). (#192868)

Move combine the logic of tryToBuildVPlanWithVPRecipes and
tryToBuildVPlan, as well as planInVPlanNativePath and plan.

This unifies the code paths to construct plans for both inner and outer
loop vectorization, and removes some duplication. It also ensures we run
almost the same VPlan-transformations in both modes. Currently a few
code paths need to be guarded with a check if we are dealing with an
inner and outer loop.

PR: https://github.com/llvm/llvm-project/pull/192868
DeltaFile
+108-246llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+48-0llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.cpp
+15-27llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
+8-21llvm/lib/Transforms/Vectorize/VPlan.cpp
+6-3llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
+4-0llvm/lib/Transforms/Vectorize/VPlan.h
+189-2974 files not shown
+195-30010 files

LLVM/project c8408b3clang/test/CIR mlprint.c, clang/test/CIR/CodeGen delete-array-throwing-dtor.cpp

[cir] fix IR dump comments from #195198 (#196605)
DeltaFile
+2-2clang/test/CIR/mlprint.c
+2-2clang/test/CIR/CodeGen/delete-array-throwing-dtor.cpp
+1-1clang/test/CIR/Transforms/idiom-recognizer.cpp
+5-53 files

LLVM/project eefbaf0clang/lib/CIR/CodeGen CIRGenCoroutine.cpp CIRGenExprComplex.cpp, clang/test/CIR/CodeGen coro-task.cpp

[CIR] Implement CoawaitExpr for ComplexType (#194027)

Implement CoawaitExpr support for ComplexType

Issue https://github.com/llvm/llvm-project/issues/192331
DeltaFile
+59-0clang/test/CIR/CodeGen/coro-task.cpp
+16-4clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
+1-2clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
+76-63 files

LLVM/project 328ddd9lldb/bindings/interface SBTypeEnumMemberExtensions.i

[lldb] Remove `__iter/len__` from `SBTypeEnumMember` (#196610)

`SBTypeEnumMember` doesn't have a `GetSize` and
`GetTypeEnumMemberAtIndex`, so having `__iter__` and `__len__` doesn't
make sense. These are on `SBTypeEnumMemberList`. From the docstrings, it
looks like the extensions were copied from said type.
DeltaFile
+0-8lldb/bindings/interface/SBTypeEnumMemberExtensions.i
+0-81 files

LLVM/project 4b5d61d

Revert "[SLP] Vectorize struct-returning intrinsics"

This reverts commit b0c6df7b95b3c70d78c65a39598007f722794d38.
DeltaFile
+0-00 files

LLVM/project f6c8904lldb/test/API/functionalities/ptrauth_diagnostics/brkC47x_x16_invalid brkC47x.c

[lldb] Fix TestPtrauthBRKc47xX16Invalid.py (#196408)

LLDB correctly detects the pointer authentication failure.
DeltaFile
+1-1lldb/test/API/functionalities/ptrauth_diagnostics/brkC47x_x16_invalid/brkC47x.c
+1-11 files

LLVM/project 4d90a0fllvm/lib/DWARFLinker/Parallel AcceleratorRecordsSaver.cpp

[DWARFLinker] Emit .debug_names entries for DW_TAG_template_alias (#196440)

The tag was missing from the accelerator-records saver's switch, so
template alias DIEs were skipped and --verify-dwarf=output rejected the
result.
DeltaFile
+1-0llvm/lib/DWARFLinker/Parallel/AcceleratorRecordsSaver.cpp
+1-01 files

LLVM/project f80aa05llvm/include/llvm/IR IRBuilder.h, llvm/include/llvm/Transforms/Utils AssumeBundleBuilder.h

[InstCombine][NFC] Replace buildAssumeFromKnowledge with CreateAlignmentAssumption (#196254)
DeltaFile
+40-0llvm/test/Transforms/InstCombine/assume.ll
+3-21llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
+0-10llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
+0-7llvm/include/llvm/Transforms/Utils/AssumeBundleBuilder.h
+1-1llvm/lib/IR/IRBuilder.cpp
+1-1llvm/include/llvm/IR/IRBuilder.h
+45-406 files

LLVM/project f10f4e8llvm/lib/Target/AMDGPU AMDGPU.td VOP3Instructions.td

[AMDGPU] Add subtarget features for MAD NC and 64-bit MIN/MAX instructions (#196326)
DeltaFile
+10-0llvm/lib/Target/AMDGPU/AMDGPU.td
+3-3llvm/lib/Target/AMDGPU/VOP3Instructions.td
+13-32 files

LLVM/project 0826adamlir/include/mlir/Dialect/Vector/Transforms LoweringPatterns.h, mlir/lib/Dialect/Vector/Transforms LowerVectorContract.cpp

Rename vector contract default filter
DeltaFile
+6-6mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp
+5-5mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
+2-2mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
+13-133 files

LLVM/project 01120edmlir/include/mlir/Dialect/Vector/Transforms LoweringPatterns.h, mlir/lib/Dialect/Vector/Transforms LowerVectorContract.cpp

Reuse filter constraint naming for contract lowering policy
DeltaFile
+40-86mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp
+9-10mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
+49-962 files

LLVM/project 0e4477bcompiler-rt/include/profile InstrProfData.inc, compiler-rt/lib/profile InstrProfilingPlatformGPU.c InstrProfiling.h

[compiler-rt][profile][NFC] Introduce INSTR_PROF_INSTRUMENT_GPU_FUNC macro (#196538)

Add a macro INSTR_PROF_INSTRUMENT_GPU_FUNC for the name of the GPU
profiling function __llvm_profile_instrument_gpu (added in #187136),
following the same pattern as INSTR_PROF_VALUE_PROF_MEMOP_FUNC. Use the
macro in both the declaration in InstrProfiling.h and the definition in
InstrProfilingPlatformGPU.c.

This prepares the upcoming HIP/AMDGPU offload PGO patch (#177665) to use
the same macro when calling this function.
DeltaFile
+3-3compiler-rt/lib/profile/InstrProfilingPlatformGPU.c
+2-2compiler-rt/lib/profile/InstrProfiling.h
+3-0llvm/include/llvm/ProfileData/InstrProfData.inc
+3-0compiler-rt/include/profile/InstrProfData.inc
+11-54 files

LLVM/project 677512fclang/lib/CodeGen CGCall.cpp, llvm/include/llvm/ABI FunctionInfo.h

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+6-5llvm/lib/ABI/FunctionInfo.cpp
+1-1clang/lib/CodeGen/CGCall.cpp
+1-1llvm/include/llvm/ABI/FunctionInfo.h
+8-73 files

LLVM/project 0f3d9ceflang/lib/Lower/OpenMP ClauseProcessor.cpp OpenMP.cpp, flang/test/Lower/OpenMP declare-reduction-initializer-defined-assign.f90 declare-reduction-initializer-rhs-call.f90

[flang][OpenMP] Fix component-level initializer in declare reduction (#195751)

When a declare reduction initializer uses a component assignment such as
`initializer(omp_priv%member = 0)`, the lowering would store the scalar
RHS value (i32) directly to the whole derived-type reference, causing a
FIR verification error: `'fir.store' op store value type must match memory reference type`.

The root cause is that `MakeEvaluateExpr` extracts only the RHS
expression
from the `AssignmentStmt`, discarding the LHS component information. The
lowering callback then returns this scalar value which gets stored to
the
wrong type.

Fix this by mirroring the approach already used for combiner
expressions:
pass the parser-level `OmpStylizedInstance` to `processInitializer` so
the
callback can access the typed assignment and lower the full assignment

    [8 lines not shown]
DeltaFile
+60-0flang/test/Lower/OpenMP/declare-reduction-initializer-defined-assign.f90
+50-5flang/lib/Lower/OpenMP/ClauseProcessor.cpp
+52-0flang/test/Lower/OpenMP/declare-reduction-initializer-rhs-call.f90
+41-0flang/test/Lower/OpenMP/declare-reduction-initializer-component.f90
+19-1flang/lib/Lower/OpenMP/OpenMP.cpp
+1-2flang/test/Lower/OpenMP/declare-reduction-finalizer.f90
+223-81 files not shown
+225-97 files

LLVM/project 0e05f65clang/lib/Sema SemaExpr.cpp SemaExprCXX.cpp, clang/test/CodeGenCXX gh196469-default-member-init-lambda-cleanup.cpp

[Clang] Track temporary cleanups in rebuilt default member initializers

Fixes https://github.com/llvm/llvm-project/issues/196469

When Clang rebuilds a default member initializer for CWG1815 lifetime extension, TreeTransform's initializer path can drop CXXBindTemporaryExpr cleanup information. That loses destructor cleanup for ordinary temporaries inside the initializer; for a DMI-local lambda with an init-capture, the closure temporary is not destroyed at the end of the full-expression.

Handle CXXBindTemporaryExpr explicitly while rebuilding these initializers, rebind transformed subexpressions with MaybeBindToTemporary, and remember whether the rebuilt initializer still needs non-lifetime-extended cleanups. After discarding the cleanups collected for lifetime extension, restore the ExprWithCleanups marker only when such a rebuilt temporary remains.

When MaybeBindToTemporary references an implicit destructor and Sema has synthesized its body, pass that declaration to the AST consumer because there may be no later top-level definition point for DMI-local closure types. Add a CodeGenCXX regression test for a lambda init-capture in a default member initializer.

Assisted By: OpenAI Codex
DeltaFile
+54-1clang/lib/Sema/SemaExpr.cpp
+24-0clang/test/CodeGenCXX/gh196469-default-member-init-lambda-cleanup.cpp
+9-0clang/lib/Sema/SemaExprCXX.cpp
+87-13 files

LLVM/project 23be203flang/lib/Lower OpenACC.cpp, flang/test/Lower/OpenACC acc-unstructured.f90

[flang][OpenACC] support collapse on unstructured acc.loop (#196174)

PR #164992 added unstructured-loop support to OpenACC lowering (no
bounds on acc.loop, IVs privatized, body emitted as explicit cf), but it
didn't covered the `collapse(N)` case. Compiling
```
  !$acc parallel loop collapse(2)
  do j = 1, n
    do i = 1, n
      if (i == jdiag) then
        a(i,j) = 0.0d0
        cycle
      end if
      a(i,j) = real(i + j, 8)
    end do
  end do
```
asserted in MLIR's runRegionDCE: "Assertion `mightHaveTerminator()'
failed".

    [14 lines not shown]
DeltaFile
+88-0flang/test/Lower/OpenACC/acc-unstructured.f90
+30-11flang/lib/Lower/OpenACC.cpp
+118-112 files

LLVM/project 980a461clang/include/clang/Driver Action.h, clang/lib/Driver/ToolChains Clang.cpp

clang: Consolidate -aux-triple handling (#196551)

All of the offload languages were essentially doing the
same thing, with overcomplicated conditions conditional on
the language.
DeltaFile
+41-51clang/lib/Driver/ToolChains/Clang.cpp
+3-0clang/include/clang/Driver/Action.h
+1-1clang/test/Driver/sycl-offload-jit-xarch.cpp
+45-523 files