Thanks to Nikita Popov for pointing out this missed case.
This is a follow-up to r351411, which disabled function merging for
vararg functions outright due to a miscompile (see llvm.org/PR40345).
Paths
| Differential D56865
[MergeFunc] Allow merging identical vararg functions using aliases ClosedPublic Authored by vsk on Jan 17 2019, 10:10 AM.
Details Summary Thanks to Nikita Popov for pointing out this missed case. This is a follow-up to r351411, which disabled function merging for
Diff Detail
Event TimelineComment Actions Crazy idea: use musttail (only some targets support it) to make this work. Of course, first, make it correct. Comment Actions
That's really clever :). As identical vararg functions are a bit of an uncommon case, I'm not sure the added complexity would be worth it, though. Comment Actions LGTM On a related note, we have another case where thunks may be invalid due to CC restrictions: https://bugs.llvm.org/show_bug.cgi?id=40232 This revision is now accepted and ready to land.Jan 18 2019, 11:44 AM Closed by commit rL351624: [MergeFunc] Allow merging identical vararg functions using aliases (authored by vedantk). · Explain WhyJan 18 2019, 6:51 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 182659 llvm/trunk/lib/Transforms/IPO/MergeFunctions.cpp
llvm/trunk/test/Transforms/MergeFunc/va_arg.ll
|