[PATCH] D14551: Introduce deoptimization operand bundles

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 10 14:34:41 PST 2015


reames added inline comments.

================
Comment at: docs/LangRef.rst:1508
@@ +1507,3 @@
+otherwise escaped) and the entire visible heap.  Deoptimization
+operand bundles do not capture their operands.
+
----------------
, unless the current frame is being deoptimized in which case return will never return to the compiled code of the caller function after the call.  

================
Comment at: lib/IR/LLVMContextImpl.cpp:50
@@ +49,3 @@
+
+  auto *DeoptTag = getOrInsertBundleTag("deopt");
+  assert(DeoptTag->second == LLVMContext::OB_deopt && "Out of order");
----------------
Why do this in the Impl rather than the Context as we do for attributes?  I'd prefer consistency unless you have a good reason.  

================
Comment at: test/Verifier/operand-bundles.ll:38
@@ +37,3 @@
+
+define void @f_deopt(i32* %ptr) {
+; CHECK: Multiple deopt operand bundles
----------------
Can you add a passing test case too?  Something to show the verifier *doesn't* reject a single valid deopt bundle?


http://reviews.llvm.org/D14551





More information about the llvm-commits mailing list