JonPsson1 wrote: > I'm not sure I really follow what's going on here. Can you update the PR > description and explain what's going on here, what's the motivation of doing > this, and what's the plan of using them?
So on some targets, like SystemZ, any argument passed (or returned) is per the C calling conventioned expected to be extended to the full register width. So passing an i32 requires an extension to i64. So when a call is emitted somewhere, it is important (for legality reasons) that such attributes are added. If missing, wrong-code problems might result as the receiving end is allowed to assume that such extensions are made (i.e. can optimize them away on their side if present). This is a general concern across multiple parts of the compiler, see https://github.com/llvm/llvm-project/pull/223755 where other patches are listed in completely unrelated areas but with the same concern of the arguments. https://github.com/llvm/llvm-project/pull/232938 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
