aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Demangle/RustDemangle.cpp
diff options
context:
space:
mode:
authorLemonBoy <thatlemon@gmail.com>2021-05-22 09:40:00 +0200
committerLemonBoy <thatlemon@gmail.com>2021-05-22 09:43:37 +0200
commitfd5cc418186ab0fc0650ec373fdf016101eba21d (patch)
tree01573e2620eefbe066d05ab7cd54b311fb79a6ec /llvm/lib/Demangle/RustDemangle.cpp
parentc9c05a91c4843c243d508c39bdfbc5e26f311af2 (diff)
downloadllvm-fd5cc418186ab0fc0650ec373fdf016101eba21d.zip
llvm-fd5cc418186ab0fc0650ec373fdf016101eba21d.tar.gz
llvm-fd5cc418186ab0fc0650ec373fdf016101eba21d.tar.bz2
[SelectionDAG] Fix argument copy elision with irregular types
D29668 enabled to avoid a useless copy of the argument value into an alloca if the caller places it in memory (as it often happens on x86) by directly forwarding the pointer to it. This optimization is illegal if the type contains padding bytes: if a truncating store into the alloca is replaced the upper bits are filled with garbage and produce code misbehaving at runtime. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D102153
Diffstat (limited to 'llvm/lib/Demangle/RustDemangle.cpp')
0 files changed, 0 insertions, 0 deletions