[LLVMdev] mem2reg optimization

Chris Lattner clattner at apple.com
Sat Oct 4 14:51:54 PDT 2008


On Sep 26, 2008, at 8:41 AM, David Greene wrote:

> On Thursday 25 September 2008 13:15, David Greene wrote:
>
>> My patch builds a map from BasicBlock to lists of loads and stores  
>> in that
>> block in an initialization phase along with ordering information  
>> about the
>> loads and stores.  RewriteSingleStoreAlloca then queries that  
>> information
>> to determine if a load appears before the single store.
>>
>> I like your approach of using the use lists but I'm not sure the  
>> ordering
>> is guaranteed.  If it is, your approach is superior.
>
> I got my patch updated to work with TOT.  Here it is.  Comments  
> welcome.


Hi Dave,

Great.  I'd like to get this in, but would really like to do a profile  
first.  Could you please include a testcase?  Even if it is something  
contrived with llvm-gcc, I would really like to understand what is  
going on.

> I still prefer Nicolas' solution if his use list ordering assumption  
> is valid.

It isn't.

-Chris




More information about the llvm-dev mailing list