[PATCH] D18257: Add "first class" lowering for deopt operand bundles
Philip Reames via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 21 17:51:45 PDT 2016
reames accepted this revision.
reames added a comment.
This revision is now accepted and ready to land.
LGTM w/minor comments as follow on commits.
================
Comment at: lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:6120
@@ +6119,3 @@
+#ifndef NDEBUG
+ // Deopt bundles are lowered in LowerCallSiteWithDeoptBundle, and we don't
+ // have to do anything here to lower funclet bundles.
----------------
Minor: introducing a helper function which asserts if any operand bundle types not passed in are present would be a good cleanup. Please do as a separate change.
assert(!hasOperandBundleOtherThan({OB_deopt, OB_funclet});
================
Comment at: lib/CodeGen/SelectionDAG/StatepointLowering.cpp:840
@@ +839,3 @@
+ ImmutableCallSite CS, SDValue Callee, const BasicBlock *EHPadBB) {
+ assert(CS.getNumOperandBundles() == 1 &&
+ "Only deopt operand bundles can be lowered!");
----------------
minor: I thought you said this could handle funclet?
If so, please add a test case and weaken the assert in a followon patch.
http://reviews.llvm.org/D18257
More information about the llvm-commits
mailing list