[LLVMdev] Supporting Complex Register Allocation Constraints (PBQP Allocator Status Update)

Lang Hames lhames at gmail.com
Wed Sep 22 21:31:15 PDT 2010


Hi All,

A quick note for any PBQP users out there: As of r114626 the new
PBQPBuilderbased problem construction process is the default. I'll
leave the old
(internal-to-the-allocator) construction process in place for a few days
while everything's being tested, but assuming there are no serious
regressions it will be removed soon. You don't need to do anything, but
during this transition period if your application starts breaking you can
pass -pbqp-builder=false to llc/lli to get the old construction process and
see if that fixes things. If it does it would indicate a problem with the
new builder code and you should file a bug asap.

Anyone who's actually tempted to try adding custom constraints: The
allocator has been moved back out of the RegAllocPBQP.h header to hide the
gory details. To construct an instance you can just call
createPBQPRegisterAllocator and pass your builder in.

Cheers,
Lang.

On Wed, Sep 22, 2010 at 12:02 AM, Lang Hames <lhames at gmail.com> wrote:

> * This claim is only partially tested, but I'm running the allocator right
>> now with the base constraints plus an extension which adds coalescing costs
>> and it's just passed CINT2006 without error. Not bad given that the
>> coalescing extension only took a couple of hours to write
>>
>
>  Following up on this footnote - The PBQPBuilderWithCoalescing builder is
> now in the mainline. If anyone's looking for an example of how to add custom
> constraints this is a good one.
>
> Cheers,
> Lang.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100923/5d415f72/attachment.html>


More information about the llvm-dev mailing list