Sorry for missing this the first time around, but I think -scev-aa does what you want. I've commented on the phabricator review. On Wed, Jun 10, 2015 at 3:32 PM, Tobias Edler von Koch <tobias at codeaurora.org> wrote:> On Tue, 2 Jun 2015 11:32:13 -0500 Tobias Edler von Koch > <tobias at codeaurora.org> wrote: > >> Hi all, >> >> I came across the following limitation in our BasicAliasAnalysis. This >> happens with the following IR pattern: >> >> %x = phi [ %incptr, ... ] [ %var, ... ] >> %incptr = getelementptr %x, 1 >> >> We will basically always return MayAlias for %x and any other value >> because aliasPHI recurses on the first value and gives up. > > Patch now posted as http://reviews.llvm.org/D10368 > > Tobias > > -- > Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a > Linux Foundation Collaborative Project. > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Tobias Edler von Koch
2015-Jun-10 23:09 UTC
[LLVMdev] BasicAA unable to analyze recursive PHI nodes
It probably will, but it isn't on by default (right?) and has quite a lot more overhead. I think this is a common enough case for it to be handled by BasicAA. On Wed, 10 Jun 2015 15:52:07 -0700 Sanjoy Das <sanjoy at playingwithpointers.com> wrote:> Sorry for missing this the first time around, but I think -scev-aa > does what you want. I've commented on the phabricator review. > > On Wed, Jun 10, 2015 at 3:32 PM, Tobias Edler von Koch > <tobias at codeaurora.org> wrote: > > On Tue, 2 Jun 2015 11:32:13 -0500 Tobias Edler von Koch > > <tobias at codeaurora.org> wrote: > > > >> Hi all, > >> > >> I came across the following limitation in our BasicAliasAnalysis. This > >> happens with the following IR pattern: > >> > >> %x = phi [ %incptr, ... ] [ %var, ... ] > >> %incptr = getelementptr %x, 1 > >> > >> We will basically always return MayAlias for %x and any other value > >> because aliasPHI recurses on the first value and gives up. > > > > Patch now posted as http://reviews.llvm.org/D10368 > > > > Tobias > > > > -- > > Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a > > Linux Foundation Collaborative Project. > > _______________________________________________ > > LLVM Developers mailing list > > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev-- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.
Daniel Berlin
2015-Jun-11 00:11 UTC
[LLVMdev] BasicAA unable to analyze recursive PHI nodes
On Wed, Jun 10, 2015 at 4:09 PM, Tobias Edler von Koch <tobias at codeaurora.org> wrote:> It probably will, but it isn't on by default (right?)True, but so what?> and has quite a > lot more overhead.I didn't see numbers one way or the other. It probably has some overhead, if it's the right solution, i'm sure it can be ade faster.> I think this is a common enough case for it to be > handled by BasicAA. >Can you provide some evidence? IE hard numbers of how often it occurs on some set of benchmarks or something, and what the compile time cost is? It's really hard to say whether this is the right tradeoff without any data.> On Wed, 10 Jun 2015 15:52:07 -0700 Sanjoy Das > <sanjoy at playingwithpointers.com> wrote: > >> Sorry for missing this the first time around, but I think -scev-aa >> does what you want. I've commented on the phabricator review. >> >> On Wed, Jun 10, 2015 at 3:32 PM, Tobias Edler von Koch >> <tobias at codeaurora.org> wrote: >> > On Tue, 2 Jun 2015 11:32:13 -0500 Tobias Edler von Koch >> > <tobias at codeaurora.org> wrote: >> > >> >> Hi all, >> >> >> >> I came across the following limitation in our BasicAliasAnalysis. This >> >> happens with the following IR pattern: >> >> >> >> %x = phi [ %incptr, ... ] [ %var, ... ] >> >> %incptr = getelementptr %x, 1 >> >> >> >> We will basically always return MayAlias for %x and any other value >> >> because aliasPHI recurses on the first value and gives up. >> > >> > Patch now posted as http://reviews.llvm.org/D10368 >> > >> > Tobias >> > >> > -- >> > Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a >> > Linux Foundation Collaborative Project. >> > _______________________________________________ >> > LLVM Developers mailing list >> > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > > > -- > Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a > Linux Foundation Collaborative Project. > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev