[llvm] [llvm][SelectionDAG] Fix up chains in lowerInvokeable. rdar://113994760 (PR #94004)

Jon Roelofs via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 12 15:05:36 PDT 2024


================
@@ -340,6 +340,9 @@ static std::pair<SDValue, SDNode *> lowerCallFromStatepointLoweringInfo(
   // to grab the return value from the return register(s), or it can be a LOAD
   // to load a value returned by reference via a stack slot.
 
+  if (CallEnd->getOpcode() == ISD::EH_LABEL)
+    CallEnd = CallEnd->getOperand(0).getNode();
----------------
jroelofs wrote:

These cover that path via the assertion on line 355:
```
 LLVM :: CodeGen/X86/statepoint-cmp-sunk-past-statepoint.ll
 LLVM :: CodeGen/X86/statepoint-invoke.ll
 LLVM :: CodeGen/X86/statepoint-ra.ll
 LLVM :: CodeGen/X86/statepoint-spill-lowering.ll
 LLVM :: CodeGen/X86/statepoint-stack-usage.ll
 LLVM :: CodeGen/X86/statepoint-vreg-invoke.ll
 ```

I'll re-run UTC and see what changes.

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


More information about the llvm-commits mailing list