[PATCH] [Inlining] Teach the inliner pass to inline through statepoints.
Philip Reames
listmail at philipreames.com
Wed Jun 24 12:00:29 PDT 2015
================
Comment at: include/llvm/IR/CallSite.h:107
@@ -105,1 +106,3 @@
+ FunTy *getMetaCallDestination() const {
+ FunTy *LiteralDest = getCalledFunction();
----------------
a) comments! both here on getCalledFunction to distinguish
b) naming - "meta" isn't real descriptive. Possible getCalledFunctionUnwrapped?
================
Comment at: lib/Transforms/IPO/Inliner.cpp:457
@@ -446,1 +456,3 @@
+ class InlineTask {
+ Function *Callee;
----------------
Again, it's really not clear to me that the extra level of abstraction is worthwhile here.
================
Comment at: lib/Transforms/IPO/Inliner.cpp:612
@@ +611,3 @@
+ CallSite CS(Ptr);
+ InlineTaskList.emplace_back(CS.getMetaCallDestination(),
+ CS.getCaller(), CS, NewHistoryID);
----------------
Given we already have the getMetaCallDestination routine on callsite, I'm not sure what this extra complexity gains us.
================
Comment at: lib/Transforms/Utils/InlineFunction.cpp:165
@@ -164,1 +164,3 @@
+ Function *Callee = cast<Function>(SP.getActualCallee());
+ if (!Callee->hasGC())
----------------
This looks unrelated?
http://reviews.llvm.org/D10633
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the llvm-commits
mailing list