[all-commits] [llvm/llvm-project] 048790: Revert "Reapply D70800: Fix AArch64 AAPCS frame re...

Martin Storsjö via All-commits all-commits at lists.llvm.org
Wed Aug 26 23:40:19 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 04879086b44348cad600a0a1ccbe1f7776cc3cf9
      https://github.com/llvm/llvm-project/commit/04879086b44348cad600a0a1ccbe1f7776cc3cf9
  Author: Martin Storsjö <martin at martin.st>
  Date:   2020-08-27 (Thu, 27 Aug 2020)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
    R llvm/test/CodeGen/AArch64/framelayout-fp-csr.ll
    R llvm/test/CodeGen/AArch64/framelayout-frame-record.mir

  Log Message:
  -----------
  Revert "Reapply D70800: Fix AArch64 AAPCS frame record chain"

This reverts commit 9936455204fd6ab72715cc9d67385ddc93e072ed.

That commit caused failed assertions e.g. like this:

$ cat alloca.c
a;
b() {
  float c;
  d();
  a = __builtin_alloca(d);
  c = e();
  f(a);
  return c;
}
$ clang -target aarch64-linux-gnu -c alloca.c -O2
clang: ../lib/Target/AArch64/AArch64InstrInfo.cpp:3446: void
llvm::emitFrameOffset(llvm::MachineBasicBlock&,
llvm::MachineBasicBlock::iterator, const llvm::DebugLoc&, unsigned int,
unsigned int, llvm::StackOffset, const llvm::TargetInstrInfo*,
llvm::MachineInstr::MIFlag, bool, bool, bool*):
Assertion `(DestReg != AArch64::SP || Bytes % 16 == 0) &&
"SP increment/decrement not 16-byte aligned"' failed.




More information about the All-commits mailing list