The public InlineFunction utility assumes that the passed in InlineFunctionInfo has a valid AssumptionCacheTracker.
Details
Diff Detail
Event Timeline
It was already ported to the new pass manager, but given that InlineFunction directly accesses the ACT it will crash if run via legacy.
Please split the adding of the dependence on AssumptionCache and the porting of the pass into the new PM into two separate passes. Also, note that you are not populating the ACT field of IFI in the new PM version of the code and that needs to be fixed.
Sorry, I was under the impression that the new pass managed had a functor for the ACT. I guess that was a pass that hadn't landed yet.
Sorry, I looked at Davide's previous comment and quickly made an incorrect conclusion. So this does only add the dependence to ACT, but you still need to populate ACT with the new PM.
Also, the pass was already ported to the new pass manager, this just moves the code into a different structure.
The new pass manager doesn't use AssumptionCacheTracker, providing a replacement instead with AssumptionAnalysis.
/Users/rriddle/Desktop/llvm/llvm/lib/Transforms/IPO/PartialInlining.cpp | ||
---|---|---|
56 | Can you clang-format this class? | |
200 | You aren't passing assumption cache analysis stuff in here. This will require some refactoring of stuff that uses InlineFunctionInfo. I've already done that work as part of https://reviews.llvm.org/D21921. Give me a second and I'll spin that out and commit that. Then it should be easy to pass the assumption cache in here. |
Fix the formatting of the implementation and added a test case for the assumption cache.
/Users/rriddle/Desktop/llvm/llvm/lib/Transforms/IPO/PartialInlining.cpp | ||
---|---|---|
200 | Should be done in r276515. Sorry for the delay. |
/Users/rriddle/Desktop/llvm/llvm/lib/Transforms/IPO/PartialInlining.cpp | ||
---|---|---|
118–121 | Can you split these formatting changes into a separate patch after this one? Even better, formatting + updating the naming would be a very welcome patch for this pass. | |
/Users/rriddle/Desktop/llvm/llvm/test/Transforms/Inline/partial-inline-act.ll | ||
5 | Can you please put explicit names on the arguments (even just %0 and %1)? |
Can you clang-format this class?