Commit 8d8c9ba9 by Richard Kenner

(get_inner_reference): Delete using alternate mode for bitfield; we

don't make bitfields anymore if not needed.

From-SVN: r12398
parent 4ae9b5f5
......@@ -4240,11 +4240,9 @@ get_inner_reference (exp, pbitsize, pbitpos, poffset, pmode,
constant = pos, var = integer_zero_node;
*pbitpos += TREE_INT_CST_LOW (constant);
if (var)
offset = size_binop (PLUS_EXPR, offset,
size_binop (EXACT_DIV_EXPR, var,
size_int (BITS_PER_UNIT)));
offset = size_binop (PLUS_EXPR, offset,
size_binop (EXACT_DIV_EXPR, var,
size_int (BITS_PER_UNIT)));
}
else if (TREE_CODE (exp) == ARRAY_REF)
......@@ -4296,20 +4294,6 @@ get_inner_reference (exp, pbitsize, pbitpos, poffset, pmode,
exp = TREE_OPERAND (exp, 0);
}
/* If this was a bit-field, see if there is a mode that allows direct
access in case EXP is in memory. */
if (mode == VOIDmode && *pbitsize != 0 && *pbitpos % *pbitsize == 0)
{
mode = mode_for_size (*pbitsize,
(TYPE_MODE (TREE_TYPE (orig_exp)) == BLKmode
? MODE_INT
: GET_MODE_CLASS (TYPE_MODE
(TREE_TYPE (orig_exp)))),
0);
if (mode == BLKmode)
mode = VOIDmode;
}
if (integer_zerop (offset))
offset = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment