[LLVMdev] Predictive Commoning / Scalar Replacement
Daniel Berlin
dberlin at dberlin.org
Sat Dec 1 20:38:24 PST 2012
There is a non-internal techpub for this somewhere, though it escapes me.
My recollection is that TPO (the middle end of XLC) had moved on to
2nd order predictive quite a while ago.
At least, the implementation I saw 6+ years ago in TPO was much closer
to what is described in the 2nd order paper.
On Sat, Dec 1, 2012 at 8:36 PM, Krzysztof Parzyszek
<kparzysz at codeaurora.org> wrote:
> On 12/1/2012 7:10 PM, Nick Lewycky wrote:
>>
>>
>> I don't know of any, but I was wondering if you could point me to the
>> paper that describes predictive commoning? I could only find the
>> second-order predictive commoning paper, which if I understand correctly
>> is a much newer and different algorithm.
>
>
> I think the original paper was some internal IBM publication.
>
> The idea is basically to reuse values loaded in previous loop iterations.
>
> For example
> for (i) {
> x += 2*t[i-1] - t[i+1];
> }
> would become
> for (i) {
> tm1 = tz; // t-minus-1 = t-zero
> tz = tp1; // t-zero = t-plus-1
> tp1 = t[i+1]; // t-plus-1 = load
> x += 2*tm1 - tp1;
> }
>
> -Krzysztof
>
>
> --
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by
> The Linux Foundation
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
More information about the llvm-dev
mailing list