[llvm] dd96465 - ARM: Move sjlj libcall configuration to RuntimeLibcalls

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 7 21:52:45 PDT 2025


Author: Matt Arsenault
Date: 2025-07-08T13:52:32+09:00
New Revision: dd9646565e8b7380bcdf3917cec80c9f7908c7dd

URL: https://github.com/llvm/llvm-project/commit/dd9646565e8b7380bcdf3917cec80c9f7908c7dd
DIFF: https://github.com/llvm/llvm-project/commit/dd9646565e8b7380bcdf3917cec80c9f7908c7dd.diff

LOG: ARM: Move sjlj libcall configuration to RuntimeLibcalls

Manually submitting, closes #147227

Added: 
    

Modified: 
    llvm/lib/IR/RuntimeLibcalls.cpp
    llvm/lib/Target/ARM/ARMISelLowering.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/IR/RuntimeLibcalls.cpp b/llvm/lib/IR/RuntimeLibcalls.cpp
index 2cbc2cdb79685..6a3202366080d 100644
--- a/llvm/lib/IR/RuntimeLibcalls.cpp
+++ b/llvm/lib/IR/RuntimeLibcalls.cpp
@@ -343,7 +343,7 @@ void RuntimeLibcallsInfo::initLibcalls(const Triple &TT,
   if (TT.isX86() && TT.isGNUEnvironment())
     setLongDoubleIsF128Libm(*this, /*FiniteOnlyFuncs=*/true);
 
-  if (TT.isX86() || TT.isVE()) {
+  if (TT.isX86() || TT.isVE() || TT.isARM() || TT.isThumb()) {
     if (ExceptionModel == ExceptionHandling::SjLj)
       setLibcallImpl(RTLIB::UNWIND_RESUME, RTLIB::_Unwind_SjLj_Resume);
   }

diff  --git a/llvm/lib/Target/ARM/ARMISelLowering.cpp b/llvm/lib/Target/ARM/ARMISelLowering.cpp
index cb3ca694e692c..6b85e62d2eb8b 100644
--- a/llvm/lib/Target/ARM/ARMISelLowering.cpp
+++ b/llvm/lib/Target/ARM/ARMISelLowering.cpp
@@ -1400,8 +1400,6 @@ ARMTargetLowering::ARMTargetLowering(const TargetMachine &TM_,
   setOperationAction(ISD::EH_SJLJ_SETJMP, MVT::i32, Custom);
   setOperationAction(ISD::EH_SJLJ_LONGJMP, MVT::Other, Custom);
   setOperationAction(ISD::EH_SJLJ_SETUP_DISPATCH, MVT::Other, Custom);
-  if (getTargetMachine().getExceptionModel() == ExceptionHandling::SjLj)
-    setLibcallImpl(RTLIB::UNWIND_RESUME, RTLIB::_Unwind_SjLj_Resume);
 
   setOperationAction(ISD::SETCC,     MVT::i32, Expand);
   setOperationAction(ISD::SETCC,     MVT::f32, Expand);


        


More information about the llvm-commits mailing list