Fix the buildbot failure introduced by r351404
EXPENSIVE_CHECKS buildbots are failing due to r351404.
Add x1 as live in to the funclet basic block for SEH funclets, as well as
-verify-machineinstrs to the test case that triggered the failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351472 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/AArch64/AArch64FrameLowering.cpp b/lib/Target/AArch64/AArch64FrameLowering.cpp
index 5719cf3..1216719 100644
--- a/lib/Target/AArch64/AArch64FrameLowering.cpp
+++ b/lib/Target/AArch64/AArch64FrameLowering.cpp
@@ -929,9 +929,11 @@
// directly, and is not retrieved from X1.
if (F.hasPersonalityFn()) {
EHPersonality Per = classifyEHPersonality(F.getPersonalityFn());
- if (isAsynchronousEHPersonality(Per))
+ if (isAsynchronousEHPersonality(Per)) {
BuildMI(MBB, MBBI, DL, TII->get(TargetOpcode::COPY), AArch64::FP)
.addReg(AArch64::X1).setMIFlag(MachineInstr::FrameSetup);
+ MBB.addLiveIn(AArch64::X1);
+ }
}
return;
diff --git a/test/CodeGen/AArch64/seh_funclet_x1.ll b/test/CodeGen/AArch64/seh_funclet_x1.ll
index b6b84c0..8f2a4da 100644
--- a/test/CodeGen/AArch64/seh_funclet_x1.ll
+++ b/test/CodeGen/AArch64/seh_funclet_x1.ll
@@ -1,4 +1,4 @@
-; RUN: llc -o - %s -mtriple=aarch64-windows | FileCheck %s
+; RUN: llc -o - %s -verify-machineinstrs -mtriple=aarch64-windows | FileCheck %s
; Windows runtime passes the establisher frame as the second argument to the
; termination handler. Check that we copy it into fp.