From: Mandeep Singh Grang Date: Thu, 1 Nov 2018 18:38:26 +0000 (+0000) Subject: Revert "[COFF, ARM64] Change setjmp for AArch64 Windows to use Intrinsic.sponentry" X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9295b872baa621b9b80c4efbdd9d054e267ff1e4;p=clang Revert "[COFF, ARM64] Change setjmp for AArch64 Windows to use Intrinsic.sponentry" This reverts commit 619111f5ccf349b635e4987ec02d15777c571495. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@345872 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CGBuiltin.cpp b/lib/CodeGen/CGBuiltin.cpp index c67db26711..bf53e25b2f 100644 --- a/lib/CodeGen/CGBuiltin.cpp +++ b/lib/CodeGen/CGBuiltin.cpp @@ -711,11 +711,8 @@ static RValue EmitMSVCRTSetJmp(CodeGenFunction &CGF, MSVCSetJmpKind SJKind, } else { Name = SJKind == MSVCSetJmpKind::_setjmp ? "_setjmp" : "_setjmpex"; Arg1Ty = CGF.Int8PtrTy; - if (CGF.getTarget().getTriple().getArch() == llvm::Triple::aarch64) { - Arg1 = CGF.Builder.CreateCall(CGF.CGM.getIntrinsic(Intrinsic::sponentry)); - } else - Arg1 = CGF.Builder.CreateCall(CGF.CGM.getIntrinsic(Intrinsic::frameaddress), - llvm::ConstantInt::get(CGF.Int32Ty, 0)); + Arg1 = CGF.Builder.CreateCall(CGF.CGM.getIntrinsic(Intrinsic::frameaddress), + llvm::ConstantInt::get(CGF.Int32Ty, 0)); } // Mark the call site and declaration with ReturnsTwice. diff --git a/test/CodeGen/ms-setjmp.c b/test/CodeGen/ms-setjmp.c index a6e30cb96a..d92f4d00ff 100644 --- a/test/CodeGen/ms-setjmp.c +++ b/test/CodeGen/ms-setjmp.c @@ -25,7 +25,7 @@ int test_setjmp() { // X64-NEXT: ret i32 %[[call]] // AARCH64-LABEL: define dso_local i32 @test_setjmp - // AARCH64: %[[addr:.*]] = call i8* @llvm.sponentry() + // AARCH64: %[[addr:.*]] = call i8* @llvm.frameaddress(i32 0) // AARCH64: %[[call:.*]] = call i32 @_setjmpex(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @jb, i32 0, i32 0), i8* %[[addr]]) // AARCH64-NEXT: ret i32 %[[call]] } @@ -38,7 +38,7 @@ int test_setjmpex() { // X64-NEXT: ret i32 %[[call]] // AARCH64-LABEL: define dso_local i32 @test_setjmpex - // AARCH64: %[[addr:.*]] = call i8* @llvm.sponentry() + // AARCH64: %[[addr:.*]] = call i8* @llvm.frameaddress(i32 0) // AARCH64: %[[call:.*]] = call i32 @_setjmpex(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @jb, i32 0, i32 0), i8* %[[addr]]) // AARCH64-NEXT: ret i32 %[[call]] }