From 4d1450298cd67721ed2fc6e9b99c04048ec27f2c Mon Sep 17 00:00:00 2001 From: Sanjin Sijaric Date: Thu, 17 Jan 2019 20:24:14 +0000 Subject: [PATCH] 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. llvm-svn: 351472 --- llvm/lib/Target/AArch64/AArch64FrameLowering.cpp | 4 +++- llvm/test/CodeGen/AArch64/seh_funclet_x1.ll | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp b/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp index 5719cf34c954..12167192ba06 100644 --- a/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp +++ b/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp @@ -929,9 +929,11 @@ void AArch64FrameLowering::emitPrologue(MachineFunction &MF, // 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/llvm/test/CodeGen/AArch64/seh_funclet_x1.ll b/llvm/test/CodeGen/AArch64/seh_funclet_x1.ll index b6b84c0e62bd..8f2a4dade309 100644 --- a/llvm/test/CodeGen/AArch64/seh_funclet_x1.ll +++ b/llvm/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.