diff options
author | Richard Biener <rguenther@suse.de> | 2021-02-26 08:45:36 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2021-02-26 12:34:27 +0100 |
commit | c173346aac4a66ad3747f380f2f0c97d2dbf8973 (patch) | |
tree | d16ea8891b077209bea6a72523af2f259f0499fd /gcc/gcse.c | |
parent | 0f161cc8494cf7283a16fa9ebbcf8fd121bab68d (diff) | |
download | gcc-c173346aac4a66ad3747f380f2f0c97d2dbf8973.zip gcc-c173346aac4a66ad3747f380f2f0c97d2dbf8973.tar.gz gcc-c173346aac4a66ad3747f380f2f0c97d2dbf8973.tar.bz2 |
middle-end/99281 - avoid bitfield stores into addressable types
This avoids doing bitfield stores into the return object of calls
when using return-slot optimization and the type is addressable.
Instead we have to pass down the original target RTX to the call
expansion which otherwise tries to create a new temporary.
2021-02-26 Richard Biener <rguenther@suse.de>
PR middle-end/99281
* expr.c (store_field): For calls with return-slot optimization
and addressable return type expand the store directly.
* g++.dg/pr99218.C: New testcase.
Diffstat (limited to 'gcc/gcse.c')
0 files changed, 0 insertions, 0 deletions