Displaying 7 results from an estimated 7 matches for "pbqpbuilderwithcoalesc".
2014 Sep 10
4
[LLVMdev] Leaks in PBQPBuilderWithCoalescing::build ?
Hi Lang,
In PBQPBuilderWithCoalescing::build, around line 360, we have code looking like:
…
PBQP::Vector newCosts(g.getNodeCosts(node));
addPhysRegCoalesce(newCosts, pregOpt, cBenefit);
g.setNodeCosts(node, newCosts);
…
I suspect the leak occurs around the setNodeCosts method, and I have trouble understanding how it hand...
2014 Sep 10
4
[LLVMdev] Leaks in PBQPBuilderWithCoalescing::build ?
...; pbqp_leak.diff
> <https://docs.google.com/file/d/0B0jpkch3iC_7TXFVU2hCcUpfZXM/edit?usp=drive_web>
>
>
> On Wed, Sep 10, 2014 at 3:19 PM, Arnaud A. de Grandmaison <
> arnaud.degrandmaison at arm.com> wrote:
>
>> Hi Lang,
>>
>>
>>
>> In PBQPBuilderWithCoalescing::build, around line 360, we have code
>> looking like:
>>
>>
>>
>> …
>>
>> PBQP::Vector newCosts(g.getNodeCosts(node));
>>
>> addPhysRegCoalesce(newCosts, pregOpt, cBenefit);
>>
>> g.setNodeCosts(node, newCosts);
>>
>>...
2010 Sep 21
0
[LLVMdev] Supporting Complex Register Allocation Constraints (PBQP Allocator Status Update)
...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/20100922/96cb4685/at...
2010 Sep 20
4
[LLVMdev] Supporting Complex Register Allocation Constraints (PBQP Allocator Status Update)
Hi All,
I've just committed some changes to the PBQP allocator which are designed to
make it easier to implement custom register allocation constraints. This is
a quick summary of those changes, and of the status of the PBQP allocator in
general.
First a quick bit of background:
The PBQP allocator is based on ideas described in [1]. I implemented this
algorithm (with the improved heuristic
2012 Apr 19
1
[LLVMdev] PBQP & CalcSpillWeights
...; Although I am deriving from PBQPBuilder, the PBQP seems to be coalescing
> some register copy, without taking into account that the source or dest
> reg may have different constraints. In which part of pbqp would this be
> happening ?
>
>
If you're deriving PBQPBuilder (and not PBQPBuilderWithCoalescing) then
PBQP won't attempt any coalescing, though obviously it can "get lucky" and
assign registers that are connected by a copy the same register.
Those copies shouldn't be necessary - as long as you don't have a circular
chain of paired variables (a,b,c,...,a) with all-inf...
2012 Apr 11
0
[LLVMdev] PBQP & CalcSpillWeights
Hi Lang,
The assert is not triggered any longer on my testcases :)
I however still get my wrong allocation in some non trivial cases : the
pairing constraint is not fulfilled.
I have tried to modify the 'ensure pairable' pass (the pass undoing some
of the coalescer's work) to always insert register copies for
instructions with the pairable constraint, instead of being smart and
2012 Apr 05
2
[LLVMdev] PBQP & CalcSpillWeights
Hi Lang,
Thanks a lot for taking time to look into this. I will test the fix soon and
let you know the results.
Cheers,
--
Arnaud de Grandmaison
On Tuesday, April 03, 2012 17:30:33 Lang Hames wrote:
> Hi Arnaud,
>
> Apologies for the delayed reply.
>
> Thank you for the excellent test case - it exposed a subtle bug in the
> colorability heuristic. This has been fixed in