[all-commits] [llvm/llvm-project] e49180: [RISCV] Xqccmp Code Generation (#128815)

Sam Elliott via All-commits all-commits at lists.llvm.org
Wed Mar 5 11:00:08 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e49180d84c4d8b25fa944e494f4f292479eec1f6
      https://github.com/llvm/llvm-project/commit/e49180d84c4d8b25fa944e494f4f292479eec1f6
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2025-03-05 (Wed, 05 Mar 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.cpp
    M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
    M llvm/lib/Target/RISCV/RISCVMoveMerger.cpp
    M llvm/lib/Target/RISCV/RISCVPushPopOptimizer.cpp
    A llvm/test/CodeGen/RISCV/xqccmp-additional-stack.ll
    A llvm/test/CodeGen/RISCV/xqccmp-callee-saved-gprs.ll
    A llvm/test/CodeGen/RISCV/xqccmp-cm-popretz.mir
    A llvm/test/CodeGen/RISCV/xqccmp-cm-push-pop.mir
    A llvm/test/CodeGen/RISCV/xqccmp-push-pop-popret.ll
    A llvm/test/CodeGen/RISCV/xqccmp-with-float.ll
    A llvm/test/CodeGen/RISCV/xqccmp_mvas_mvsa.mir
    M llvm/test/CodeGen/RISCV/zcmp-cm-popretz.mir

  Log Message:
  -----------
  [RISCV] Xqccmp Code Generation (#128815)

This adds support for Xqccmp to the following passes:
- Prolog Epilog Insertion - reusing much of the existing push/pop logic,
but extending it to cope with frame pointers and reorder the CFI
information correctly.
- Move Merger - extending it to support the `qc.` variants of the
double-move instructions.
- Push/Pop Optimizer - extending it to support the `qc.` variants of the
pop instructions.

The testing is based on existing Zcmp tests, but I have put them in
separate files as some of the Zcmp tests were getting quite long.



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