[PATCH] [AArch64] FPLoadBalancing: move ownership of the chain to its current accumulator register

Arnaud A. de Grandmaison arnaud.degrandmaison at arm.com
Fri Aug 29 02:48:16 PDT 2014

While experimenting with the PBQP allocator on aarch64, it triggered a bug

in AArch64A57FPLoadBalancing.cpp, where an accumulator chain could be

reference from different accumulator registers at the same time.


The attached patch fixes it.


Coming up with a simple testcase is not easy, as this highly depends on

what the register allocator is doing: this issue showed up while working

with the PBQP allocator, which produced a different allocation scheme.

A testcase would need to come up with chain starting in D[0-7], then

Moving it to D[8-15], followed by a call to a function whose regmask

clobbers the starting accumulator in D[0-7], then another use of the chain.


I also fixed some formatting and added some invariant checks while there.




Arnaud A. de Grandmaison

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140829/e2fc895e/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-AArch64-FPLoadBalancing-move-ownership-of-the-chain-.patch
Type: application/octet-stream
Size: 2853 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140829/e2fc895e/attachment.obj>

More information about the llvm-commits mailing list