Skip to content

assertion failure llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:2453: void computeCalleeSaveRegisterPairs(llvm::MachineFunction&, llvm::ArrayRef<llvm::CalleeSavedInfo>, const llvm::TargetRegisterInfo*, llvm::SmallVectorImpl<{anonymous}::RegPairInfo>&, bool): Assertion `(!RPI.isPaired() || (CSI[i].getFrameIdx() + RegInc == CSI[i + RegInc].getFrameIdx())) && "Out of order callee saved regs!"' failed. #55058

@compnerd

Description

@compnerd

The following (reduced from Swift's Concurrency module) triggers an assertion failure:

; RUN: llc -mtriple aarch64-unknown-windows-msvc -filetype asm -o - %s

declare i8** @llvm.swift.async.context.addr()

define hidden void @f(i8* %0) nounwind {
entry:
  %1 = tail call i8** @llvm.swift.async.context.addr()
  store i8* %0, i8** %1, align 8
  ret void
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions