[llvm-commits] [llvm] r73892 - in /llvm/trunk: include/llvm/Analysis/ScalarEvolution.h include/llvm/Analysis/ScalarEvolutionExpressions.h lib/Analysis/ScalarEvolution.cpp

Owen Anderson resistor at mac.com
Mon Jun 22 13:15:47 PDT 2009


On Jun 22, 2009, at 11:36 AM, Török Edwin wrote:

> On 2009-06-22 21:25, Owen Anderson wrote:
>> Author: resistor
>> Date: Mon Jun 22 13:25:46 2009
>> New Revision: 73892
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=73892&view=rev
>> Log:
>> Banish global state from ScalarEvolution!  SCEV uniquing is now  
>> done by tables attached to the ScalarEvolution pass.
>> This also throws out the SCEV reference counting scheme, as the the  
>> SCEVs now have a lifetime controlled by the
>> ScalarEvolution pass.
>>
>> Note that SCEVHandle is now a no-op, and will be remove in a future  
>> commit.
>>
>
> Hi Owen,
>
> What if somebody wants to do interprocedural analysis using SCEV
> expressions?
> Will there be a way to clone SCEV* objects, so that they can live  
> longer
> than the current function being analyzed?

Then they need to implement their own ownership model for SCEVs.  The  
owned-by-ScalarEvolution model isn't hardwired into the SCEVs  
themselves, but rather into the getXXX methods of ScalarEvolution that  
create them.

--Owen



More information about the llvm-commits mailing list