[all-commits] [llvm/llvm-project] f24cf5: [SystemZ] Add `is(LoadFrom|StoreTo)StackSlotPostFE...

Dominik Steenken via All-commits all-commits at lists.llvm.org
Tue Mar 25 07:04:16 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f24cf59d7afbfcefe43086c2e0984992deec3678
      https://github.com/llvm/llvm-project/commit/f24cf59d7afbfcefe43086c2e0984992deec3678
  Author: Dominik Steenken <dost at de.ibm.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
    M llvm/test/CodeGen/SystemZ/builtin-setjmp-alloca.ll
    M llvm/test/CodeGen/SystemZ/builtin-setjmp-spills.ll
    M llvm/test/CodeGen/SystemZ/builtin-setjmp.ll
    M llvm/test/CodeGen/SystemZ/fmuladd-soft-float.ll
    M llvm/test/CodeGen/SystemZ/foldmemop-imm-02.mir
    M llvm/test/CodeGen/SystemZ/foldmemop-vec-cc.mir
    M llvm/test/CodeGen/SystemZ/foldmemop-vec-cmp.mir
    M llvm/test/CodeGen/SystemZ/foldmemop-vec-unary.mir
    M llvm/test/CodeGen/SystemZ/fp-move-02.ll
    M llvm/test/CodeGen/SystemZ/frame-22.ll
    M llvm/test/CodeGen/SystemZ/int-uadd-03.ll
    M llvm/test/CodeGen/SystemZ/int-usub-03.ll
    M llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
    M llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll

  Log Message:
  -----------
  [SystemZ] Add `is(LoadFrom|StoreTo)StackSlotPostFE` to SystemZBackend (#132928)

As part of an effort to enable instr-ref-based debug value tracking,
this PR implements `SystemZInstrInfo::isLoadFromStackSlotPostFE`, as
well as `SystemZInstrInfo::isStoreToStackSlotPostFE`. The implementation
relies upon the presence of MachineMemoryOperands on the relevant
`MachineInstr`s in order to access the `FrameIndex` post frame index
elimination.

Since these new functions are only meant to be called after frame-index
elimination, they assert against the present of a frame index on the
base register operand of the instruction.

Outside of the utility of these functions to enable instr-ref-based
debug value tracking, they also changes the behavior of the AsmPrinter,
since it will now be able to properly detect non-folded spills and
reloads, so this changes a number of tests that were checking
specifically for folded reloads.

Note that there are some tests that still check for `vst` and `vl` as
folded spills/reloads even though they should be straight reloads. This
will be addressed in a future PR.

Co-authored-by: Dominik Steenken <dominik.steenken at gmail.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