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

Michal Paszkowski via All-commits all-commits at lists.llvm.org
Tue Sep 22 12:25:36 PDT 2026


  Branch: refs/heads/users/michalpaszkowski/pisa_backend_upstreaming_6
  Home:   https://github.com/llvm/llvm-project
  Commit: 095854f38811311f09e66ac2bfc1ee01b2aecbf1
      https://github.com/llvm/llvm-project/commit/095854f38811311f09e66ac2bfc1ee01b2aecbf1
  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: 85212061b956b440f34e817cbd8a36862cb38cb9
      https://github.com/llvm/llvm-project/commit/85212061b956b440f34e817cbd8a36862cb38cb9
  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: 8a84aa6601628a915c8c71276cd22d35430f8202
      https://github.com/llvm/llvm-project/commit/8a84aa6601628a915c8c71276cd22d35430f8202
  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: dd41b492ca10474cf3751828c1acab89987f7f7e
      https://github.com/llvm/llvm-project/commit/dd41b492ca10474cf3751828c1acab89987f7f7e
  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: 8d741aa8f9d3c1d171baa884d1378b451f70b7ba
      https://github.com/llvm/llvm-project/commit/8d741aa8f9d3c1d171baa884d1378b451f70b7ba
  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: 6384745da0a19f52b943bd716d5521d3b074db71
      https://github.com/llvm/llvm-project/commit/6384745da0a19f52b943bd716d5521d3b074db71
  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/2063b03226b6...6384745da0a1

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