[all-commits] [llvm/llvm-project] 8942d3: [AArch64][WinCFI] Handle cases where no SEH opcode...

Hiroshi Yamauchi via All-commits all-commits at lists.llvm.org
Thu Aug 31 12:43:44 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8942d3047c684af800da7c75566210725f1cfe84
      https://github.com/llvm/llvm-project/commit/8942d3047c684af800da7c75566210725f1cfe84
  Author: Hiroshi Yamauchi <hjyamauchi at gmail.com>
  Date:   2023-08-31 (Thu, 31 Aug 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    A llvm/test/CodeGen/AArch64/wincfi-seh-only-in-epilogue.ll

  Log Message:
  -----------
  [AArch64][WinCFI] Handle cases where no SEH opcodes in the prologue
but there are some in the epilogue.

Make a decision whether or not to have a startepilogue/endepilogue
based on whether we actually insert SEH opcodes in the epilogue,
rather than whether we had SEH opcodes in the prologue or not.

This fixes an assert failure when there are no SEH opcodes in the
prologue but there are SEH opcodes in the epilogue (for example, when
there is no stack frame but there are stack arguments) which was not
covered in https://reviews.llvm.org/D88641.

Assertion failed: HasWinCFI == MF.hasWinCFI(), file C:\Users\hiroshi\llvm-project\llvm\lib\Target\AArch64\AArch64FrameLowering.cpp, line 1988

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




More information about the All-commits mailing list