[PATCH] Lower invoke statepoints and gc.results tied to them.

Philip Reames listmail at philipreames.com
Tue Mar 3 09:32:52 PST 2015

You need to add a test.

Once mentioned changes are made, should be good for submission.  I would prefer one more updated diff just for an official LGTM.


Comment at: lib/CodeGen/SelectionDAG/StatepointLowering.cpp:258
@@ +257,3 @@
+      // We can not use standart mechanism for exporting values here
+      // (which is 'ExportFromCurrentBlock'). Problem is that exported register
+      // should be tied to the llvm-ir Value*, and value we want to export
Given our discussion, this comment is wrong and misleading.  It's not the fact that "Tmp" is deleted, it's the fact that the type will not match.  Please update.

Comment at: lib/CodeGen/SelectionDAG/StatepointLowering.cpp:672
@@ +671,3 @@
+    // which is always i32 in our case.
+    PointerType *calleeType = cast<PointerType>(
+                                ImmutableStatepoint(I).actualCallee()->getType());
CalleeType per llvm style.  Same with others.



More information about the llvm-commits mailing list