[PATCH] Verification of invoke statepoints

Igor Laevsky igor at azulsystems.com
Tue Feb 10 04:00:18 PST 2015


Yes, please. Please note that this patch depends on http://reviews.llvm.org/D7364


REPOSITORY
  rL LLVM

================
Comment at: lib/IR/Verifier.cpp:2787
@@ +2786,3 @@
+              cast<Instruction>(CI.getArgOperand(0))->getParent());
+      Assert1(invokeBB->getTerminator(),
+              "safepoint block should be well formed",
----------------
reames wrote:
> I think this is checked elsewhere.
It is checked at the visitBasicBlock, but I didn't want to rely on the basic block visiting order. 

================
Comment at: lib/IR/Verifier.cpp:2798
@@ +2797,3 @@
+        return ImmutableCallSite(ops.statepoint());
+      return ImmutableCallSite(CI.getArgOperand(0));
+    }();
----------------
reames wrote:
> Please don't use statepoint here.
In this case it's fine to use ops.statepoint because we already verified that gc relocate is correctly tied to the statepoint. I made this more clear in the updated change.

http://reviews.llvm.org/D7366

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list