[all-commits] [llvm/llvm-project] 31327c: [LoongArch] Don't merge FrameIndex accesses into [...

WÁNG Xuěruì via All-commits all-commits at lists.llvm.org
Sat Oct 8 22:05:55 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 31327c29fb9a11628ffd8d49852832235915b995
      https://github.com/llvm/llvm-project/commit/31327c29fb9a11628ffd8d49852832235915b995
  Author: WANG Xuerui <git at xen0n.name>
  Date:   2022-10-09 (Sun, 09 Oct 2022)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.h
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchRegisterInfo.cpp
    A llvm/test/CodeGen/LoongArch/ldx-stx-sp-1.ll
    A llvm/test/CodeGen/LoongArch/ldx-stx-sp-2.ll
    A llvm/test/CodeGen/LoongArch/ldx-stx-sp-3.ll

  Log Message:
  -----------
  [LoongArch] Don't merge FrameIndex accesses into [F]{LD,ST}X

Otherwise eliminateFrameIndex cannot figure out how to fixup the stack
offset with its stateless logic, because there wouldn't be an immediate
slot for it to trivially write to, and it may not be easy to transform
the surrounding code to make it work.

This fixes a fairly common crash when compiling moderately complex code with
Clang.

Differential Revision: https://reviews.llvm.org/D135251




More information about the All-commits mailing list