[llvm-branch-commits] [clang] release/20.x: [clang][CodeGen] `sret` args should always point to the `alloca` AS, so use that (#114062) (PR #127552)

Alex Voicu via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Fri Feb 21 04:13:39 PST 2025


AlexVlx wrote:

@tstellar apologies for the delay in circling back to this; here are the three options we have here, neither of which is ideal, sadly:

1. We backport this, #127528 and #128166 (if it gets approved & merged); these have to go together, and are, as you observed, a bit of a chonk;
2. We do the revert in #127771, as @arsenm suggests - my only concerns here are that it might be a rug pull for folks that might've implicitly taken a dependency on the behaviour that introduced some months ago and that the entire private-as-default hack is pretty egregious;
3. To unblock device libs on our end, I'm pretty certain it's enough to backport only the AS casting for IR args from here: <https://github.com/llvm/llvm-project/pull/114062/files#diff-cdb5ce592c0ce46a5c89e50778559033faa6ac4a53923b2eb567ad7be9a26cf2R5397> - I appreciate bespoke changes that only live in a release branch are icky, but I'll weakly retort that this is both individually sound (we probably should have been doing this ever since we moved away from typed pointers) and part of a larger change that'll land in 21 (the topic of this conversation), so perhaps less objectionable?

Personally, I don't have a strong preference, albeit I naively feel that (3) might be the safest.

https://github.com/llvm/llvm-project/pull/127552


More information about the llvm-branch-commits mailing list