[PATCH] D75590: [Attributor] IPO across definition boundary of a function marked alwaysinline
Luofan Chen via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 5 19:39:19 PST 2020
bbn updated this revision to Diff 248645.
bbn added a comment.
Herald added a subscriber: hiraditya.
1. Use `InlineableFunctions` ptr set to track functions that can be inlined
2. As the ptr set is a private variable for `Attributor`, so in `AA.initialize()`, we cannot determine if the inexactly defined function can be inlined or not, so all inexactly defined functions that have `alwayinline` attribute will keep its state unchanged (just `return` from the function)
3. In `CreateAAFor` function, search the ptr set for the function, if the function has `alwayinline` attribute but cannot be inlined, we cannot analyze it (`indicatePessimisticFixpoint`)
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D75590/new/
https://reviews.llvm.org/D75590
Files:
llvm/include/llvm/Transforms/IPO/Attributor.h
llvm/lib/Transforms/IPO/Attributor.cpp
llvm/test/Transforms/Attributor/alwaysinline.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D75590.248645.patch
Type: text/x-patch
Size: 6748 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200306/fc289df5/attachment.bin>
More information about the llvm-commits
mailing list