mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-25 15:21:11 +08:00
* expr.c (expand_expr_real_1): Remove outdated comment.
From-SVN: r208740
This commit is contained in:
parent
7b8fda082f
commit
c6c2314faa
@ -1,3 +1,7 @@
|
|||||||
|
2014-03-20 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
|
* expr.c (expand_expr_real_1): Remove outdated comment.
|
||||||
|
|
||||||
2014-03-20 Jakub Jelinek <jakub@redhat.com>
|
2014-03-20 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
PR middle-end/60597
|
PR middle-end/60597
|
||||||
|
17
gcc/expr.c
17
gcc/expr.c
@ -1993,7 +1993,6 @@ emit_group_store (rtx orig_dst, rtx src, tree type ATTRIBUTE_UNUSED, int ssize)
|
|||||||
/* It is unclear if we can ever reach here, but we may as well handle
|
/* It is unclear if we can ever reach here, but we may as well handle
|
||||||
it. Allocate a temporary, and split this into a store/load to/from
|
it. Allocate a temporary, and split this into a store/load to/from
|
||||||
the temporary. */
|
the temporary. */
|
||||||
|
|
||||||
temp = assign_stack_temp (GET_MODE (dst), ssize);
|
temp = assign_stack_temp (GET_MODE (dst), ssize);
|
||||||
emit_group_store (temp, src, type, ssize);
|
emit_group_store (temp, src, type, ssize);
|
||||||
emit_group_load (dst, temp, type, ssize);
|
emit_group_load (dst, temp, type, ssize);
|
||||||
@ -10242,19 +10241,13 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode,
|
|||||||
|
|
||||||
/* If the result type is BLKmode, store the data into a temporary
|
/* If the result type is BLKmode, store the data into a temporary
|
||||||
of the appropriate type, but with the mode corresponding to the
|
of the appropriate type, but with the mode corresponding to the
|
||||||
mode for the data we have (op0's mode). It's tempting to make
|
mode for the data we have (op0's mode). */
|
||||||
this a constant type, since we know it's only being stored once,
|
|
||||||
but that can cause problems if we are taking the address of this
|
|
||||||
COMPONENT_REF because the MEM of any reference via that address
|
|
||||||
will have flags corresponding to the type, which will not
|
|
||||||
necessarily be constant. */
|
|
||||||
if (mode == BLKmode)
|
if (mode == BLKmode)
|
||||||
{
|
{
|
||||||
rtx new_rtx;
|
rtx new_rtx
|
||||||
|
= assign_stack_temp_for_type (ext_mode,
|
||||||
new_rtx = assign_stack_temp_for_type (ext_mode,
|
GET_MODE_BITSIZE (ext_mode),
|
||||||
GET_MODE_BITSIZE (ext_mode),
|
type);
|
||||||
type);
|
|
||||||
emit_move_insn (new_rtx, op0);
|
emit_move_insn (new_rtx, op0);
|
||||||
op0 = copy_rtx (new_rtx);
|
op0 = copy_rtx (new_rtx);
|
||||||
PUT_MODE (op0, BLKmode);
|
PUT_MODE (op0, BLKmode);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user