Skip to content

Update LLVM version#2918

Merged
erwei-xilinx merged 10 commits intomainfrom
update-llvm-version
Mar 5, 2026
Merged

Update LLVM version#2918
erwei-xilinx merged 10 commits intomainfrom
update-llvm-version

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Mar 3, 2026

Updates LLVM version based on triton-shared or torch-mlir.

Reason: Manual update via --llvm-hash

Triggered by: workflow_dispatch

LLVM 23 removed GEN_PASS_CLASSES backward compatibility from the
TableGen pass generator (it now emits #error). This commit migrates
all mlir-aie pass definitions to use the new GEN_PASS_DEF_<PASSNAME>
per-pass macros.

Changes:
- Remove GEN_PASS_CLASSES from 5 headers (AIEPasses.h, AIEXPasses.h,
  AIEVec Analysis/Transforms Passes.h, PassDetail.h)
- Add GEN_PASS_DEF_<PASSNAME> defines and .h.inc includes in each
  .cpp file that defines a pass
- Qualify generated base classes with their full namespace
  (e.g., xilinx::AIE::impl::AIEAssignLockIDsBase)
- Use impl:: namespace for base class references in headers where
  the base class is used directly (AIEPasses.h)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Contributor Author

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

clang-format

[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

struct AIEVectorOptPass : xilinx::AIE::impl::AIEVectorOptBase<AIEVectorOptPass> {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

: xilinx::AIE::impl::AIEVectorTransferLoweringBase<AIEVectorTransferLoweringPass> {


[clang-format] reported by reviewdog 🐶

struct AIEVecConvAnalysis : public xilinx::aievec::impl::AIEVecConvAnalysisBase<AIEVecConvAnalysis> {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

: xilinx::AIEX::impl::AIEAssignRuntimeSequenceBDIDsBase<AIEAssignRuntimeSequenceBDIDsPass> {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

: public xilinx::AIEX::impl::AIEBroadcastPacketBase<AIEBroadcastPacketPass> {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

struct AIECreateCoresPass : public xilinx::AIEX::impl::AIECreateCoresBase<AIECreateCoresPass> {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

struct AIECreateLocksPass : public xilinx::AIEX::impl::AIECreateLocksBase<AIECreateLocksPass> {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

: xilinx::AIEX::impl::AIECtrlPacketInferTilesBase<AIECtrlPacketInferTilesPass> {


[clang-format] reported by reviewdog 🐶

struct AIECtrlPacketToDmaPass : xilinx::AIEX::impl::AIECtrlPacketToDmaBase<AIECtrlPacketToDmaPass> {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

struct AIEDMATasksToNPUPass : xilinx::AIEX::impl::AIEDMATasksToNPUBase<AIEDMATasksToNPUPass> {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

struct AIEHerdRoutingPass : xilinx::AIEX::impl::AIEHerdRoutingBase<AIEHerdRoutingPass> {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

struct AIELowerMemcpyPass : public xilinx::AIEX::impl::AIELowerMemcpyBase<AIELowerMemcpyPass> {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

struct AIELowerMulticastPass : public xilinx::AIEX::impl::AIEMulticastBase<AIELowerMulticastPass> {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

struct AIELowerSetLockPass : public xilinx::AIEX::impl::AIELowerSetLockBase<AIELowerSetLockPass> {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

: xilinx::AIEX::impl::AIEMaterializeBDChainsBase<AIEMaterializeBDChainsPass> {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

: xilinx::AIEX::impl::AIEMaterializeRuntimeSequencesBase<AIEMaterializeRuntimeSequencesPass> {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

struct AIENpuToCertPass : xilinx::AIEX::impl::AIENpuToCertBase<AIENpuToCertPass> {


[clang-format] reported by reviewdog 🐶

struct AIECertPagesPass : xilinx::AIEX::impl::AIECertPagesBase<AIECertPagesPass> {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

: xilinx::AIEX::impl::AIESubstituteShimDMAAllocationsBase<AIESubstituteShimDMAAllocationsPass> {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

: public xilinx::AIEX::impl::AIETransformBfpTypesBase<AIETransformBfpTypesPass> {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

: public xilinx::AIEX::impl::AIETxnToControlPacketBase<AIETxnToControlPacketPass> {


[clang-format] reported by reviewdog 🐶

: public xilinx::AIEX::impl::AIELegalizeControlPacketBase<AIELegalizeControlPacketPass> {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

struct AIEXToStandardPass : xilinx::AIEX::impl::AIEXToStandardBase<AIEXToStandardPass> {

LLVM 23 removed the PYTHON_BINDINGS_LIBRARY parameter from
declare_mlir_python_extension (nanobind is now the only option).
The unrecognized parameter was being passed through as literal
library names (-lPYTHON_BINDINGS_LIBRARY -lnanobind), causing
linker failures.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Contributor Author

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

clang-format

[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

: xilinx::AIEX::impl::AIEMaterializeRuntimeSequencesBase<AIEMaterializeRuntimeSequencesPass> {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

struct AIENpuToCertPass : xilinx::AIEX::impl::AIENpuToCertBase<AIENpuToCertPass> {


[clang-format] reported by reviewdog 🐶

struct AIECertPagesPass : xilinx::AIEX::impl::AIECertPagesBase<AIECertPagesPass> {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

: xilinx::AIEX::impl::AIESubstituteShimDMAAllocationsBase<AIESubstituteShimDMAAllocationsPass> {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

: public xilinx::AIEX::impl::AIETransformBfpTypesBase<AIETransformBfpTypesPass> {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

: public xilinx::AIEX::impl::AIETxnToControlPacketBase<AIETxnToControlPacketPass> {


[clang-format] reported by reviewdog 🐶

: public xilinx::AIEX::impl::AIELegalizeControlPacketBase<AIELegalizeControlPacketPass> {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

struct AIEXToStandardPass : xilinx::AIEX::impl::AIEXToStandardBase<AIEXToStandardPass> {

erwei-xilinx and others added 4 commits March 3, 2026 16:06
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The eudsl-python-extras package uses np.bool which was removed in
numpy 1.24. Since the CI installs numpy 1.26.4 (per the <2.0
constraint), all Python tests crash with AttributeError.

Add a post-vendoring patch step in vendor_eudsl.py that replaces
np.bool with np.bool_ in the vendored util.py.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The _is_index_type function was removed from
mlir.dialects.linalg.opdsl.lang.emitter in LLVM 23. Replace the
import with an inline IndexType.isinstance() check, which is what
_is_index_type did.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
LLVM 23's nanobind-based Python bindings removed the static
isinstance() classmethod from type classes. Use Python's builtin
isinstance() instead.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Contributor Author

github-actions bot commented Mar 4, 2026

Coverage Report

Created: 2026-03-05 02:22

Click here for information about interpreting this report.

FilenameFunction CoverageLine CoverageRegion CoverageBranch Coverage
include/aie/Dialect/AIE/Transforms/AIEPasses.h 100.00% 100.00% 100.00% -
lib/Conversion/AIEToConfiguration/AIEToConfiguration.cpp 91.30% 67.53% 61.27% 45.19%
lib/Conversion/AIEVecToLLVM/AIEVecToLLVM.cpp 87.74% 77.94% 71.28% 58.45%
lib/Dialect/AIE/Transforms/AIEAssignBufferDescriptorIDs.cpp 100.00% 92.55% 96.47% 89.06%
lib/Dialect/AIE/Transforms/AIEAssignBuffers.cpp 90.00% 86.87% 88.54% 82.84%
lib/Dialect/AIE/Transforms/AIEAssignLockIDs.cpp 100.00% 100.00% 100.00% 100.00%
lib/Dialect/AIE/Transforms/AIECanonicalizeDevice.cpp 100.00% 100.00% 100.00% 100.00%
lib/Dialect/AIE/Transforms/AIECoreToStandard.cpp 91.18% 88.20% 84.07% 74.00%
lib/Dialect/AIE/Transforms/AIEFindFlows.cpp 100.00% 93.78% 65.83% 50.67%
lib/Dialect/AIE/Transforms/AIEGenerateColumnControlOverlay.cpp 70.59% 76.17% 81.63% 77.19%
lib/Dialect/AIE/Transforms/AIEHoistVectorTransferPointers.cpp 100.00% 71.46% 66.14% 59.03%
lib/Dialect/AIE/Transforms/AIELocalizeLocks.cpp 100.00% 98.11% 94.44% 93.75%
lib/Dialect/AIE/Transforms/AIELowerCascadeFlows.cpp 100.00% 93.55% 95.83% 93.75%
lib/Dialect/AIE/Transforms/AIENormalizeAddressSpaces.cpp 100.00% 96.23% 89.47% 83.33%
lib/Dialect/AIE/Transforms/AIEObjectFifoRegisterProcess.cpp 100.00% 93.83% 95.52% 90.38%
lib/Dialect/AIE/Transforms/AIEObjectFifoStatefulTransform.cpp 100.00% 94.80% 92.67% 86.24%
lib/Dialect/AIE/Transforms/AIETraceToConfig.cpp 100.00% 89.69% 84.10% 68.88%
lib/Dialect/AIE/Transforms/AIEVectorOpt.cpp 25.00% 13.04% 16.67% 0.00%
lib/Dialect/AIE/Transforms/AIEVectorTransferLowering.cpp 83.33% 81.82% 81.82% 50.00%
lib/Dialect/AIEVec/Transforms/AIEVectorize.cpp 97.94% 93.75% 87.29% 71.84%
lib/Dialect/AIEVec/Transforms/FoldMulAddChainToConvOp.cpp 92.31% 70.99% 72.34% 51.98%
lib/Dialect/AIEX/Transforms/AIEAssignRuntimeSequenceBDIDs.cpp 100.00% 93.60% 92.16% 82.14%
lib/Dialect/AIEX/Transforms/AIECreateBroadcastPacket.cpp 100.00% 98.08% 92.86% 91.67%
lib/Dialect/AIEX/Transforms/AIECreateCores.cpp 100.00% 96.30% 96.77% 80.43%
lib/Dialect/AIEX/Transforms/AIECreateLocks.cpp 100.00% 95.71% 77.70% 52.22%
lib/Dialect/AIEX/Transforms/AIECtrlPacketToDma.cpp 100.00% 93.43% 84.09% 80.00%
lib/Dialect/AIEX/Transforms/AIEDMATasksToNPU.cpp 95.45% 85.27% 89.43% 78.65%
lib/Dialect/AIEX/Transforms/AIEDmaToNpu.cpp 100.00% 87.72% 77.50% 56.00%
lib/Dialect/AIEX/Transforms/AIEExpandLoadPdi.cpp 100.00% 81.54% 80.00% 66.67%
lib/Dialect/AIEX/Transforms/AIEHerdRouting.cpp 16.67% 1.29% 0.61% 0.00%
lib/Dialect/AIEX/Transforms/AIEInlineTraceConfig.cpp 100.00% 80.56% 85.19% 72.22%
lib/Dialect/AIEX/Transforms/AIELowerMemcpy.cpp 100.00% 98.61% 92.31% 75.00%
lib/Dialect/AIEX/Transforms/AIELowerMulticast.cpp 100.00% 97.06% 90.91% 87.50%
lib/Dialect/AIEX/Transforms/AIELowerSetLock.cpp 100.00% 84.85% 80.00% 50.00%
lib/Dialect/AIEX/Transforms/AIEMaterializeBDChains.cpp 100.00% 84.52% 80.00% 57.14%
lib/Dialect/AIEX/Transforms/AIEMaterializeRuntimeSequences.cpp 88.89% 77.61% 76.68% 66.44%
lib/Dialect/AIEX/Transforms/AIENpuToCert.cpp 88.24% 88.75% 76.56% 67.16%
lib/Dialect/AIEX/Transforms/AIESubstituteShimDMAAllocations.cpp 100.00% 84.38% 77.78% 50.00%
lib/Dialect/AIEX/Transforms/AIETransformBfpTypes.cpp 100.00% 93.63% 93.65% 86.84%
lib/Dialect/AIEX/Transforms/AIETxnToControlPacket.cpp 100.00% 81.44% 78.05% 59.09%
lib/Dialect/AIEX/Transforms/AIEXToStandard.cpp 100.00% 96.00% 87.50% 50.00%
Totals 93.02% 83.88% 78.62% 67.26%
Generated by llvm-cov -- llvm version 18.1.3

The SCF IfOp Python binding renamed the hasElse parameter to
has_else in LLVM 23.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@erwei-xilinx
Copy link
Collaborator

Cc: @hunhoffe

@erwei-xilinx erwei-xilinx added this pull request to the merge queue Mar 5, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Mar 5, 2026
@erwei-xilinx erwei-xilinx added this pull request to the merge queue Mar 5, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Mar 5, 2026
erwei-xilinx and others added 2 commits March 4, 2026 17:20
The merge with main brought in new trace infrastructure files
(AIETraceToConfig.cpp, AIEInlineTraceConfig.cpp) that still used the old
GEN_PASS_CLASSES pattern which LLVM 23 removed. Apply the same per-pass
GEN_PASS_DEF_ migration used by all other passes on this branch.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@erwei-xilinx erwei-xilinx added this pull request to the merge queue Mar 5, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Mar 5, 2026
@erwei-xilinx erwei-xilinx added this pull request to the merge queue Mar 5, 2026
Merged via the queue into main with commit c668d2c Mar 5, 2026
60 checks passed
@erwei-xilinx erwei-xilinx deleted the update-llvm-version branch March 5, 2026 05:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants