[all-commits] [llvm/llvm-project] caec75: [SystemZ][z/OS] Emit prolog length

Kai Nacke via All-commits all-commits at lists.llvm.org
Tue Jul 7 11:42:14 PDT 2026


  Branch: refs/heads/users/redstar/prologsize
  Home:   https://github.com/llvm/llvm-project
  Commit: caec75c1d5beb60a5f8276595d2457b96a3fe415
      https://github.com/llvm/llvm-project/commit/caec75c1d5beb60a5f8276595d2457b96a3fe415
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
    M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
    M llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
    M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
    M llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
    M llvm/test/CodeGen/SystemZ/call-zos-01.ll
    M llvm/test/CodeGen/SystemZ/call-zos-vararg.ll
    M llvm/test/CodeGen/SystemZ/mixed-ptr-sizes.ll
    M llvm/test/CodeGen/SystemZ/zos-ada.ll
    M llvm/test/CodeGen/SystemZ/zos-frameaddr.ll
    M llvm/test/CodeGen/SystemZ/zos-ppa1.ll
    M llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
    M llvm/test/CodeGen/SystemZ/zos-stack-protector.ll

  Log Message:
  -----------
  [SystemZ][z/OS] Emit prolog length

The PPA1 contains fields recording the length of the prolog and the offset
to the instruction updating the stack pointer register. The implementation
consists of the following parts:
- the end of the prolog is marked with a FENCE instruction which prevents
  scheduling from moving instructions across the barrier.
- when emitting the PPA1, the FENCE instruction along with other stack
  update instructions are used to calculate the length and the offset.

Co-authored-by: Tony Tao <tonytao at ca.ibm.com>



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