The cost analysis pass does not currently grok statepoints. We only
inline through a gc_statepoint if the call alwaysinline.
Depends on D10632
Paths
| Differential D10633
[Inlining] Teach the inliner pass to inline through statepoints. AbandonedPublic Authored by sanjoy on Jun 22 2015, 7:15 PM.
Details
Diff Detail Event Timelinesanjoy retitled this revision from to [Inlining] Teach the inliner pass to inline through statepoints.. sanjoy updated this object. sanjoy added a parent revision: D10632: [Inlining][NFC] Introduce a InlineFunction that takes a Statepoint.. Comment Actions ping, so that llvm-commits sees this (forgot to subscribe llvm-commits when I created the patch). Comment Actions Please ignore this change. I thought I had run the test suite after this, but I had not and a bunch of test fail with this applied. I'll put up an update and fixed change tomorrow. reames edited edge metadata. reames added inline comments.
This revision now requires changes to proceed.Jun 24 2015, 12:00 PM
sanjoy edited edge metadata. Comment Actions
Revision Contents
Diff 28285 include/llvm/IR/CallSite.h
lib/Analysis/IPA/InlineCost.cpp
lib/Transforms/IPO/InlineAlways.cpp
lib/Transforms/IPO/Inliner.cpp
lib/Transforms/Utils/InlineFunction.cpp
test/Transforms/Inline/statepoints-basic.ll
|
a) comments! both here on getCalledFunction to distinguish
b) naming - "meta" isn't real descriptive. Possible getCalledFunctionUnwrapped?