[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.
Cheers,
--
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