rnk added inline comments.
================ Comment at: llvm/docs/LangRef.rst:1220 +``alignstack(<n>)`` + This indicates the alignment that should be considered by the backend when + assigning this parameter to a stack slot during calling convention ---------------- chill wrote: > rnk wrote: > > This seems like you are introducing a new meaning to `alignstack`, which > > according to the comments, only affects function SP alignment, not > > parameter alignment. > > > > I'm assuming the reason you can't use the regular `align` attribute is that > > it is overloaded to mean two things: the alignment of the pointer when > > applied to a pointer, and the alignment of the argument memory when that > > pointer argument is marked `byval`. If you want to resolve this ambiguity, > > it seems like something that should be discussed on llvm-dev with a wider > > audience. > Sorry, I couldn't quite get it, do you suggest we should be using the `align` > attribute instead of `alignstack`, if there are no > (major) objections on the llvm-dev list? > > It certainly makes sense to me to use `align` as it already pertains to > individual argument alignment (even though it's for pointers only now). > Mostly I think I meant that this will be a big change in the meaning of either the `align` or the `alignstack` attributes, and that should be hashed out on llvm-dev. Right now `align` is kind of a hybrid between an optimization annotation attribute, like `dereferenceable` or `nonnull`, and an ABI attribute, like `byval` or `inreg`. When `align` is used with `byval`, it affects argument memory layout. When `byval` is not present, it is just an optimizer hint. IMO, ideally, we should separate those two roles. I should be able to control the alignment of the memory used to pass a pointer argument, at the same time that I annotate which low bits of the pointer are known to be zero. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75903/new/ https://reviews.llvm.org/D75903 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits