[all-commits] [llvm/llvm-project] e0216e: Add PISA codegen pipeline and lowering passes

Michal Paszkowski via All-commits all-commits at lists.llvm.org
Tue Sep 22 06:17:11 PDT 2026


  Branch: refs/heads/users/michalpaszkowski/pisa_backend_upstreaming_6
  Home:   https://github.com/llvm/llvm-project
  Commit: e0216ed655b08cd43e7825ad6035cdca586ba4f2
      https://github.com/llvm/llvm-project/commit/e0216ed655b08cd43e7825ad6035cdca586ba4f2
  Author: Michal Paszkowski <michal.paszkowski at intel.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Target/PISA/CMakeLists.txt
    M llvm/lib/Target/PISA/PISA.h
    A llvm/lib/Target/PISA/PISACacheHintSelector.cpp
    A llvm/lib/Target/PISA/PISAConstProp.cpp
    A llvm/lib/Target/PISA/PISAConstProp.h
    A llvm/lib/Target/PISA/PISAEmitIntrinsics.cpp
    A llvm/lib/Target/PISA/PISAExpandIntrinsics.cpp
    A llvm/lib/Target/PISA/PISAInsertLifetimeStart.cpp
    A llvm/lib/Target/PISA/PISAKernelByValArgsLowering.cpp
    A llvm/lib/Target/PISA/PISAKernelByValArgsLowering.h
    A llvm/lib/Target/PISA/PISALayout.cpp
    A llvm/lib/Target/PISA/PISALegalizeCalls.cpp
    A llvm/lib/Target/PISA/PISALegalizePredicates.cpp
    A llvm/lib/Target/PISA/PISALegalizeSubregAccess.cpp
    A llvm/lib/Target/PISA/PISAMarkConvergentNoMerge.cpp
    A llvm/lib/Target/PISA/PISAOptimizeRedundantCopies.cpp
    A llvm/lib/Target/PISA/PISAOptimizeSubregAccess.cpp
    A llvm/lib/Target/PISA/PISAPropagateNullPointers.cpp
    A llvm/lib/Target/PISA/PISAReplaceIntrinsics.cpp
    A llvm/lib/Target/PISA/PISAScopeSelector.cpp
    M llvm/lib/Target/PISA/PISATargetMachine.cpp
    A llvm/lib/Target/PISA/PISAVerifier.cpp
    A llvm/lib/Target/PISA/PISAVerifyTypes.cpp
    A llvm/test/CodeGen/PISA/mark-convergent-no-merge.mir
    A llvm/test/CodeGen/PISA/pisa-scope-selector.mir
    A llvm/test/CodeGen/PISA/propagate-null.ll
    A llvm/test/CodeGen/PISA/verify-types.mir

  Log Message:
  -----------
  Add PISA codegen pipeline and lowering passes

Add the IR- and MIR-level passes that make up the PISA code generation
pipeline and wire them into PISAPassConfig in PISATargetMachine:

- Intrinsic handling: PISAEmitIntrinsics, PISAExpandIntrinsics,
    PISAReplaceIntrinsics
- Call/ABI lowering: PISALegalizeCalls, PISAKernelByValArgsLowering
- IR preparation: PISAPropagateNullPointers, PISALayout, PISAConstProp
- Legalization/verification: PISALegalizePredicates, PISAVerifyTypes,
    PISAVerifier
- Post-selection: PISAScopeSelector, PISACacheHintSelector,
    PISALegalizeSubregAccess, PISAOptimizeSubregAccess,
    PISAOptimizeRedundantCopies, PISAMarkConvergentNoMerge,
    PISAInsertLifetimeStart

PISAPassConfig now overrides the GlobalISel and pre/post-regalloc hooks
to run these passes, disables the machine passes that assume physical
registers, and runs the load/store vectorizer and atomic expansion in
the IR stage.

AsmPrinter is added in a follow-up change, so this commit is tested with
MIR-level -run-pass/-stop-after tests.


  Commit: cec8afc1a16263da230eb0241b52cb3ae911beff
      https://github.com/llvm/llvm-project/commit/cec8afc1a16263da230eb0241b52cb3ae911beff
  Author: Michal Paszkowski <michal.paszkowski at intel.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Target/PISA/CMakeLists.txt

  Log Message:
  -----------
  Review fixes


  Commit: 566401258229e46eddda987fedb8708128143cd1
      https://github.com/llvm/llvm-project/commit/566401258229e46eddda987fedb8708128143cd1
  Author: Michal Paszkowski <michal.paszkowski at intel.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Target/PISA/PISAKernelByValArgsLowering.cpp

  Log Message:
  -----------
  Formatting fix


  Commit: ce0802a8e16b0afa8a19dd602f926074192baba7
      https://github.com/llvm/llvm-project/commit/ce0802a8e16b0afa8a19dd602f926074192baba7
  Author: Michal Paszkowski <michal.paszkowski at intel.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Target/PISA/PISACacheHintSelector.cpp
    M llvm/lib/Target/PISA/PISAConstProp.cpp
    M llvm/lib/Target/PISA/PISAEmitIntrinsics.cpp
    M llvm/lib/Target/PISA/PISAExpandIntrinsics.cpp
    M llvm/lib/Target/PISA/PISAInsertLifetimeStart.cpp
    M llvm/lib/Target/PISA/PISAKernelByValArgsLowering.cpp
    M llvm/lib/Target/PISA/PISALayout.cpp
    M llvm/lib/Target/PISA/PISALegalizeCalls.cpp
    M llvm/lib/Target/PISA/PISALegalizePredicates.cpp
    M llvm/lib/Target/PISA/PISALegalizeSubregAccess.cpp
    M llvm/lib/Target/PISA/PISAOptimizeRedundantCopies.cpp
    M llvm/lib/Target/PISA/PISAOptimizeSubregAccess.cpp
    M llvm/lib/Target/PISA/PISAPropagateNullPointers.cpp
    M llvm/lib/Target/PISA/PISAReplaceIntrinsics.cpp
    M llvm/lib/Target/PISA/PISAScopeSelector.cpp
    M llvm/lib/Target/PISA/PISAVerifier.cpp
    M llvm/lib/Target/PISA/PISAVerifyTypes.cpp
    A llvm/test/CodeGen/PISA/legalize-calls-unsupported-type.ll
    M llvm/test/CodeGen/PISA/mark-convergent-no-merge.mir
    A llvm/test/CodeGen/PISA/pisa-scope-selector-unknown.mir
    M llvm/test/CodeGen/PISA/pisa-scope-selector.mir
    M llvm/test/CodeGen/PISA/propagate-null.ll
    M llvm/test/CodeGen/PISA/verify-types.mir

  Log Message:
  -----------
  Fix issues raised in earlier PRs


  Commit: c9a87511f5e1aefc1f0a3e353598b618ad11c180
      https://github.com/llvm/llvm-project/commit/c9a87511f5e1aefc1f0a3e353598b618ad11c180
  Author: Michal Paszkowski <michal.paszkowski at intel.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Target/PISA/PISATargetMachine.cpp

  Log Message:
  -----------
  Improve comment


  Commit: 2063b03226b6b8fb870a8e4413c8c27e3ae6d116
      https://github.com/llvm/llvm-project/commit/2063b03226b6b8fb870a8e4413c8c27e3ae6d116
  Author: Michal Paszkowski <michal.paszkowski at intel.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Target/PISA/PISALegalizeCalls.cpp

  Log Message:
  -----------
  Simplify, remove redundant comment


Compare: https://github.com/llvm/llvm-project/compare/9e1a623f6cf1...2063b03226b6

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