[all-commits] [llvm/llvm-project] 1cc8ff: [AArch64] Fix save register pairing for Windows AAPCS

Sanne Wouda via All-commits all-commits at lists.llvm.org
Tue Jan 14 07:08:48 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 1cc8fff420a76ae869f73ce2b19e7c1fc73da3ed
      https://github.com/llvm/llvm-project/commit/1cc8fff420a76ae869f73ce2b19e7c1fc73da3ed
  Author: Sanne Wouda <Sanne.Wouda at arm.com>
  Date:   2020-01-14 (Tue, 14 Jan 2020)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    A llvm/test/CodeGen/AArch64/win64-no-uwtable.ll

  Log Message:
  -----------
  [AArch64] Fix save register pairing for Windows AAPCS

Summary:
On Windows, when a function does not have an unwind table (for example, EH
filtering funclets), we don't correctly pair FP and LR to form the frame record
in all circumstances.

Fix this by invalidating a pair when the second register is FP when compiling
for Windows, even when CFI is not needed.

Fixes PR44271 introduced by D65653.

Reviewers: efriedma, sdesmalen, rovka, rengolin, t.p.northover, thegameg, greened

Reviewed By: rengolin

Subscribers: kristof.beyls, hiraditya, llvm-commits

Tags: #llvm

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




More information about the All-commits mailing list