[PATCH] D14552: Teach the inliner to track deoptimization state

Sanjoy Das via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 10 17:45:13 PST 2015


sanjoy added inline comments.

================
Comment at: lib/Transforms/Utils/InlineFunction.cpp:1039
@@ +1038,3 @@
+  if (CS.hasOperandBundles()) {
+    bool CanInline =
+        CS.getNumOperandBundles() == 1 &&
----------------
sanjoy wrote:
> reames wrote:
> > I'd just inline this into the if and swap the comparison directions.
> > 
> > p.s. Don't you need to worry about a bundle type in the callee which is not deopt?
> > I'd just inline this into the if and swap the comparison directions.
> 
> SGTM.
> 
> > p.s. Don't you need to worry about a bundle type in the callee which is not deopt?
> 
> The current semantics is that the caller's deopt state gets prepended to all of the `"deopt"` operand bundles in the callee.  Call sites in the callee that have arbitrary deopt operand bundles are left intact.  The test cases demonstrate this.
> I'd just inline this into the if and swap the comparison directions.

I decided to keep this as-is (with a fix to the comment).  I like how it reads currently -- "if `CS` has operand bundles attached, it better be of this form".  Let me know if you feel strongly otherwise.


http://reviews.llvm.org/D14552





More information about the llvm-commits mailing list