[PATCH] D60801: [X86] Disable argument copy elision for arguments passed via pointers
Reid Kleckner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 18 13:50:53 PDT 2019
rnk added a comment.
The code change seems reasonable to me. I looked at it for a while, but I struggled to find a way to simplify it.
================
Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:3013-3014
// This is an argument in memory. We might be able to perform copy elision.
- if (Flags.isCopyElisionCandidate()) {
+ // Unless its passed by pointer.
+ if (Flags.isCopyElisionCandidate() &&
----------------
I think this comment needs to be reworked, since things aren't as simple as I thought they were. Something like:
// If the argument is passed directly in memory without any extension, then we can perform copy elision.
// Large vector types, for example, may be passed indirectly by pointer.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D60801/new/
https://reviews.llvm.org/D60801
More information about the llvm-commits
mailing list