================ @@ -324,14 +326,15 @@ MaybeAlign getAlign(const Function &F, unsigned Index) { F.getAttributes().getAttributes(Index).getStackAlignment()) return StackAlign; - // If that is missing, check the legacy nvvm metadata - std::vector<unsigned> Vs; - bool retval = findAllNVVMAnnotation(&F, "align", Vs); - if (!retval) - return std::nullopt; - for (unsigned V : Vs) - if ((V >> 16) == Index) - return Align(V & 0xFFFF); + // check the legacy nvvm metadata only for the return value since llvm does + // not support stackalign attribute for this. + if (Index == 0) { + std::vector<unsigned> Vs; + if (findAllNVVMAnnotation(&F, "align", Vs)) ---------------- AlexMaclean wrote:
Yea, I agree the NVVM annotation APIs could be cleaned up significantly, hopefully this work will remove the need for them altogether though. https://github.com/llvm/llvm-project/pull/119261 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits