[PATCH] D83417: GlobalISel: Restructure argument lowering loop in handleAssignments
Amara Emerson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 10 16:18:48 PDT 2020
aemerson added a comment.
I don't think we should be changing the extending behavior for memlocs.
Just for the varargs case in Darwin, there's lots of code out there which incorrectly try to interpret a sub 64bit incoming varargs parameter as a 64 bit value. Although it should be technically correct to emit a smaller store, what happens in practice is that this code breaks for very hard to detect reasons (i.e. you no longer get a free zeroing of the upper bits of the stack slot). In arm64 we could force this to always explicitly zero-extend to 64 bits but that incurs a penalty at the call site.
It's unfortunate but copying the DAG behavior here is likely to cause less pain.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D83417/new/
https://reviews.llvm.org/D83417
More information about the llvm-commits
mailing list