diff options
author | Reid Kleckner <reid@kleckner.net> | 2014-08-22 00:09:56 +0000 |
---|---|---|
committer | Reid Kleckner <reid@kleckner.net> | 2014-08-22 00:09:56 +0000 |
commit | c36f48f08ae9bc3560725df344427e0f08310d3e (patch) | |
tree | bb40ba0a7d35083df072457f31c5dbc96fba12be /clang/lib/CodeGen/CodeGenFunction.h | |
parent | c25146b67b74c30f909b8da5b16c9157d59033c5 (diff) | |
download | llvm-c36f48f08ae9bc3560725df344427e0f08310d3e.zip llvm-c36f48f08ae9bc3560725df344427e0f08310d3e.tar.gz llvm-c36f48f08ae9bc3560725df344427e0f08310d3e.tar.bz2 |
SROA: Handle a case of store size being smaller than allocation size
In this case, we are creating an x86_fp80 slice for a union from C where
the padding bytes may contain real data. An x86_fp80 alloca is 16 bytes,
and that's just fine. We can't, however, use regular loads and stores to
access the slice, because the store size is only 10 bytes / 80 bits.
Instead, use memcpy and memset.
Fixes PR18726.
Reviewed By: chandlerc
Differential Revision: http://reviews.llvm.org/D5012
llvm-svn: 216248
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
0 files changed, 0 insertions, 0 deletions