[LLVMdev] Removing the bigblock register allocator.

Lang Hames lhames at gmail.com
Wed Jul 29 22:51:22 PDT 2009


Hi Roman,

> BTW, the research papers that I mentioned are not about improving
> register allocation for large blocks (which was the target in the case
> of BigBlock). They are about register allocation for general purpose
> CFGs. And they report improvements (greatly reduced number of
> load/stores for spills) over linear scan. The compilation time is also
> comparable with linear scan. So, independent of the BigBlock
> discussion they are worse looking at.

There are definitely some interesting alternatives to linear scan out
there. I'm currently working to improve our register allocation
framework, and one of our goals is to make it easier for people to
implement other allocators in LLVM. Hopefully this will encourage
contributions.

>> The problem is that bigblock is unmaintained and bitrotted.  Since noone
>> is working on it, it doesn't work, and it is a maintenance burden, I
>> think it should be removed.
>
> I see the point and have no strong opinion here. Obviously, keeping
> something unmaintained in the mainline just because it could be
> potentially improved does not make too much sense. After all, if there
> will be such an improvement of the BigBlock, it can be integrated back
> into the mainline again.

Agreed. If there haven't been any serious objections to the removal by
tomorrow I'll go ahead and kill it off.

Cheers,
Lang.




More information about the llvm-dev mailing list