[PATCH] D131562: [AArch64][SME] Document SME ABI implementation in LLVM

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 15 10:12:00 PDT 2022


sdesmalen added a comment.

In D131562#3787300 <https://reviews.llvm.org/D131562#3787300>, @efriedma wrote:

>> For the purpose of LLVM IR it is sufficient to support only a single vscale as long as the input IR is restricted to not pass/return (pointers to) scalable vectors between such functions and any streaming mode changes happen only on function-call boundaries.
>
> Sure, that makes sense: supporting multiple different scales within a function would be complicated.
>
> But you still need a LangRef change.  Interprocedural optimizations need to know that "vscale" computed in the callee might be different from "vscale" computed in the caller.  As a practical matter, it probably affects very few optimizations, but certain optimizations might need to be aware of it.  (At the moment, this is most likely to be relevant for GEP constant expressions, since we don't really do interprocedural hoisting or sinking.  But in theory it could also be relevant for calls to llvm.vscale.)

Thanks, I think that's fair enough, we can tone down the wording in the LangRef a bit.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D131562/new/

https://reviews.llvm.org/D131562



More information about the llvm-commits mailing list