[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