[all-commits] [llvm/llvm-project] e82904: [NFC][analyzer] Cleanup checker calls in `ExprEngi...

Aiden Grossman via All-commits all-commits at lists.llvm.org
Wed Sep 9 12:55:14 PDT 2026


  Branch: refs/heads/users/boomanaiden154/ir-remove-profcheckdisablemetadatafixes-checks
  Home:   https://github.com/llvm/llvm-project
  Commit: e829049823905405779c6b908437b200e7ed1b2e
      https://github.com/llvm/llvm-project/commit/e829049823905405779c6b908437b200e7ed1b2e
  Author: Gábor Tóthvári <gabor.tothvari at ericsson.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp

  Log Message:
  -----------
  [NFC][analyzer] Cleanup checker calls in `ExprEngine::ProcessStmt`, `ExprEngine::Visit*` (#218691)

Begin standardizing how `PreStmt` checkers and `PostStmt` checkers are
called by the analyzer engine. Previously, checkers were called either
from `ExprEngine::Visit` or the visit method of the statement. Now this
logic was hoisted out into `ExprEngine::ProcessStmt` and most of the
checker calls happen from there.

There are several statement kinds that do not call checkers at all or
only call `PreVisit` or only call `PostVisit` checkers. There are also
statement kinds whose visit code does not easily lend itself to the
`PreVisit`, `Visit`, `PostVisit` scheme, so those have been left
unmodified and will be refactored in a separate patch. The checker
calling status of statement kinds have been documented in the function
`shouldJustCallCheckers`.


  Commit: 2c9afb46c32ccf19fe048688e273cad4c7b3dfc6
      https://github.com/llvm/llvm-project/commit/2c9afb46c32ccf19fe048688e273cad4c7b3dfc6
  Author: Ayokunle Amodu <ayokunle321 at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip

  Log Message:
  -----------
  [CIR][AMDGPU] Add support for AMDGCN bitfield extract builtins (#222186)

Adds codegen for the following AMDGCN bitfield extract builtins:

* __builtin_amdgcn_ubfe (unsigned)
* __builtin_amdgcn_sbfe (signed)

These are lowered to the corresponding `llvm.amdgcn.ubfe` and
`llvm.amdgcn.sbfe` intrinsics.


  Commit: 3cab00bd5674d374e702807a57a3db432a351086
      https://github.com/llvm/llvm-project/commit/3cab00bd5674d374e702807a57a3db432a351086
  Author: Ayokunle Amodu <ayokunle321 at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn-vi-f16.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip

  Log Message:
  -----------
  [CIR][AMDGPU] Add support for AMDGCN fract builtins (#222185)

Adds codegen for the following AMDGCN fract builtins:

* __builtin_amdgcn_fract (double)
* __builtin_amdgcn_fractf (float)
* __builtin_amdgcn_fracth (half)

These are lowered to the corresponding `llvm.amdgcn.fract` intrinsics.


  Commit: 5ad3dd8a19d4ef59a13ac0052abe5fbca7b2823c
      https://github.com/llvm/llvm-project/commit/5ad3dd8a19d4ef59a13ac0052abe5fbca7b2823c
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-async-load-store-lds.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/test/Transforms/FunctionAttrs/sendmsg-nocallback.ll

  Log Message:
  -----------
  [AMDGPU] Add more attributes to some intrinsics to help with attribute propagation (#222222)


  Commit: 2c09e15d1cd4e6c42a7eddf4f09bed9dab0145e3
      https://github.com/llvm/llvm-project/commit/2c09e15d1cd4e6c42a7eddf4f09bed9dab0145e3
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M flang-rt/lib/cuda/init.cpp
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
    M flang/test/Fir/CUDA/cuda-constructor-2.f90

  Log Message:
  -----------
  [flang][cuda] Emit Mcuda_compiled sentinel for CUDA Fortran objects (#222421)

Objects compiled as CUDA Fortran now declare an undefined Mcuda_compiled
symbol from CUFAddConstructor when emit-cuda-compiled is set. Linking
without the CUDA Fortran runtime then fails with a clear undefined
reference instead of only _FortranACUFInit, which is limited to PROGRAM
units.

The CUDA Fortran runtime defines the symbol so linking with the CUDA
Fortran runtime still succeeds.


  Commit: 9c4200de17ced044bd832ec5e4e78c2e0ab25fd7
      https://github.com/llvm/llvm-project/commit/9c4200de17ced044bd832ec5e4e78c2e0ab25fd7
  Author: Domenic Nutile <domenic.nutile at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/dpp_combine_rev_opcode.ll

  Log Message:
  -----------
  [AMDGPU] Update REV Opcode DPP Combine test to have True16 and Fake16 runs (#222217)

DPP is not implemented for VGPR16 operands, so we also need runs with
True16 disabled to verify that combining into opcodes that might use
them is being properly guarded.


  Commit: 77874a5794a3bb007cda2e6a5ac77e7ce48cf8c4
      https://github.com/llvm/llvm-project/commit/77874a5794a3bb007cda2e6a5ac77e7ce48cf8c4
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/AST/ExprClassification.cpp
    A clang/test/SemaCXX/imag-lvalue-with-non-complex-operand.cpp

  Log Message:
  -----------
  [Clang][Sema] Make _Imag int/float LValue not assignable (#218270)

Clang accepts `__real int/float` as an LValue because it's equal to the
scalar value itself, so the assignment will work fine, but it's not the
case for `__imag` because, for int and float, there is no imaginary part
to assign a value to it, so in the sema we can reject this case, similar
to GCC.

Fixes: #119498


  Commit: 6fb705da6eac41c4ff4625c0a89861defc67e124
      https://github.com/llvm/llvm-project/commit/6fb705da6eac41c4ff4625c0a89861defc67e124
  Author: Delaram Talaashrafi <dtalaashrafi at nvidia.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/OpenACC/Transforms/ACCCGToGPU.cpp
    A mlir/test/Dialect/OpenACC/acc-cg-to-gpu-privatize-threadx-heap.mlir

  Log Message:
  -----------
  [mlir][openacc] Keep vector-private storage per-lane in ACCCGToGPU (#222134)

Give each lane its own allocation when `ThreadX` is active and the shape
is too large or too dynamic to be considered for stack alloca.
`processPrivatize` published a single allocation through a workgroup
slot indexed by `ThreadY`, so all lanes of a worker ended up sharing one
buffer.


  Commit: c4c32a50adc88bf28a9188dcd946cdc2af7c19f2
      https://github.com/llvm/llvm-project/commit/c4c32a50adc88bf28a9188dcd946cdc2af7c19f2
  Author: Tim Kientzle <tkientzle at apple.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/utils/lit/lit/TestRunner.py

  Log Message:
  -----------
  [LIT] Fix quadratic behavior collecting process output (#222419)

Repeatedly appending to a string is quadratic.
This makes lit very slow when tests emit large amounts of output.

Fixing this speeds up one Swift compiler test by 36x (from 720s down to
20s).


  Commit: cd10182794b76adacc6a1c94953cdb2891d5735b
      https://github.com/llvm/llvm-project/commit/cd10182794b76adacc6a1c94953cdb2891d5735b
  Author: Andrei Elovikov <andrei.elovikov at sifive.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-based-stride-mv.ll
    M llvm/test/Transforms/LoopVectorize/vplan-based-stride-mv-btc.ll
    M llvm/test/Transforms/LoopVectorize/vplan-based-stride-mv.ll

  Log Message:
  -----------
  [NFC][VPlan] Add extra tests for VPlan-based stride speculation (#218795)

For https://github.com/llvm/llvm-project/pull/182595.


  Commit: 2f91c9c95a93be6d559dd0028a35c9f5e15d3dcf
      https://github.com/llvm/llvm-project/commit/2f91c9c95a93be6d559dd0028a35c9f5e15d3dcf
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/test/CodeGenObjCXX/arc-forwarded-lambda-call.mm

  Log Message:
  -----------
  [CodeGen] Relax an overly strict assert in EmitAggregateCopy (#219090)

EmitAggregateCopy contains a sanity check verifying that a record being
bitwise copied has a genuinely trivial copy/move constructor or
assignment operator. The check did not account for records that are
non-trivial only because they contain an ARC __strong field. Such
records are still trivial for the purposes of calls, so clang can
legitimately use memcpy to copy them when passing or returning the type
by value.

Relax the assertion by using hasTrivialCopyConstructorForCall() and
hasTrivialMoveConstructorForCall() instead of the plain
hasTrivialCopyConstructor()/hasTrivialMoveConstructor() checks, since
these are exactly the predicates that capture that notion of triviality
for calls. This also makes the separate hasAttr<TrivialABIAttr>() check
redundant, since the trivial_abi attribute unconditionally sets the
for-call bits for the copy constructor, move constructor, and
destructor.

rdar://182749806


  Commit: 44fc88bb27df4cbbe94d225398894d5175ae5f30
      https://github.com/llvm/llvm-project/commit/44fc88bb27df4cbbe94d225398894d5175ae5f30
  Author: Alex Duran <alejandro.duran at intel.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M offload/plugins-nextgen/level_zero/include/L0Options.h
    M offload/plugins-nextgen/level_zero/include/L0Queue.h
    M offload/plugins-nextgen/level_zero/src/L0Options.cpp
    M offload/plugins-nextgen/level_zero/src/L0Queue.cpp

  Log Message:
  -----------
  [offload][level_zero] Remove async queues (#222267)

Remove old queues now that new inorder queues seems stable enough (and
more in line with what is needed for liboffload).


  Commit: f6f71edb4346d586bb97485116175efd9a696ee8
      https://github.com/llvm/llvm-project/commit/f6f71edb4346d586bb97485116175efd9a696ee8
  Author: Gheorghe-Teodor Bercea <doru.bercea at amd.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/include/llvm/Support/AMDGPUAddrSpace.h
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/IR/VerifierAMDGPU.cpp
    M llvm/lib/IR/VerifierInternal.h
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll
    M llvm/test/CodeGen/AMDGPU/nullptr.ll
    M llvm/test/Verifier/AMDGPU/alloca.ll
    A llvm/test/Verifier/AMDGPU/global-variable.ll

  Log Message:
  -----------
  [AMDGPU] Introduce address space 13 for VGPR as memory (#208557)

Introduce address space 13 (enum, datalayout, verifier allowance, docs)
for VGPR as memory. No codegen in this PR.

Co-authored-by: Nicolai Hähnle <Nicolai.Haehnle at amd.com>


  Commit: 177bbcb1dffa5459436f6472ca23c3d9a1479e73
      https://github.com/llvm/llvm-project/commit/177bbcb1dffa5459436f6472ca23c3d9a1479e73
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp

  Log Message:
  -----------
  [InstCombine] Remove ProfcheckDisableMetadataFixes checks

Our internal ablation study on the set of checks up to 2-11-2026 has
finished, so we can remove any fixes that are older than that.

Reviewers: nikic, mtrofin

Pull Request: https://github.com/llvm/llvm-project/pull/222409


  Commit: 762530968a00538a5f6f2e769996c48a7c34f33f
      https://github.com/llvm/llvm-project/commit/762530968a00538a5f6f2e769996c48a7c34f33f
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/lib/AST/ExprClassification.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn-vi-f16.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip
    M clang/test/CodeGenObjCXX/arc-forwarded-lambda-call.mm
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-async-load-store-lds.cl
    A clang/test/SemaCXX/imag-lvalue-with-non-complex-operand.cpp
    M flang-rt/lib/cuda/init.cpp
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
    M flang/test/Fir/CUDA/cuda-constructor-2.f90
    M llvm/docs/AMDGPUUsage.rst
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/include/llvm/Support/AMDGPUAddrSpace.h
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/IR/VerifierAMDGPU.cpp
    M llvm/lib/IR/VerifierInternal.h
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll
    M llvm/test/CodeGen/AMDGPU/dpp_combine_rev_opcode.ll
    M llvm/test/CodeGen/AMDGPU/nullptr.ll
    M llvm/test/Transforms/FunctionAttrs/sendmsg-nocallback.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-based-stride-mv.ll
    M llvm/test/Transforms/LoopVectorize/vplan-based-stride-mv-btc.ll
    M llvm/test/Transforms/LoopVectorize/vplan-based-stride-mv.ll
    M llvm/test/Verifier/AMDGPU/alloca.ll
    A llvm/test/Verifier/AMDGPU/global-variable.ll
    M llvm/utils/lit/lit/TestRunner.py
    M mlir/lib/Dialect/OpenACC/Transforms/ACCCGToGPU.cpp
    A mlir/test/Dialect/OpenACC/acc-cg-to-gpu-privatize-threadx-heap.mlir
    M offload/plugins-nextgen/level_zero/include/L0Options.h
    M offload/plugins-nextgen/level_zero/include/L0Queue.h
    M offload/plugins-nextgen/level_zero/src/L0Options.cpp
    M offload/plugins-nextgen/level_zero/src/L0Queue.cpp

  Log Message:
  -----------
  rebase

Created using spr 1.3.7


Compare: https://github.com/llvm/llvm-project/compare/21886ca992e3...762530968a00

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