[PATCH] D117965: [AlwaysInliner] Enable call site inlining to make flatten attribute working again (PR53360)
Arthur Eubanks via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Jan 25 11:17:44 PST 2022
aeubanks added a comment.
sounds good for the purposes of going back to what we had before, but we should reconsider the attribute support
================
Comment at: llvm/lib/Transforms/IPO/AlwaysInliner.cpp:95
- // Remember to try and delete this function afterward. This both avoids
- // re-walking the rest of the module and avoids dealing with any iterator
- // invalidation issues while deleting functions.
- InlinedFunctions.push_back(&F);
+ if (F.hasFnAttribute(Attribute::AlwaysInline))
+ // Remember to try and delete this function afterward. This both avoids
----------------
xbolva00 wrote:
> avoid DCE of internal functions without always_inline; check test pr2945 in always-inline.ll
no need to change in this patch, but it looks like that was a past limitation, removing any dead internal function should be fine (subject to comdats). either we should not delete any function or we should attempt to remove any function we can
================
Comment at: llvm/test/Transforms/Inline/always-inline.ll:150
+define i32 @outer7b() {
+; CHECK-LABEL: @outer7b(
----------------
s/CHECK-CALL/CHECK/g should be good enough? any reason for outer7b? it's exactly the same as outer7a
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D117965/new/
https://reviews.llvm.org/D117965
More information about the cfe-commits
mailing list