RFR: Implement PrefetchAllocate for AArch64
Andrew Dinn
adinn at redhat.com
Tue Jun 20 14:20:34 UTC 2017
I just submitted a PR for $SUBJECT
https://github.com/graalvm/graal/pull/228
The implementation is complete and functional and all unit tests pass so
I think it is ready to be integrated (full details in the PR).
One word of warning is in order (again full details are in the PR). I
expected all prefetch instructions to use a base register plus small
displacement (3, 4 and 5 * cache line size). However, it appears that
some eager constant coalescing in FixReads.replaceConstantInputs can
lead to prefetch instructions being generated with offsets incremented
by the allocated object size. If that size is large this can foil
displacement embedding, forcing some ugly constant loads that are
actually easily avoidable. I think this is a problem in FixReads, which
seems to be pre-empting decisions better left to the AddressLowering
implementation. I would be interested to hear opinions from other devs.
regards,
Andrew Dinn
-----------
Senior Principal Software Engineer
Red Hat UK Ltd
Registered in England and Wales under Company Registration No. 03798903
Directors: Michael Cunningham, Michael ("Mike") O'Neill, Eric Shander
More information about the graal-dev
mailing list