[llvm] [AArch64][SME] Resume streaming-mode on entry to exception handlers (PR #156638)

Sander de Smalen via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 3 09:17:44 PDT 2025


================
@@ -1729,10 +1729,19 @@ void SelectionDAGISel::SelectAllBasicBlocks(const Function &Fn) {
     // Setup an EH landing-pad block.
     FuncInfo->ExceptionPointerVirtReg = Register();
     FuncInfo->ExceptionSelectorVirtReg = Register();
-    if (LLVMBB->isEHPad())
+    if (LLVMBB->isEHPad()) {
       if (!PrepareEHLandingPad())
         continue;
 
+      if (!FastIS) {
+        if (SDValue NewRoot = TLI->lowerEHPadEntry(CurDAG->getRoot(),
+                                                   SDB->getCurSDLoc(), *CurDAG);
+            NewRoot && NewRoot != CurDAG->getRoot()) {
+          CurDAG->setRoot(NewRoot);
----------------
sdesmalen-arm wrote:

nit:
```suggestion
        if (SDValue NewRoot = TLI->lowerEHPadEntry(CurDAG->getRoot(),
                                                   SDB->getCurSDLoc(), *CurDAG))
          CurDAG->setRoot(NewRoot);
```

https://github.com/llvm/llvm-project/pull/156638


More information about the llvm-commits mailing list