[llvm-commits] [llvm] r117174 - in /llvm/trunk: include/llvm/CodeGen/LinkAllCodegenComponents.h include/llvm/CodeGen/Passes.h lib/CodeGen/CMakeLists.txt lib/CodeGen/LiveIntervalUnion.cpp lib/CodeGen/LiveIntervalUnion.h lib/CodeGen/RegAllocBase.h

Andy Trick atrick at apple.com
Fri Oct 22 17:00:48 PDT 2010


Thanks for upholding the process. We had quite a lot of discussion offline. The incremental checkins are needed because I'm collaborating with others on the splitting framework. I would have been happy send out my pseudo-code first, but the llvm developers were mainly interested in reviewing working code. I don't think there are deep issues to discuss with this checkin. After I checkin a more interesting algorithm and can post results, it would be nice to start a thread on llvmdev.

-Andy

On Oct 22, 2010, at 4:35 PM, Eli Friedman wrote:

> On Fri, Oct 22, 2010 at 4:09 PM, Andrew Trick <atrick at apple.com> wrote:
>> Author: atrick
>> Date: Fri Oct 22 18:09:15 2010
>> New Revision: 117174
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=117174&view=rev
>> Log:
>> This is a prototype of an experimental register allocation
>> framework. It's purpose is not to improve register allocation per se,
>> but to make it easier to develop powerful live range splitting. I call
>> it the basic allocator because it is as simple as a global allocator
>> can be but provides the building blocks for sophisticated register
>> allocation with live range splitting.
>> 
>> A minimal implementation is provided that trivially spills whenever it
>> runs out of registers. I'm checking in now to get high-level design
>> and style feedback. I've only done minimal testing. The next step is
>> implementing a "greedy" allocation algorithm that does some register
>> reassignment and makes better splitting decisions.
> 
> Per the commit guidelines, new features shouldn't be committed without
> discussion; please revert.
> 
> -Eli





More information about the llvm-commits mailing list