basic hoisting

We've got this can_hoist analysis... why not use it?
I need to do some pen and paper work before I can do
this for the scalar loop, so that's TODO.

The tight part of a memset-from-uniforms loop becomes

    0x1065c70e0: vmovdqu64 %zmm0, (%rdx)
    0x1065c70e6: addl   $-0x10, %edi
    0x1065c70e9: addq   $0x40, %rdx
    0x1065c70ed: cmpl   $0xf, %edi
    0x1065c70f0: jg     0x1065c70e0

Change-Id: Iad8ee018ae65ee9f370980939a70f042ee3f9138
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274586
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
1 file changed