[PATCH] D19985: [Kryo] Use immediate #0 to zero a register
Matthias Braun via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 11 16:29:21 PDT 2016
> On Jul 11, 2016, at 4:09 PM, Haicheng Wu <haicheng at codeaurora.org> wrote:
>
> haicheng added a comment.
>
> Thank you, Matthias.
>
> Another thing about Cyclone's ZCZeroing feature is AArch64InstrInfo::isGPRZero() which I believe is only used by Cyclone. This function returns true for COPY WZR but not COPY XZR. I don't know if it is intentional or a mistake.
As far as I can see this function is only used in the cyclone scheduling model. I believe that contrary to its name it is not supposed to recognize all instructions producing zero but just the ones that the cyclone decoder recognizes as such. I currently can't find a section in the cyclone manual that mentions the And/Copy cases handled by isGPRZero() but I may be missing something or have an old version.
In any case you shouldn't worry about this function, longer term it would probably be good to find a way to implement a new class per scheduling model so we can have a custom isCheapAsAMove, isGPRZero(), etc. functions per scheduling model.
- Matthias
More information about the llvm-commits
mailing list