aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/expr.c14
2 files changed, 8 insertions, 11 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0128a28..6f40fa1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2012-04-23 Martin Jambor <mjambor@suse.cz>
+
+ * expr.c (expand_expr_real_1): Remove setting parent's alias set for
+ temporaries created for a bitfield (reverting revision 122014).
+
2012-04-23 Richard Guenther <rguenther@suse.de>
* tree-vect-loop-manip.c (slpeel_add_loop_guard): Gimplify
diff --git a/gcc/expr.c b/gcc/expr.c
index 479dacf..81112da 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -9903,19 +9903,11 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode,
necessarily be constant. */
if (mode == BLKmode)
{
- HOST_WIDE_INT size = GET_MODE_BITSIZE (ext_mode);
rtx new_rtx;
- /* If the reference doesn't use the alias set of its type,
- we cannot create the temporary using that type. */
- if (component_uses_parent_alias_set (exp))
- {
- new_rtx = assign_stack_local (ext_mode, size, 0);
- set_mem_alias_set (new_rtx, get_alias_set (exp));
- }
- else
- new_rtx = assign_stack_temp_for_type (ext_mode, size, 0, type);
-
+ new_rtx = assign_stack_temp_for_type (ext_mode,
+ GET_MODE_BITSIZE (ext_mode),
+ 0, type);
emit_move_insn (new_rtx, op0);
op0 = copy_rtx (new_rtx);
PUT_MODE (op0, BLKmode);