[PATCH] D21475: [CFLAA] Summarize interprocedural aliasing information instead of recomputing it at callsite

Daniel Berlin via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 17 12:13:07 PDT 2016


On Fri, Jun 17, 2016 at 10:02 AM, Jia Chen via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> grievejia created this revision.
> grievejia added reviewers: george.burgess.iv, hfinkel.
> grievejia added a subscriber: llvm-commits.
>
> The primary goal of this patch is to put parameters/return value aliasing
> info of each function to its summary. Those info used to get computed at
> each callsite where the function gets invoked. If the said function gets
> invoked many times, we may end up with lots of redundant computations.
>
> This patch is almost functionality-preserving, except that I've changed
> the criteria of marking a function f external from "f->hasLocalLinkage()"
> to "f->isInterposable()".


Can you do that in a separate patch, before this one?


> I think the former is overly conservative since it only handles functions
> with internal or private linkage type, yet all we want for non-external
> functions is that they can't be overwritten while linking. If my thought
> turns out to be wrong, I'm happy to switch it back.
>

I believe your intuition is correct, but then someone always comes along
and comes up with a crazy testcase :)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160617/9df992aa/attachment.html>


More information about the llvm-commits mailing list