[all-commits] [llvm/llvm-project] 39d15a: [AArch64][SME] Remove implicit-def's on smstart (#...

Jon Roelofs via All-commits all-commits at lists.llvm.org
Fri Dec 1 07:34:40 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 39d15a7d3bc6bca4c2ad0fc432ba757eb9b8338c
      https://github.com/llvm/llvm-project/commit/39d15a7d3bc6bca4c2ad0fc432ba757eb9b8338c
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
    M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll

  Log Message:
  -----------
  [AArch64][SME] Remove implicit-def's on smstart (#69012)

When we lower calls, the sequence of argument copy-to-reg nodes are
glued to the smstart. In the InstrEmitter, these glued copies are turned
into implicit defs, since the actual call instruction uses those
physregs, resulting in the register allocator adding unnecessary copies
of regs that are preserved anyway.




More information about the All-commits mailing list