[PATCH] D122594: [ArgPromotion] Update min-legal-vector-width when do promotion

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 1 12:05:53 PDT 2022


efriedma added a comment.

> In a word, we don't have ABI for arbitrary types. We should call it ABI only for types defined on ABI documents.

Not sure I agree with this... but I'll refer to the "ABI for types which aren't specified in the ABI document" as "unstable ABI".  Anyway, it's really beside the point.  My point was that we need some way ensure that all function/translation units in a given program agree on the "unstable ABI".

Due to the way "min-legal-vector-width" propagates, depending on it to determine the ABI inherently leads to weird results.  For example, in general, it isn't legal to propagate "min-legal-vector-width" like this patch is doing: if a function contains any "unstable ABI" calls, or is itself "unstable ABI", it's illegal to increase its "min-legal-vector-width".

Hence my proposal for "abi-vector-width"; if the "unstable ABI" handling is determined by a separate attribute, the caller and callee aren't forced to have the same "min-legal-vector-width".


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D122594



More information about the llvm-commits mailing list