OSDN Git Service

* tree.h (maybe_fold_offset_to_component_ref): Remove.
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 1 May 2007 11:18:01 +0000 (11:18 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 1 May 2007 11:18:01 +0000 (11:18 +0000)
commit3b45913ddce51691a9cad04654c3d4a40c5d8799
treebd72595e8b02806708c943137cbe687e4482667d
parent6313ae8b68b04d6bbd75335ad6c2dc7be251bf60
* tree.h (maybe_fold_offset_to_component_ref): Remove.
(maybe_fold_offset_to_reference): Declare.
* fold-const.c (fold_unary): Do not fold
(type *)&A into &A->field_of_type_and_offset_0
* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): When base type
size is unknown, give up.
(maybe_fold_offset_to_component_ref): Ignore firelds with unknown
offsets.
(maybe_fold_offset_to_reference): New.
(maybe_fold_stmt_indirect): Use it.
(fold_stmt_r): Fold (type *)&A+offset into A->field_if_type_and_offset.
* gimplify.c (gimplify_conversion): Canonicalize conversions to
field references.
(gimplify_expr): Likewise for plus_expr.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124323 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/fold-const.c
gcc/gimplify.c
gcc/tree-ssa-ccp.c
gcc/tree.h