[clang] [llvm] Adding splitdouble HLSL function (PR #109331)
Justin Bogner via cfe-commits
cfe-commits at lists.llvm.org
Wed Oct 9 19:21:12 PDT 2024
================
@@ -4681,6 +4682,14 @@ void CallArg::copyInto(CodeGenFunction &CGF, Address Addr) const {
IsUsed = true;
}
+void CodeGenFunction::EmitWritebacks(CodeGenFunction &CGF,
+ const CallArgList &Args) {
+ if (getTarget().getCXXABI().areArgsDestroyedLeftToRightInCallee())
+ std::reverse_iterator(Args.writebacks().begin());
----------------
bogner wrote:
This looks broken - creating a `reverse_iterator` and not doing anything with it doesn't reverse anything. I think you meant `Args.reverseWritebacks()` here, and we clearly need to exercise this in tests.
That said, the `Args` argument here is const for a reason - I don't think it's appropriate to be modifying the `CallArgList` in a function that just says it's emitting writebacks. Is this really the right place to do this?
Finally, it's a bit of a code smell to have a public member function that just calls out to a `static` function like this. It might be better to remove the `emitWritebacks` function and only have `CodeGenFunction::EmitWritebacks` if we need to access this outside of the file.
https://github.com/llvm/llvm-project/pull/109331
More information about the cfe-commits
mailing list